Skip to main content

Application Programming (5 cr)

Code: 5000BL73-3017

General information


Enrollment

29.05.2024 - 05.09.2024

Timing

05.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

Seats

75 - 105

Degree programmes

  • Degree Programme in Information and Communication Technology

Teachers

  • Tuomo Helo

Groups

  • PTIVIS23D
    PTIVIS23D
  • PTIVIS23E
    PTIVIS23E
  • PTIVIS23F
    PTIVIS23F
  • 05.09.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 09.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 11.09.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 11.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 16.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 18.09.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 18.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 19.09.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 23.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 25.09.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 25.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 26.09.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 26.09.2024 12:00 - 13:00, Sovellusohjelmointi 5000BL73-3017 : Vapaaehtoinen tukitilaisuus
  • 03.10.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 07.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 09.10.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 09.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 21.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 23.10.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 23.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 24.10.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 30.10.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 30.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 31.10.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 31.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 07.11.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 11.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 13.11.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 13.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 18.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 20.11.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 20.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 21.11.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 25.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 27.11.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 27.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 28.11.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 02.12.2024 12:00 - 14:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 04.12.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 04.12.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 05.12.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 09.12.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 11.12.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 12.12.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017

Objective

After completing the course the student can:
* program efficiently in a team
* reuse code and utilize libraries
* understand and apply some design patterns
* use an IDE as a programming tool
* use a version control system

Content

* relevant programming libraries
* learning some common design patterns
* using IDE in programming
* using a version control system in application development
* project work: implementing an application in a team

Materials

Python Crash Course
3rd Edition
A Hands-On, Project-Based Introduction to Programming
Eric Matthes
January 10, 2023
ISBN-10 : 1718502702
ISBN-13 : 978-1718502703

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of the book's 3rd
editions available in eBook Central for you to read.

Some other material will be introduced during the course too.

Teaching methods

- reading the course books and other reading material, watching videos
- participating in the lectures
- programming together with instructor
- programming alone
- participating in the teamworks

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

34 h contact lessons
12 h presenting and following team works
45 h preparing teamwork
44 h doing personal exercises

Content scheduling

During the course a web site will be created by using Python language and Django web application programming framework.

Professional tools like Git will be used. The site will follow the MVT version of the MVC architectural pattern.

The students will deepen their skills in the team works.

Onsite lessons. Theory lessons are for theory and presentations of theoretical team works. Practical lessons are for programming together. Demonstrations are for going through some of the solutions the students have done for the individual exercises.

7 personal assignments
2 team works (theory and programming works)

Evaluation scale

H-5

Assessment methods and criteria

The maximum number of points available from course is 120.

Of that maximum, 70 points comes from individual exercises, 30 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 20 points from the exercises and 10 points from the teamworks to pass the course.

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

Percentage of being present on the normal lectures -> points

20% -> 5
40% ->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 he collects 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 the possibilities of Python programming in web application development
The student understands what a web application framework is
The student understands web technologies and knows solutions and problems related to web applications
The student knows the MVT architectural model
The student knows what an ORM is
The student knows how template and template engine are related to user interfaces
The student knows what authentication and authorization are
The student is ready to implement a simple web application

Assessment criteria, good (3-4)

The student knows how to utilize the possibilities offered by Python programming in web application development
The student understands what a web application framework is
The student knows how to use web technologies and knows solutions and problems related to web applications
The student knows the MVT architecture model and knows how to program applications that follow it
The student knows what ORM is and knows how to use it for the permanent storage of web application data
The student knows how a template and a template engine are related to user interfaces and knows how to use them to build user interfaces in web applications
The student knows how to authenticate and authorize users in web applications
The student can implement a simple web application
The student is able to work on web application projects

Assessment criteria, excellent (5)

The student knows how to effectively utilize the opportunities offered by Python programming in web application development
The student understands what a web application framework is and can evaluate the consequences of its application
The student knows how to use web technologies and knows solutions and problems related to web applications extensively
The student knows how to search for and evaluate suitable solutions and tools and apply them to the problems they encounter
The student knows the MVT architecture model and knows how to program applications that follow it
The student knows what an ORM is and knows how to use it in a versatile manner in the permanent storage of web application data
The student knows how template and template engine are related to user interfaces and knows how to use them versatilely to build user interfaces in web applications
The student knows how to authenticate and authorize users in web applications
The student knows how to implement many kinds of web applications
The student is able to work in web application projects in various roles and to search for effective solutions to fulfill customer requirements