
CT60A4304 Basics of database systems - Online teaching 1.6.2026-30.7.2026
Database systems. Database design. Object-centric modeling and ER-modeling. Specifying relational models. SQL and object languages.
Perspectives into database design: How database is designed, how data is modeled, and what are data storage structures and access methods.
Transforming ER models to relational models, and then to relational databases. Basics to database programming: queries and other operations, database management, such as triggers. Implementing databases in practice and how to use SQL databases from other programs.
- Responsible teacher: Jiri Musto
- Profesor: Ab Ekong
- Profesor: Jeremias Wahlsten

CT10A5000 Bachelor’s Thesis and Seminar, SSE - Bachelor's thesis, Lahti 1.6.2026-30.7.2026
Software Engineering and Computer science-themed independent project, workshop on scientific writing, and project seminar presentations towards the Bachelor’s thesis work.
- Responsible teacher: Damian Kedziora

CT70A6300 Software Process Management - Blended teaching, Lahti 11.1.2027-23.4.2027
The course will introduce and discuss Software Process Management practices emphasizing the most popular process models used in the industry.
The course will provide knowledge about:
-the different software process models and their application to different circumstances
-the main roles related to software development processes
-how to coordinate software development
-how to interface and interact with a software team and among different software teams.
-how to properly estimate the effort
- Responsible teacher: Maria Paasivaara

CT60A9800 Capstone Project for Software and Systems Engineering - Blended teaching, Lahti 11.1.2027-30.4.2027
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. Teams apply the Scrum process in practice and run their own projects independently using short iterations. Each team presents and reflects on its progress several times during the course. Students reflect on their learning in learning diaries. Delivery of the solution to the customer is required for the successful completion of the course.
- Responsible teacher: Maria Paasivaara

CT10A0030 Johdatus Linuxiin - Verkko-opetus 1.8.2026-30.7.2027
Linuxin asentaminen ja virtuaalisointiympäristö. Graafisen työpöydän käyttö Linuxissa. Komentorivin käyttö, tiedostojärjestelmä, peruskomennot, i/o uudelleenohjaus, prosessien hallinta. Ohjelmien asennus.
- Responsible teacher: Jouni Ikonen

CT10A0009 Henkilökohtainen tietoturva osa 1: Näin meitä huijataan - Verkko-opetus 1.8.2026-30.7.2027
Kurssilla tutustutaan seuraaviin asioihin liittyviin huijauksiin, mistä niissä on kysymys ja miten ne voi tunnistaa. Lisäksi kurssilla käsitellään salasanojen perusasiat ja niiden hallintaan sopivia ohjelmia.
· Tietojen kalastelu ja tilausansat
· nk. nigerialaiskirjeet ja romanssihuijarit
· verkossa tehtävät kaupat ostajan ja myyjän näkökulmasta
· hyväksikäyttöyritykset kuten kiristys, uhkailu, sijoitushuijaukset ja valepoliisitoiminta
· identiteettivarkaudet
· fyysiset uhat kuten olan yli katsominen, avoimet laitteet ja USB-laitteet
· verkkosivustojen ja palveluiden luotettavuuden arviointi
· sosiaalinen media ja sähköiset viestit kuten sähköpostit ja tekstiviestit
· haittaohjelmat, avoimet verkot, selaimet, linkit ja ladattavat tiedostot
· mobiililaitteet, tietokoneet, kodin automaatio.
- Responsible teacher: Roope Luukkainen

CT10A0004 Peliohjelmoinnin alkeet Unitylla - Verkko-opetus 1.8.2026-30.7.2027
Pelin tekeminen Unitylla videoluentojen ohjeita seuraten, ja tämän pelin muokkaaminen itsenäisesti
Netissä suoritettava C#-tutoriaali
Luentokalvot ohjelmointikonsepteista, tekijänoikeuksista ja game design:ista
Ohjelmoinnin harjoitustehtävät, sekä ohjelmoinnin pakolliset tehtävät
Quizit Unitysta, sekä ohjelmoinnista C#:lla.
- Responsible teacher: Roope Luukkainen

CT60A5531 Software Project Management - Contact teaching 1.6.2025-31.7.2025
The Software Project Management course introduces the fundamentals of project management, beginning with project definition through the post-project review. There will be an emphasis placed on applying project management concepts and techniques to software development projects. The following topics will be covered in the course:
Introduction to Software Project Management
Project Methodologies and Processes
Measurable Organizational Value and the Business Case
Project Managers, Teams, and Stakeholders
Project Scope, Structure, and Scheduling
Project Infrastructure, Resources, and Costs
Managing Project Quality
Managing Project Risks
Project Execution, Completion, and Control
- Responsible teacher: Micheal Tuape
- Profesor: Yishak Gebremichael
- Profesor: Atte Perttola

CT10A4000 Kandidaatintyö ja seminaari - Kesäkandileiri 2.6.2025-31.8.2025
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
- Profesor: Yishak Gebremichael
- Profesor: Atte Perttola

