Skip to main content

Advanced Application DevelopmentLaajuus (5 cr)

Code: TE00BR90

Credits

5 op

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Enrollment

02.07.2024 - 12.09.2024

Timing

12.09.2024 - 13.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
Degree programmes
  • Degree Programme in Business Information Technology
Teachers
  • Tuomo Helo
Groups
  • PTIETS22swis
    PTIETS22 Software Development and Information Systems
  • PTIETS22sepm
    PTIETS22 Software Engineering and Project Management

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Materials

External course video material is used in the course. This causes some costs for the student.

Other material on the Internet.

Teaching methods

- watching the course video and reading other material
- participating in the lectures
- programming together with instructor
- programming alone
- using emulator and other tools; configuring
- participating in the teamwork

Exam schedules

No exam.

Completion alternatives

The student can complete the course by demonstrating his knowledge and skills of the subjects of the course, for example with the work samples they have made. However, this must be agreed with the instructor during the first 4 weeks of the course.

The student can include a corresponding course taken elsewhere at some educational institution that is acceptable by our educational institution. This happens via AHOT process. Also this matter should be initiated immediately at the beginning of the course.

Student workload

40 h videos, reading
26 h contact lessons
4 h Presenting the teamwork and following the presentations of other groups onsite
39 h teamwork
26 h personal exercises

Content scheduling

Programming mobile Apps with React Native

The contents:

What is React Native?
The basics of React Native
Debugging
Styles and layouts
Navigation
App-WIde State Management
Handling user input
Sending HTTP requests
Authentication
Publishing

Expo and other tools.

6 personal assignments.
Teamwork (not compulsory) : Implementing a native mobile app

Evaluation scale

H-5

Assessment methods and criteria

The maximum number of points available from the course is 120.

Of that maximum, 60 points comes from personal exercises, 40 points from teamwork, and 20 points from being present on the lectures.

The course evaluation scale is the following:

Min points -> Grade

0 -> 0
40 -> 1
56 -> 2
72 -> 3
88 -> 4
104 -> 5

Please note this additional condition: You must get at least 25 points from the personal exercises.

The points from being present are calculated using the following scale:

Percentage of being present on the normal lectures -> points

30% -> 5
45% ->10
60%->15
80%->20

Please also note that by being present you can earn some of the points available from the individual exercises working together with the instructor.

You must be present in demonstration. It does not accumulate your points of being present. If you are not present in the demonstrations, then there is a reduction of 50 % of the points of your returned exercises on these demos. There is also a reduction of 50 % for exercises that are returned late. No exercises are accepted after the end date of the course implementation. After the end date of the course, no substitute or supplementary assignments will be given either. The student must therefore make sure that they collect enough points from different performances during the time of the course.

Assessment criteria, fail (0)

The student has not managed to accumulate enough points to pass the course during the time of the course. Consequently, they have not been able to demonstrate the kind of competence on the basis of which an acceptable grade could be given.

Assessment criteria, satisfactory (1-2)

The student knows what the native mobile apps are and knows issues related to their development
The student knows the basics of React Native
The student can implement a simple React Native App
The student knows some of the key tools used in JavaScript programming
The student knows some main tools used in React Native development

Assessment criteria, good (3-4)

The student knows what the native mobile apps are and knows issues related to their development
The student masters the basics of React Native
The student can implement a React Native App and utilize some of the React Native libraries
The student can search information to develop their mobile application skills and to solve problems
The student can utilize some key tools used in React Native development
The student can work in a mobile app development project

Assessment criteria, excellent (5)

The student knows what the native mobile apps are and knows extensively issues related to their development
The student masters extensively the basics React Native
The student can efficiently implement a React Native App and utilize the React Native libraries
The student can implement modular React Native Apps
The student can efficiently search information to develop their mobile application skills and to solve problems
The student can utilize key tools used in React Native development
The student can show initiative and work efficiently in different roles in a mobile app development project from the requirement collection to publishing

Enrollment

24.07.2024 - 12.09.2024

Timing

02.09.2024 - 18.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Ali Khan
Groups
  • PTIVIS21O
    Software Engineering and Project Management

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Materials

Text books: Course is based on:

