Advanced Application Development (5 cr)
Code: TE00BR90-3001
General information
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
-
PTIETS20sepmPTIETS20 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