{"id":null,"code":"DTEK2090","name":{"valueFi":"Modern User Interfaces","valueEn":"Modern User Interfaces","valueSv":"Modern User Interfaces"},"credits":5.0,"minCredits":5,"maxCredits":5,"tags":[{"code":"KEKE","title":{"valueFi":"Kestävä kehitys","valueEn":"Sustainable development","valueSv":"Sustainable development"}}],"createdAt":1790534316598,"contentList":[{"title":{"valueFi":"Osaamistavoitteet","valueEn":"Learning outcomes","valueSv":""},"content":{"valueFi":"After the course the student will be able to:\r\n- differentiate and choose between user interface techniques and modalities for different purposes\r\n- locate the background architectures and technical solutions for user interfaces and discuss these\r\n- compare the key challenges and solutions for programming user interfaces on different platforms and business domains\r\n- build and develop both procedural and declarative (with tools) user interfaces\r\n- use event handling and reactive components in a user interface\r\n- incorporate multi-threading and high performance graphics in the context of user interfaces\r\n- develop concurrent user interfaces with complex interaction patterns\r\n- justify and choose user interface models and programming patterns facilitating good user experience\r\n- identify, locate and obtain information about user interface techniques\r\n- conduct searches of literature (research and technical documentation) and evaluate the results\r\nThe course gives an understanding of designing, implementing and evaluating the usability of user interfaces. The student is also able to use different software frameworks and libraries to implement user interfaces.  \r\n\r\nThe course strengthens the following working life skills: creativity, multi-professionalism, problem solving skills, project management, information and communication technology skills and communication skills.","valueEn":"","valueSv":"After the course the student will be able to:\r\n- differentiate and choose between user interface techniques and modalities for different purposes\r\n- locate the background architectures and technical solutions for user interfaces and discuss these\r\n- compare the key challenges and solutions for programming user interfaces on different platforms and business domains\r\n- build and develop both procedural and declarative (with tools) user interfaces\r\n- use event handling and reactive components in a user interface\r\n- incorporate multi-threading and high performance graphics in the context of user interfaces\r\n- develop concurrent user interfaces with complex interaction patterns\r\n- justify and choose user interface models and programming patterns facilitating good user experience\r\n- identify, locate and obtain information about user interface techniques\r\n- conduct searches of literature (research and technical documentation) and evaluate the results\r\nThe course gives an understanding of designing, implementing and evaluating the usability of user interfaces. The student is also able to use different software frameworks and libraries to implement user interfaces.  \r\n\r\nThe course strengthens the following working life skills: creativity, multi-professionalism, problem solving skills, project management, information and communication technology skills and communication skills."}},{"title":{"valueFi":"Sisältö","valueEn":"Content","valueSv":""},"content":{"valueFi":"The course discusses the development of user interfaces in a modern, multi-platform environment, considering multiple modalities. The use of advanced programming techniques and development methodologies is emphasized in the building of efficient user interfaces and to facilitate high productivity. Key challenges and solutions of programming interfaces for different domains (automotive, mobile, etc.) are analyzed. On a high-level, the development of user interfaces focuses on event-driven and reactive programming approaches based on cross-platform frameworks. Implementation technologies of different platforms related to user interface development are briefly presented (e.g.modern rendering pipelines, component based systems, state propagation, asynchronous and distributed techniques). User interface programming patterns and models facilitating good user experience are considered. The project work enables students to develop practical skills in advanced user interface implementation technologies. The research and seminar work further deepen the knowledge and understanding of the recent developments of user interface programming techniques.","valueEn":"","valueSv":"The course discusses the development of user interfaces in a modern, multi-platform environment, considering multiple modalities. The use of advanced programming techniques and development methodologies is emphasized in the building of efficient user interfaces and to facilitate high productivity. Key challenges and solutions of programming interfaces for different domains (automotive, mobile, etc.) are analyzed. On a high-level, the development of user interfaces focuses on event-driven and reactive programming approaches based on cross-platform frameworks. Implementation technologies of different platforms related to user interface development are briefly presented (e.g.modern rendering pipelines, component based systems, state propagation, asynchronous and distributed techniques). User interface programming patterns and models facilitating good user experience are considered. The project work enables students to develop practical skills in advanced user interface implementation technologies. The research and seminar work further deepen the knowledge and understanding of the recent developments of user interface programming techniques."}},{"title":{"valueFi":"Suoritustavat","valueEn":"Study methods","valueSv":""},"content":{"valueFi":"- Exercise project \r\n- Research exercise\r\n- Seminar work","valueEn":"","valueSv":""}},{"title":{"valueFi":"Toteutustavat","valueEn":"Course unit methods","valueSv":""},"content":{"valueFi":"- Lectures (15 h)\r\n- Programming group work (35 h)\r\n- Seminar presentations + preparation (15 h)\r\n- Studying of user interface technologies + research report (40 h)\r\n- Reading scientific literature + weekly assignments (30 h)","valueEn":"","valueSv":""}},{"title":{"valueFi":"Oppimateriaalit","valueEn":"Learning material","valueSv":""},"content":{"valueFi":"","valueEn":"","valueSv":""}},{"title":{"valueFi":"Lisätiedot","valueEn":"Further information","valueSv":""},"content":{"valueFi":"Replaces the course DTEK2054 User Interfaces programming.\r\n\r\nThe content of the course has a connection to the following UN sustainable development goals: 8. Decent work and economic growth, 9. Industry, innovation and infrastructure, 10. Reduced inequalities, 11. Sustainable cities and communities, 16. Peace, justice and strong institutions and 17. Partnerships for the goals.","valueEn":"","valueSv":""}},{"title":{"valueFi":"Kurssikirjallisuus","valueEn":"Literature","valueSv":""},"content":{"valueFi":"1. The Definitive Guide to Modern Java Clients with JavaFX 17: Cross-Platform Mobile and Cloud Development, 2nd edtion. Apress, 2021 Designing Interfaces: Patterns for Effective Interaction Design, 3rd Edition. Jenifer Tidwell. O'Reilly Media, 2020\n2. Designing Interfaces: Patterns for Effective Interaction Design, 3rd Edition. Jenifer Tidwell. O'Reilly Media, 2020 978-1492051961","valueEn":"1. The Definitive Guide to Modern Java Clients with JavaFX 17: Cross-Platform Mobile and Cloud Development, 2nd edtion. Apress, 2021 Designing Interfaces: Patterns for Effective Interaction Design, 3rd Edition. Jenifer Tidwell. O'Reilly Media, 2020\n2. Designing Interfaces: Patterns for Effective Interaction Design, 3rd Edition. Jenifer Tidwell. O'Reilly Media, 2020 978-1492051961","valueSv":"1. The Definitive Guide to Modern Java Clients with JavaFX 17: Cross-Platform Mobile and Cloud Development, 2nd edtion. Apress, 2021 Designing Interfaces: Patterns for Effective Interaction Design, 3rd Edition. Jenifer Tidwell. O'Reilly Media, 2020\n2. Designing Interfaces: Patterns for Effective Interaction Design, 3rd Edition. Jenifer Tidwell. O'Reilly Media, 2020 978-1492051961"}},{"title":{"valueFi":"Esitietovaatimukset","valueEn":"Qualifications","valueSv":""},"content":{"valueFi":"Advanced course on object oriented programming (DTEK0066)","valueEn":"","valueSv":""}},{"title":{"valueFi":"Arviointiasteikko","valueEn":"Assessment scale","valueSv":""},"content":{"valueFi":"","valueEn":"","valueSv":""}},{"title":{"valueFi":"Arviointikriteerit","valueEn":"Assessment criteria","valueSv":""},"content":{"valueFi":"","valueEn":"","valueSv":""}},{"title":{"valueFi":"Arviointikriteerit 2","valueEn":"Assessment criteria 2","valueSv":""},"content":{"valueFi":"","valueEn":"","valueSv":""}},{"title":{"valueFi":"Arviointikriteerit 3","valueEn":"Assessment criteria 3","valueSv":""},"content":{"valueFi":"","valueEn":"","valueSv":""}},{"title":{"valueFi":"Arviointikriteerit 4","valueEn":"Assessment criteria 4","valueSv":""},"content":{"valueFi":"","valueEn":"","valueSv":""}},{"title":{"valueFi":"Kielet","valueEn":"Languages","valueSv":""},"content":{"valueFi":"englanti","valueEn":"English","valueSv":"engelska"}},{"title":{"valueFi":"Taso","valueEn":"Level","valueSv":""},"content":{"valueFi":"Syventävät opinnot","valueEn":"Advanced Studies","valueSv":""}},{"title":{"valueFi":"Oppiaine","valueEn":"Subject","valueSv":""},"content":{"valueFi":"Tietotekniikka","valueEn":"Information and Communication Technology","valueSv":"Information and Communication Technology"}},{"title":{"valueFi":"Vastuuhenkilöt","valueEn":"Person in charge","valueSv":""},"content":{"valueFi":"Jari-Matti Mäkelä","valueEn":"Jari-Matti Mäkelä","valueSv":"Jari-Matti Mäkelä"}},{"title":{"valueFi":"Luokittelu","valueEn":"Classification","valueSv":""},"content":{"valueFi":"Kestävä kehitys","valueEn":"Sustainable development","valueSv":"Sustainable development"}},{"title":{"valueFi":"Linkit","valueEn":"Links","valueSv":""},"content":{"valueFi":"","valueEn":"","valueSv":""}}]}