"Spring Boot in Action" by Craig Walls:
This book provides a comprehensive guide to building web applications, including RESTful web services, using Spring Boot. It covers the fundamentals of Spring Boot and how to create RESTful APIs with it.

"Spring Microservices in Action" by John Carnell:
While this book focuses on microservices architecture, it extensively covers creating RESTful APIs with Spring Boot as a fundamental part of building microservices. It's a great choice if you're interested in microservices-based RESTful services.

"Mastering Spring Boot 2.0" by Dinesh Rajput:
This book covers advanced topics related to Spring Boot, including RESTful web services. It's suitable for those who have a basic understanding of Spring Boot and want to dive deeper into building RESTful APIs.

"Spring REST" by Balaji Varanasi and Sudha Belida:
This book, mentioned earlier in the context of RESTful web services in general, is also a good resource if you're specifically interested in using Spring for building RESTful APIs.

"Building RESTful Web Services with Spring 5" by Ludovic Dewailly and Alexandre Chapellon:
This book focuses on Spring 5 and covers building RESTful web services using the latest features of the Spring framework, making it a valuable resource for staying up-to-date with Spring technology.

"Spring Boot 2.0 Cookbook" by Alex Antonov:
This book provides practical recipes for building various types of applications with Spring Boot, including RESTful web services. It's a hands-on guide with real-world examples.

More course material and assignments implementation instructions will be provided during learning period.

Teaching methods

- Weekly face-to-face meetings with lectures and small group work
- Learning by doing and experimenting (Implementation assignments, project work)
- Small group work and peer learning
- Self-study material and FLIP classroom

Exam schedules

No exam

International connections

Learning by doing and FLIP classrooms

Completion alternatives

Ask the teacher about possible alternative methods of completion

Student workload

Contact hours
- Course introduction: 3 hours
- 13 times 3h theory and practice: 13 x 3h = 39 hours
- FLIP classroom 7 X 2h = 14

Home work:
- Working with assignments: approximately 80 hours

Total: approximately 135 hours

Content scheduling

The course content is divided into four learning objectives(CLOs):

CLO1 Develop applications interacting with cloud-based/regular SQL databases using the latest ORM frameworks:
Database Connectivity using JDBC
1.1 Create a database connection
1.2 Create Statement Objects
1.3 Perform SQL Commands
1.4 Manipulate databases

Database Connectivity using Spring Boot Data JPA
1.5 Implement Database connectivity using Spring Boot Data JPA
1.6 Manipulate persistent data using Spring Boot Data JPA

NoSQL Database Connectivity using ORM
1.7 Compare JSON with XML
1.8 Implement a NoSQL Database connectivity using Spring Boot Data JPA

CLO2 Apply services architecture to implement REST based web services and micro services:
Web services and SOA (Service Oriented Architecture) (optional)
2.1 Explain SOA advantages and Principles
2.2 Explain the limitations of software capabilities
2.3 Implement SOAP Web services

Backend web development RESTful web services
2.4 Introduce the Representational State Transfer (REST)
2.5 Use HTTP Methods for CRUD operations
2.6 Analyze HTTP Status Codes

RESTful web services
2.7 Configure Spring Boot Application
2.8 Create RESTful web services using Spring Boot Framework
2.9 Connect RESTful web services using Spring Boot Framework with a database
2.10 Implement entities, JPA Repository, and controllers
2.11 Build a Restful API
2.12 Test Restful API

CLO3 Analyze responsive web apps using latest UI frameworks to interact with web services:
Angular as Front-End framework
3.1 Introduce Angular Components
3.2 Implement Angular Services
3.3 Analyze an application that consumes the REST API Web service

CLO4 Deploy micro services using Dockers:
Service Virtualization Tools
4.1 Explain Service Virtualization
4.2 Introduce Docker
4.3 Create Docker Container
4.4 Deploy Application in Docker



We will use the following languages, protocols and tools:
Eclipse
MySQL
NodeJS
Spring boot
JPA
JSON
XML
REST
Angular (HTML, CSS, TS)
Docker

Further information

Course material and assignments during learning period.

Evaluation scale

H-5

Assessment methods and criteria

