
CT30A8912 Software and system architectures - Monimuoto-opetus 8.1.2024-19.4.2024
The course centers around software architecture design and meeting the needs of the stakeholders of the system. The contents include basics of software and systems architecture, identifying architecturally significant requirements, designing software architecture with views, and evaluating software architectures. In addition, wider concepts of enterprise architecture and integration are introduced to put architectures in their context. The course includes a large practical design work that goes through these concepts.
- Responsible teacher: Kari Smolander
- Teacher: Stepan Bakhaev
- Teacher: Maryam Gulzar

CT30A3401 Distributed Systems - Monimuoto-opetus 8.1.2024-19.4.2024
The course introduces the concepts of distributed systems including (but not limited to) processes, communication, naming, synchronization, and consistency. After the introductory part, design principles underlying the development of distributed systems are discussed followed by more advanced concepts such as fault tolerance and security. Students will also be familiarized with some of the main architectural paradigms in distributed systems: object-based systems, file systems, web-based and coordination-based systems. On the completion of the unit, students will understand the fundamentals of distributed computing and be able to design and develop distributed systems and applications.
- Responsible teacher: Syed Naqvi
- Teacher: Turzo Ahsan Sami
- Teacher: Muhammad Mumtaz
- Teacher: Hatef Shamshiri

CT30A3370 Operating Systems and System Programming - Blended teaching in English, Lahti 8.1.2024-19.4.2024
Käyttöjärjestelmän perusrakenteet ja –toiminnot: tiedostojärjestelmä, prosessit, prosessien ajoitus ja hallinta, muistinhallinta, oheislaitteet. Unix-järjestelmän rakenne. C-ohjelmointikieli ja sen ohjelmointiympäristö ja työkalut Unix-järjestelmässä. Unixin komentotulkki-ohjelmointi. Standardi I/O-kirjasto, kehittyneet I/O-toiminnot. Järjestelmätiedot ja –tiedostot. Prosessit, prosessien hallinta, prosessien väliset suhteet. Säikeet ja niiden hallinta. Palveluprosessit. Prosessienvälinen kommunikointi. Signaalit ja niiden hallinta.
- Responsible teacher: Jussi Kasurinen
- Responsible teacher: Venkata Marella
- Responsible teacher: Saddam Mukta

CT30A3370 Käyttöjärjestelmät ja systeemiohjelmointi - Monimuoto-opetus 1.8.2023-30.7.2024
Käyttöjärjestelmän perusrakenteet ja –toiminnot: tiedostojärjestelmä, prosessit, prosessien ajoitus ja hallinta, muistinhallinta, oheislaitteet. Unix-järjestelmän rakenne. C-ohjelmointikieli ja sen ohjelmointiympäristö ja työkalut Unix-järjestelmässä. Unixin komentotulkki-ohjelmointi. Standardi I/O-kirjasto, kehittyneet I/O-toiminnot. Järjestelmätiedot ja –tiedostot. Prosessit, prosessien hallinta, prosessien väliset suhteet. Säikeet ja niiden hallinta. Palveluprosessit. Prosessienvälinen kommunikointi. Signaalit ja niiden hallinta.
- Responsible teacher: Jussi Kasurinen
- Teacher: Sharuka Amarasekara Rajapaksha
- Teacher: Roope Luukkainen
- Teacher: Veikko Moilanen
- Teacher: Veikko Moilanen
- Teacher: Emma Pakarinen
- Teacher: Elias Syyrilä

CT30A3232 Basics of Linux - Monimuoto-opetus 4.9.2023-15.12.2023
Linux-käyttöjärjestelmän asennus ja virtuaalikone, graafiset työpöytäympäristöt, terminaali ja peruskäskyt, komentorivipohjaiset tekstieditorit, komentoriviohjelmat ja niiden asennus, terminaali-I/O ja tiedostonhallintatyökalut, säännölliset lausekkeet, komentoriviohjelmointi, komentorivipohjaiset verkko-ohjelmat, etäkäyttö ja tiedostojen siirto.
- Responsible teacher: Jouni Ikonen
- Teacher: Eero Suomalainen
- Teacher: Elias Syyrilä
- Teacher: Elias Syyrilä

CT30A3204 Advanced Web Applications - Monimuoto-opetus 30.10.2023-23.2.2024
? TypeScript
? Node.js
? Express
? Template engines
? MongoDB
? React
? Authentication and authorization
? APIs
- Responsible teacher: Erno Vanhala
- Teacher: Vili Huusko
- Teacher: Vili Huusko
- Teacher: Rami Saarivuori
- Teacher: Eero Suomalainen
- Teacher: Eero Suomalainen

