x !
Arkistoitu opetusohjelma 2017–2018
Selaat vanhentunutta opetusohjelmaa. Voimassa olevan opetusohjelman löydät täältä.
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
Tietojenkäsittelytieteiden tutkinto-ohjelma
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 2018:

This is an intermediate level programming course. The course is implemented in two parallel tracks: Java-based and web technology-based. Students can choose between the two tracks.

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

The course grading is based on the completion of weekly programming exercises. Full remote participation is possible with per participant agreement. Lectures will be available on-line.

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.

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

Enrolment for University Studies

Enrolment time has expired


Jaakko Hakulinen, Teacher responsible


5-Mar-2018 – 31-May-2018
Mon 5-Mar-2018 at 12-14, Pinni lr A1081
Tue 6-Mar-2018 - 8-May-2018 weekly at 14-16, Pinni B0016
Mon 12-Mar-2018 - 7-May-2018 weekly at 12-14, Pinni B0016
Thu 15-Mar-2018 - 17-May-2018 weekly at 12-14, Pinni B ML40
10-May-2018 , No meeting on Thu 10.5.
Thu 15-Mar-2018 - 17-May-2018 weekly at 14-16, Pinni B ML40
10-May-2018 , No meeting on Thu 10.5.