Assignments:
Individual assignments: 80 points
The group project work: 20 points.

The assignments must be returned by the deadline to get the points. The assignments returned after the deadline will give you only half of the points.

Demonstrations of exercises during the contact session is mandatory without demonstration you will lose 50% of your marks.

Assessment criteria, fail (0)

0-49 (0)

Assessment criteria, satisfactory (1-2)

50-59 (1)
60-69 (2)

Assessment criteria, good (3-4)

70-79 (3)
80-89 (4)

Assessment criteria, excellent (5)

90-100 (5)

Enrollment

01.06.2023 - 14.09.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
Seats

15 - 35

Teachers
  • Tuomo Helo
Groups
  • PTIETS21swis
    PTIETS21 Software Development and Information Systems

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Materials

Will be defined here when the course implementation starts.

Exam schedules

No exam.

Student workload

40 h videos, reading
26 h contact lessons
40 h teamwork
26 h personal exercises

Content scheduling

The contents:

What is React Native?
The basics of React Native
Debugging
Styles and layouts
Navigation
App-WIde State Management
Handling user input
Sending HTTP requests
Authentication
Publishing

Expo and other tools.

6 personal assignments.
Teamwork (not compulsory) : Implementing an App

Evaluation scale

H-5

Assessment methods and criteria

6 personal assignments: 60 points
The teamwork: 40 points.

The assignments must be returned by the deadline to get the points. The student must participate in the demonstrations. The assignments returned after the deadline and/or without participating in the demos will give only half of the points.

The student must get at least 30 points (of which at least 25 from the personal assignments) to pass the course.

The grading scale (points -> grade):

30 points -> 1
50 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

26.07.2023 - 14.09.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

20 - 70

Teachers
  • Ali Khan
Scheduling groups
  • Group 1 (Size: 25. Open UAS: 0.)
  • Group 2 (Size: 25. Open UAS: 0.)
Groups
  • ICT_MOD_UPV_23
    ICT_MOD_UPV_23
  • PTIVIS20O
    Software engineering and Project Management
Small groups
  • Group 1
  • Group 2

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Materials

Text books: Course is based on:

"Spring Boot in Action" by Craig Walls:
This book provides a comprehensive guide to building web applications, including RESTful web services, using Spring Boot. It covers the fundamentals of Spring Boot and how to create RESTful APIs with it.

"Spring Microservices in Action" by John Carnell:
While this book focuses on microservices architecture, it extensively covers creating RESTful APIs with Spring Boot as a fundamental part of building microservices. It's a great choice if you're interested in microservices-based RESTful services.

"Mastering Spring Boot 2.0" by Dinesh Rajput:
This book covers advanced topics related to Spring Boot, including RESTful web services. It's suitable for those who have a basic understanding of Spring Boot and want to dive deeper into building RESTful APIs.

"Spring REST" by Balaji Varanasi and Sudha Belida:
This book, mentioned earlier in the context of RESTful web services in general, is also a good resource if you're specifically interested in using Spring for building RESTful APIs.

"Building RESTful Web Services with Spring 5" by Ludovic Dewailly and Alexandre Chapellon:
This book focuses on Spring 5 and covers building RESTful web services using the latest features of the Spring framework, making it a valuable resource for staying up-to-date with Spring technology.

"Spring Boot 2.0 Cookbook" by Alex Antonov:
This book provides practical recipes for building various types of applications with Spring Boot, including RESTful web services. It's a hands-on guide with real-world examples.

More course material and assignments implementation instructions will be provided during learning period.

Teaching methods

- Weekly face-to-face meetings with lectures and small group work
- Learning by doing and experimenting (Implementation assignments, project work)
- Small group work and peer learning
- Self-study material and FLIP classroom

International connections

Learning by doing and FLIP classrooms

Completion alternatives

Ask the teacher about possible alternative methods of completion

Student workload

135h

Content scheduling

The course content is divided into four learning objectives(CLOs):

CLO1 Develop applications interacting with cloud-based/regular SQL databases using the latest ORM frameworks:
Database Connectivity using JDBC
1.1 Create a database connection
1.2 Create Statement Objects
1.3 Perform SQL Commands
1.4 Manipulate databases