CT30A2910 Introduction to Web Programming - Monimuoto-opetus 4.9.2023-20.10.2023
Web standards: HTTP, HTML, CSS and JavaScript. The browser environment with its Document object model (DOM). The most common content management systems and building web sites with commonly used tools.
- Responsible teacher: Erno Vanhala
- Teacher: Vili Huusko
- Teacher: Vili Huusko
- Teacher: Rami Saarivuori
- Teacher: Natasha Tylosky

CT30A2803 User Interfaces and Usability - Monimuoto-opetus 8.1.2024-19.4.2024
Design principles of web and mobile interfaces. Human-centered design process. Understanding users through basic HCI research methods and applying this knowledge in design. Design techniques, such as use cases, prototyping, story-boarding, and usability evaluation. Usability and user experience as concepts. Usability standards in interface design and usability testing. Design patterns and considerations of designing interfaces for modern software systems. Basics of front-end programming for user interfaces.
- Responsible teacher: Antti Knutas
- Responsible teacher: Joanna Saad-Sulonen
- Responsible teacher: Dominik Siemon
- Teacher: Avaneep Kamal
- Teacher: Hasan Mahmud
- Teacher: Anni Siren

CT10A9900 Introduction to DD Studies in Software and Systems Engineering - Lähiopetus (Lahti) 4.9.2023-19.4.2024
Ydinaines: opiskeluun liittyvät käytännön asiat, oppimistaidot, lähdeviittaustekniikka, yrittäjämäinen oppiminen, ajanhallinta, itsensä johtaminen, kirjaston tietokannat ja tiedonhaku, opintosuunnitelman ja urasuunnitelman laatiminen.
Täydentävä tieto: Orientaatioviikko, joka järjestetään viikkoa ennen opiskeluiden alkua.
- Responsible teacher: Roope Luukkainen
- Responsible teacher: Maria Paasivaara
- Teacher: Elina Hannikainen-Himanen
- Teacher: Lotta Kopo
- Teacher: Johanna Lahti
- Teacher: Minna Ranta
- Teacher: Marja Talikka
- Teacher: Ida-Maria Volturi

CT10A9512 Research Design and Methods - Monimuoto-opetus 4.9.2023-15.12.2023
Principles of science and scientific communities. Epistemology and ontology in research. The practical research process. Designing research, research questions and hypotheses. Research methods including qualitative methods, experiments, quantitative methods, and design research. Reporting scientific work.
- Responsible teacher: Kari Smolander
- Teacher: Joanna Saad-Sulonen
- Teacher: Jaakko Vuolasto

CT10A7080 Capstone Project on Sustainable Software Solutions - Monimuoto-opetus 8.1.2024-19.4.2024
During this course, students apply all the software engineering skills they have acquired from their earlier courses to practice. Students form teams that run a real software project in collaboration with a customer, from requirements to implementation and delivery to the customer. Topics for the projects are generated by real customers. The focus of the course is on the process and project management issues, especially customer collaboration and efficient teamwork. Delivery of the solution to the customer is required for the successful completion of the course.
- Responsible teacher: Shola Oyedeji
- Responsible teacher: Jari Porras
- Teacher: Hatef Shamshiri

CT10A7022 Personal Literature Study - Online teaching 8.1.2024-19.4.2024
Selected type of literature study on a selected theme. Depending on the need, the literature study may follow the guidelines of systematic literature review, systematic mapping study, snowballing etc. Students will be introduced to these methods and possible tools in the beginning of the course. A list of selected themes for the possible literature reviews can be found at the course page in Moodle. Student may also propose his/her own topic (e.g. on the field of thesis work). The student contacts then instructor and agrees on the personal implementation of the study including the workload and the schedule. Students produce a report based on the literature by the end of the course semester (fall or spring).
- Responsible teacher: Sanaul Haque
- Responsible teacher: Jari Porras

CT10A7022 Personal Literature Study - Online teaching 4.9.2023-15.12.2023
Selected type of literature study on a selected theme. Depending on the need, the literature study may follow the guidelines of systematic literature review, systematic mapping study, snowballing etc. Students will be introduced to these methods and possible tools in the beginning of the course. A list of selected themes for the possible literature reviews can be found at the course page in Moodle. Student may also propose his/her own topic (e.g. on the field of thesis work). The student contacts then instructor and agrees on the personal implementation of the study including the workload and the schedule. Students produce a report based on the literature by the end of the course semester (fall or spring).
- Responsible teacher: Sanaul Haque
- Responsible teacher: Jari Porras

CT10A7022 Personal Literature Study - Online teaching 1.6.2024-31.8.2024
Selected type of literature study on a selected theme. Depending on the need, the literature study may follow the guidelines of systematic literature review, systematic mapping study, snowballing etc. Students will be introduced to these methods and possible tools in the beginning of the course. A list of selected themes for the possible literature reviews can be found at the course page in Moodle. Student may also propose his/her own topic (e.g. on the field of thesis work). The student contacts then instructor and agrees on the personal implementation of the study including the workload and the schedule. Students produce a report based on the literature by the end of the course semester (fall or spring).
- Responsible teacher: Sanaul Haque
- Responsible teacher: Jari Porras

