Skip to main content

Advanced Application Development (5 cr)

Code: TE00BR90-3003

General information


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