Database Connectivity using Spring Boot Data JPA
1.5 Implement Database connectivity using Spring Boot Data JPA
1.6 Manipulate persistent data using Spring Boot Data JPA

NoSQL Database Connectivity using ORM
1.7 Compare JSON with XML
1.8 Implement a NoSQL Database connectivity using Spring Boot Data JPA

CLO2 Apply services architecture to implement REST based web services and micro services:
Web services and SOA (Service Oriented Architecture) (optional)
2.1 Explain SOA advantages and Principles
2.2 Explain the limitations of software capabilities
2.3 Implement SOAP Web services

Backend web development RESTful web services
2.4 Introduce the Representational State Transfer (REST)
2.5 Use HTTP Methods for CRUD operations
2.6 Analyze HTTP Status Codes

RESTful web services
2.7 Configure Spring Boot Application
2.8 Create RESTful web services using Spring Boot Framework
2.9 Connect RESTful web services using Spring Boot Framework with a database
2.10 Implement entities, JPA Repository, and controllers
2.11 Build a Restful API
2.12 Test Restful API

CLO3 Analyze responsive web apps using latest UI frameworks to interact with web services:
Angular as Front-End framework
3.1 Introduce Angular Components
3.2 Implement Angular Services
3.3 Analyze an application that consumes the REST API Web service

CLO4 Deploy micro services using Dockers:
Service Virtualization Tools
4.1 Explain Service Virtualization
4.2 Introduce Docker
4.3 Create Docker Container
4.4 Deploy Application in Docker



We will use the following languages, protocols and tools:
Eclipse
MySQL
NodeJS
Spring boot
JPA
JSON
XML
REST
Angular (HTML, CSS, TS)
Docker

Further information

Course material and assignments during learning period.

Evaluation scale

H-5

Assessment methods and criteria

Personal assignments:
6 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points. The assignments returned after the deadline will give you only half of the points.

Assessment criteria, fail (0)

0-49 (0)

Assessment criteria, satisfactory (1-2)

50-59 (1)
60-69 (2)

Assessment criteria, good (3-4)

70-79 (3)
80-89 (4)

Assessment criteria, excellent (5)

90-100 (5)

Enrollment

03.10.2022 - 30.01.2023

Timing

03.11.2022 - 23.03.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

20 - 40

Teachers
  • Golnaz Sahebi
  • Ali Khan
Groups
  • PTIETS20swis
    PTIETS20 Software Development and Information Security

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Materials

JavaScript Everywhere: Building Cross-Platform Applications with GraphQL, React, React Native, and Electron

by Adam D. Scott | Feb 25, 2020

The chapters from 18 to 20 will be skipped.

The book is (at the course beginning) available In Ebook Central.

Content scheduling

Contents:

During this course
1) a backend web server with GrahpQL API is implemented together with related
2) React based web client and
3) React Native based mobile client.

In this order.

Also an authentication process is implemented. Attention is paid for the architecture of the solution.

In the teamwork the students can elaborate more deeply on the subject by creating their own web site with mobile access.

The instructors will provide with one teamwork subject, but the students can select a different subject as long as it satisfies the requirements set in the teamwork commission and utilizes GraphQL and React Native.

Technology:

- JavaScript
- Node.js
- Express.js web framework
- GraphQL API with Apollo
- GraphQL Playground
- MongoDB database with Mongoose
- JSON Web Tokens
- React
- React native


Contact lessons: Theory, programming together, demos and some support to working in teams.

6 personal assignments:

A teamwork project (Not compulsory)

Evaluation scale

H-5

Assessment methods and criteria

6 personal assignments: 60 points
The teamwork: 40 points.

The assignments must be returned by the deadline to get the points. The student must also participate in the demonstration to get the points.

The assignments returned after the deadline and/or without participating in the demos will give only half of the points.

The student must get at least 30 points (of which at least 25 from the personal assignments) to pass the course.

The grading scale (points -> grade):

30 points -> 1
50 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

20.07.2022 - 08.09.2022

Timing

29.08.2022 - 16.12.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
  • English
Seats

25 - 40

Degree programmes
  • Degree Programme in Business Information Technology