CT10A7011 Running a Software Project - Monimuoto-opetus 8.1.2024-19.4.2024
During this course, students apply all the software engineering skills they have acquired from their earlier courses to practice. Students form teams that run a real software project, from requirements to implementation and delivery. Topics for the projects are decided by the project teams. The focus of the course is on the process and project management issues, especially and efficient teamwork. Delivery of the solution is required for the successful completion of the course.
- Responsible teacher: Uolevi Nikula
- Teacher: Ilpo Kainulainen
- Teacher: Roope Luukkainen
- Teacher: Maria Paasivaara
- Teacher: Rami Saarivuori
- Teacher: Micheal Tuape

CT10A7004 Sustainability and IT - Monimuoto-opetus 8.1.2024-19.4.2024
The course emphasizes the role and impact of IT field and especially software engineering in the sustainable development. The topic is covered through selected books and scientific articles. Students may be divided into small groups that will each study the topic.
- Responsible teacher: Sanaul Haque
- Responsible teacher: Jari Porras
- Teacher: Larry Abdullai
- Teacher: Laura Partanen

CT10A7004 Sustainability and IT - Itsenäinen projekti 4.9.2023-22.12.2023
The course emphasizes the role and impact of IT field and especially software engineering in the sustainable development. The topic is covered through selected books and scientific articles. Students may be divided into small groups that will each study the topic.
- Responsible teacher: Sanaul Haque
- Responsible teacher: Jari Porras
- Teacher: Shola Oyedeji
- Teacher: Laura Partanen

CT10A7004 Sustainability and IT - Itsenäinen projekti 3.6.2024-31.8.2024
The course emphasizes the role and impact of IT field and especially software engineering in the sustainable development. The topic is covered through selected books and scientific articles. Students may be divided into small groups that will each study the topic.
- Responsible teacher: Jari Porras

CT10A6002 Master's Thesis - Master's thesis 4.9.2023-30.7.2024
A research-based thesis course that offers students the opportunity to work on a comprehensive, individual project that demonstrates mastery of the specializations of software engineering or digital transformation. Topic to be agreed in consultation with a supervisor. The project will be of suitable complexity for results to be published for an expert audience. Students are expected to complete thesis in a single semester, but exceptions are accommodated only after seeking academic advice.The purpose of this course is to develop the student's research and problem-solving skills. The course involves the specification, development and evaluation of an individual research project on a specific topic or problem within the broad fields of software engineering. The student is expected to systematically plan and manage the project, and to clearly present the work and its contribution in context of the current literature and prior state of the art.Beginning with the thesis assignment will not be permitted until a project is allocated and the supervisor has agreed that the project is suitable. An independent thesis done in the field of information technology, according to the instructions given. In the beginning a student must contact the responsible professor. The starting and finishing point of the thesis vary. Before the thesis is returned for grading it must be checked with the Turnitin programme in the moodle page of the course.
Topic of the master's thesis has to be confirmed as soon as the topic has been decided with the supervisor. Use form 1A in UNI-portal.
- Responsible teacher: Jussi Kasurinen
- Teacher: Ari Happonen
- Teacher: Sami Hyrynsalmi
- Teacher: Jouni Ikonen
- Teacher: Najmul Islam
- Teacher: Remy Jansen Roijackers
- Teacher: Damian Kedziora
- Teacher: Antti Knutas
- Teacher: Uolevi Nikula
- Teacher: Maria Paasivaara
- Teacher: Jari Porras
- Teacher: Dominik Siemon
- Teacher: Kari Smolander
- Teacher: Annika Wolff

CT10A4000 Kandidaatintyö ja seminaari - Monimuoto-opetus 8.1.2024-19.4.2024
Teknologiaan ja sitä sivuaviin (tieto)teknisiin aiheisiin liittyvä itsenäinen suunnittelu- ja toteutusprojekti, josta tiedon kerääminen ja analysointi tapahtuu hyvää akateemista tapaa noudattaen. Opitun osoittaminen tapahtuu tuottamalla akateeminen opinnäyteraportti ja lisäksi opinnäytteen suunnitelma ja lopputulema esitetään kurssin seminaareissa.
- Responsible teacher: Antti Knutas
- Teacher: Yishak Gebremichael
- Teacher: Ilpo Kainulainen
- Teacher: Daria Levaniuk
- Teacher: Roope Luukkainen
- Teacher: Jiri Musto
- Teacher: Uolevi Nikula
- Teacher: Atte Perttola
- Teacher: Rami Saarivuori