x !
Archived teaching schedules 2018–2019
You are browsing archived teaching schedule. Current teaching schedules can be found here.
TIEVA31 Principles of Programming Graphical User Interfaces 5–10 ECTS
Period I Period II Period III Period IV
Language of instruction
Type or level of studies
Intermediate studies
Course unit descriptions in the curriculum
Degree Programme in Computer Sciences
Faculty of Natural Sciences

Learning outcomes

Upon completion of the course the student will
- know the fundamental knowledge and skills to implement graphical user interfaces,
- know how to utilize the most common user interface components,
- know and be able to utilize common graphical user interface related software architecture patterns.

General description

Practical implementation in 2019:

This is an intermediate level programming course. The course is implemented in parallel tracks: there are at least a Java-based and a web technology-based track. Additional tracks (Android, Python) may be available. Students can choose the track they want.

  • The Java-based track requires basic Java programmin skills (e.g., TIEP1, TIEP5, TIEA2.1) and graphical user interface programming is done using Swing UI library using NetBeans IDE.
  • The web technology-based track requires basic skills in JavaScript programming, HTML and CSS (e.g., TIETA9) and programming is done using React framework and Material-UI interface library.

Passing this part of the course will result in 5cu marking which can be expanded to 10cu by completing a project work. The project can be done during the summer, or with special agreement, at later time.


Enrolment for University Studies

Enrolment time has expired


Jaakko Hakulinen, Teacher responsible


4-Mar-2019 – 31-May-2019
Mon 4-Mar-2019 at 10-12, PInni B1097
Tue 5-Mar-2019 - 7-May-2019 weekly at 14-16, Pinni B3109
Mon 11-Mar-2019 - 6-May-2019 weekly at 10-12, Pinni B0016
Group 1
Thu 7-Mar-2019 - 16-May-2019 weekly at 12-14, Pinni B0016
Group 2
Thu 7-Mar-2019 - 16-May-2019 weekly at 14-16, PInni B0016

Evaluation criteria

Note. On Spring 2019 the course grading is based on the completion of weekly programming exercises and participation in exercise meetings.

Remote participation is possible, in which case grading is based on the exercises and an exam.

Lectures will be available on-line.

Study materials

Moodle is used during the course for communication and returning the exercises.