Teachers
  • Tuomo Helo
Scheduling groups
  • SWIS (Size: 35. Open UAS: 0.)
  • SEPM (Size: 35. Open UAS: 0.)
Groups
  • PTIETS20sepm
    PTIETS20 Software engineering and Project Management
Small groups
  • SWIS
  • SEPM

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Materials

JavaScript Everywhere: Building Cross-Platform Applications with GraphQL, React, React Native, and Electron

by Adam D. Scott | Feb 25, 2020

The chapters from 18 to 20 will be skipped.

The book is (at the course beginning) available In Ebook Central.

Content scheduling

Contents:

During this course
1) a backend web server with GrahpQL API is implemented together with related
2) React based web client and
3) React Native based mobile client.

In this order.

Also an authentication process is implemented. Attention is paid for the architecture of the solution.

In the teamwork the students can elaborate more deeply on the subject by creating their own web site with mobile access.

The instructors will provide with one teamwork subject, but the students can select a different subject as long as it satisfies the requirements set in the teamwork commission and utilizes GraphQL and React Native.

Technology:

- JavaScript
- Node.js
- Express.js web framework
- GraphQL API with Apollo
- GraphQL Playground
- MongoDB database with Mongoose
- JSON Web Tokens
- React
- React native
- Expo

Contact lessons: Theory, programming together, demos and some support to working in teams.

6 personal assignments:

A teamwork project (Not compulsory)

Evaluation scale

H-5

Assessment methods and criteria

6 personal assignments: 60 points
The teamwork: 40 points.

The assignments must be returned by the deadline to get the points. The student must also participate in the demonstration to get the points.

The assignments returned after the deadline and/or without participating in the demos will give only half of the points.

The student must get at least 30 points (of which at least 25 from the personal assignments) to pass the course.

The grading scale (points -> grade):

30 points -> 1
50 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

30.07.2022 - 09.09.2022

Timing

29.08.2022 - 22.12.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
  • English
Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Tuomo Helo
  • Ali Khan
Teacher in charge

Tuomo Helo

Groups
  • PTIVIS19O
    Software Engineering and Project Management

Objective

After completing the course the student can:
Implement a desktop or a web application for an assigned task.
Program efficiently in a team using professional tools.
Reuse code, utilize libraries, and/or application platforms and application frameworks.
Write code from UML diagrams or implement user stories.
Understand some common design patterns.

Content

An assignment for a desktop or a web application.
Elaborating on programming language and features suitable for the application.
Learning and utilising one or more design patterns.
Using professional coding and version control tools.
Re-using code and utilising libraries, frameworks and/or platforms.
Developing a desktop or a web application as a team work.

Materials

JavaScript Everywhere: Building Cross-Platform Applications with GraphQL, React, React Native, and Electron

by Adam D. Scott | Feb 25, 2020

The chapters from 18 to 20 will be skipped.

The book is (at the course beginning) available In Ebook Central.

Content scheduling

During this course
1) a backend web server with GrahpQL API is implemented together with related
2) React based web client and
3) React Native based mobile client.

In this order.

Also an authentication process is implemented. Attention is paid for the architecture of the solution.

In the teamwork the students can elaborate more deeply on the subject by creating their own web site with mobile access.

The instructors will provide with one teamwork subject, but the students can select a different subject as long as it satisfies the requirements set in the teamwork commission and utilizes GraphQL and React Native.

Technology:

- JavaScript
- Node.js
- Express.js web framework
- GraphQL API with Apollo
- GraphQL Playground
- MongoDB database with Mongoose
- JSON Web Tokens
- React
- React native
- Expo

Contact lessons: Theory, programming together, demos and some support to working in teams.

6 personal assignments:

A teamwork project (Not compulsory)

Evaluation scale

H-5

Assessment methods and criteria

6 personal assignments: 60 points
The teamwork: 40 points.

The assignments must be returned by the deadline to get the points. The student must also participate in the demonstration to get the points.

The assignments returned after the deadline and/or without participating in the demos will give only half of the points.

The student must get at least 30 points (of which at least 25 from the personal assignments) to pass the course.

The grading scale (points -> grade):

30 points -> 1
50 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5