CT60A2500 C-ohjelmoinnin perusteet - Monimuoto-opetus 2.6.2025-31.7.2025
C-ohjelmointikielen syöttö ja tulostus sekä tietovirrat; valinta- ja toistorakenteet; teksti- ja binaaritiedostojen käsittely; tietotyypit ml. tietue, taulukko ja linkitetty lista; rakenteinen ohjelmointi, aliohjelmat, parametrit ja paluuarvot, muuttujien näkyvyys; virheenkäsittely; kirjastot; rekursio; osoittimet; dynaaminen muistinhallinta; hyvä ohjelmointityyli ja make.
- Responsible teacher: Uolevi Nikula
- Profesor: Ilpo Kainulainen
- Profesor: Roope Luukkainen
- Profesor: Roope Myller
- Profesor: Joona Nykänen
- Profesor: Demo Teacher3
- Profesor: Demo Teacher4

CT60A4304 Basics of database systems - Blended teaching, Lappeenranta 2.6.2025-30.7.2025
Database systems. Database design. Object-centric modeling and ER-modeling. Specifying relational models. SQL and object languages.
Perspectives into database design: How database is designed, how data is modeled, and what are data storage structures and access methods.
Transforming ER models to relational models, and then to relational databases. Basics to database programming: queries and other operations, database management, such as triggers. Implementing databases in practice and how to use SQL databases from other programs.
- Responsible teacher: Jiri Musto
- Profesor: Rares Radu

CT30A1400 Rust Programming - Blended teaching 2.6.2025-31.7.2025
The course focuses on: performance, type safety, concurrency, memory safety and borrowing. It also covers the basic things such as IO with Rust and functions, objects, traits and standard library.
- Responsible teacher: Erno Vanhala
- Profesor: Veikko Moilanen

CT30A1300 Fundamentals of Game Development - Monimuoto-opetus, suomeksi 2.6.2025-30.7.2025
The course focuses on: sprites, animation, tile mapping, physics engine, lightning, particle effects, shaders and signals in 2D and 3D environments. It also covers the basic things such as controls, file IO, functions, objects, nodes and scenes.
NOTE: The English materials are not ready until January 2026!
- Responsible teacher: Erno Vanhala
- Profesor: Vili Huusko

CT10A5000 Bachelor’s Thesis and Seminar, SSE - Bachelor's thesis, Lahti 1.9.2025-12.12.2025
Software Engineering and Computer science-themed independent project, workshop on scientific writing, and project seminar presentations towards the Bachelor’s thesis work.
- Responsible teacher: Damian Kedziora
- Profesor: Daria Levaniuk

CT60A7660 Database Systems Management (Lahti) - Blended teaching, Lahti 2.3.2026-17.4.2026
Relational model and relational database design. Database applications, data distribution and architectures. Data storage and retrieval, data scalability, performance, security, authorization. Modeling and programing for semi-structured data, secondary storage management.
- Responsible teacher: Ankit Agrawal
- Responsible teacher: Iflaah Salman

CT60A5550 Software Project Management (Lahti) - Contact teaching, Lahti 7.1.2026-17.4.2026
The Software Project Management course introduces the fundamentals of project management, beginning with project definition through the post-project review. There will be an emphasis placed on applying project management concepts and techniques to software development projects. The following topics will be covered in the course:
Introduction to Software Project Management
Project Methodologies and Processes
Measurable Organizational Value and the Business Case
Project Managers, Teams, and Stakeholders
Project Scope, Structure, and Scheduling
Project Infrastructure, Resources, and Costs
Managing Project Quality
Managing Project Risks
Project Execution, Completion, and Control
- Responsible teacher: Anastasiia Gurzhii
- Responsible teacher: Micheal Tuape

CT60A4500 Fundamentals of Software Testing (Lahti) - Blended teaching, Lahti 1.9.2025-17.10.2025
Software testing techniques, levels, automation, tools, working as a tester in a software testing team.
- Responsible teacher: Azeem Akbar
- Profesor: Muhammad Zohaib

CT60A2450 Object-Oriented Programming (Lahti&Online) - Blended teaching, Lahti & Online 7.1.2026-17.4.2026
Object-orientation, classes, inheritance, basics of modelling classes, principles of Java, basic data structures, abstract data types, exceptions, graphical user-interface.
- Responsible teacher: Janne Parkkila
- Profesor: Hamidur Khan
- Profesor: Oliver Kuosmanen
- Profesor: Thet Zin

CT30A3350 Operating Systems and System Programming (Lahti) - Blended teaching, Lahti 7.1.2026-17.4.2026
Basic structures and functions of the operating system: file system, processes, memory management. Structure of the Unix system. C programming language and its programming environment and tools in the Unix system. Unix command decoder programming. Standard I/O-library, advanced I/O functions. System data and files. Processes, process management, interprocess relations. Braid ends and their management. Service processes. Interprocess communication. Signals and their management.
- Responsible teacher: Ankit Agrawal
- Profesor: Saddam Mukta

CT60A4350 Basics of Database Systems (Lahti) - Blended teaching, Lahti 7.1.2026-20.2.2026
Database systems. Database design. Object-centric modeling and ER-modeling. Specifying relational models. SQL and object languages.
Perspectives into database design: How database is designed, how data is modeled, and what are data storage structures and access methods.
Transforming ER models to relational models, and then to relational databases. Basics to database programming: queries and other operations, database management, such as triggers. Implementing databases in practice and how to use SQL databases from other programs.
- Responsible teacher: Ankit Agrawal
- Responsible teacher: Iflaah Salman