Skip to main content

Advanced Application Development (5 cr)

Code: TE00BR90-3008

General information


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
  • 12.09.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 19.09.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 26.09.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 03.10.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 10.10.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 24.10.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 28.10.2024 12:00 - 14:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 07.11.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 14.11.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 21.11.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 28.11.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 05.12.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008
  • 09.12.2024 14:00 - 18:00, Harjoitustöiden esittäminen, Advanced Application Development TE00BR90-3008
  • 12.12.2024 10:00 - 12:00, Teoria ja käytäntö, Advanced Application Development TE00BR90-3008

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