
CT70A9120 Software Development Skills: Mobile - Online teaching 1.8.2023-30.7.2024
This course aims give students a chance to create unique projects with a hands-on approach.
The course guides students to find their interest in software engineering skills and to help each student find their desired path in software developing in the future. There are also several other Software Development Skill courses available on different topics. The goal in this course is to make an Android app with Android Studio. The app should have basic functionality with buttons and views. This course aims to teach the basics of mobile development.
Course is 100% online self-study.
- Responsible teacher: Erno Vanhala

CT70A9110 Software Development Skills: Front-End - Online teaching 1.8.2023-30.7.2024
This course aims give students a chance to create unique projects with a hands-on approach.
The course guides students to find their interest in software engineering skills and to help each student find their desired path in software developing in the future. There are also several other Software Development Skill courses available on different topics.
The goal in this course is to make a responsive webpage using html, CSS and a little JavaScript. These are the basic tools to make today's web-frontend. Students may use Bootstrap or animations in addition. The project focuses only on the layout, styles and the overall structure of the page.
Course is 100% online self-study.
- Responsible teacher: Erno Vanhala

CT70A7000 Digital Business Platforms - Monimuoto-opetus 4.9.2023-15.12.2023
Introduction to enabling pillars for digital business platform: IoT (Internet of Things), Big Data (Analytics), Software Ecosystems and User Experience (Cloud/Edge evolution and Digital Touchpoints), as well as elements of AI, within selected strategies and technologies.
Discussion on the platform elements in various contextual settings, for demonstrating variety of possible approaches towards designing platforms. Identifying the tech patterns and digital transformations, underlying current and future platforms for digital business. Overview of the subsequent design steps for development of a digital platform for business.
- Responsible teacher: Kari Heikkinen
- Responsible teacher: Damian Kedziora
- Teacher: Maryam Hina
- Teacher: Md Uddin

CT70A6300 Software Process Management - Monimuoto-opetus, Lahti 8.1.2024-19.4.2024
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
- Teacher: Quan Dao
- Teacher: Sonja Hyrynsalmi
- Teacher: Samiha Meer
- Teacher: Mahyar Mohammadi

- Responsible teacher: Sami Hyrynsalmi
- Teacher: Andrey Saltan

CT70A3100 Service design - Lähiopetus (Lahti) 4.9.2023-15.12.2023
The aim of Service Design is to show the broad spectrum of services and their relevance, especially in the field of software engineering. Basic theoretical definitions, as well as comparisons with the product-dominant logic, are discussed and current perspectives such as the service-dominant logic and servicification are elaborated. The value, which can be generated by a service, i.e., the value in use and value in interaction is covered when talking about why services take such a significant role in our economy. Based on this, digital services, and aspects such as software-as-a-service will be discussed. To successfully design services, the topic of design and its various facets will then be covered. Above all, human-centeredness is an essential point, which is then concretized with methods of service design and practical exercises.
- Responsible teacher: Joanna Saad-Sulonen
- Responsible teacher: Dominik Siemon

CT70A3000 Software Maintenance - Monimuoto-opetus 8.1.2024-19.4.2024
In industrial practice, software developers are often confronted with already existing software systems that need to be maintained, reused or evolved. This requires specific skills to understand the design and implementation of an existing system and which parts need to be modified, to build software systems that are easier to maintain, and to design systems with reuse and evolution in mind from the very start.This course will thus study a variety of techniques, tools and methodologies to help building software systems that are easier to understand, maintain, reuse and evolve.
- Responsible teacher: Prabhat Kumar
- Teacher: Saddam Mukta
- Teacher: Hatef Shamshiri

CT70A2000 Requirements Engineering - Monimuoto-opetus 4.9.2023-15.12.2023
The focus of this course is in helping the student to choose and apply requirements engineering (RE) techniques to different types of software development situations. The course considers a variety of software development contexts such as bespoke software development, market-driven, and agile development and discusses how these contexts affect the choice of RE techniques. To this end, different RE-related techniques as well as different underlying principles and formats for documenting and maintaining requirements are covered.
- Responsible teacher: Shola Oyedeji
- Teacher: Mikhail Adisa
- Teacher: Savita Kaushal

CT60A9800 Capstone Project for Software and Systems Engineering - Monimuoto-opetus, Lahti 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. 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
- Teacher: Emily Christensen

CT60A9601 Discrete Models and Methods 2: Functional programming - Monimuoto-opetus, Lahti 4.3.2024-19.4.2024
Familiarity with the Scala language
Basic development in functional programming paradigm
Basic Concepts of Functional Programming (pure functions, recursion, Immutability)
- Responsible teacher: Iflaah Salman
- Teacher: Danial Farzi
- Teacher: Danial Farzi

CT60A7650 Database Systems Management - Monimuoto-opetus, Lahti 4.3.2024-19.4.2024
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: Iflaah Salman
- Responsible teacher: Marianne Seppänen
- Teacher: Kasuni Sugathadasa
- Teacher: Shouhua Zhang

CT60A7650 Database Systems Management - Monimuoto-opetus 4.3.2024-19.4.2024
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: Jiri Musto
- Responsible teacher: Marianne Seppänen

CT60A5540 Computer networks and Internet - Contact teaching 4.9.2023-20.10.2023
In today's connected world everybody should understand in some level how data is transferred in networks and more so in case of people building services used over Internet. Course familiarizes student with knowledge of how Internet works, what kind of components and what kind of protocols are involved. Network topologies, network reference model, data link layer (multiplexing, Ethernet, WLAN), network layer (internet protocol), transport layer (tcp, udp), application layer (dns, http).
- Responsible teacher: Jouni Ikonen
- Teacher: Ilpo Kainulainen

CT60A5531 Software Project Management - Monimuoto-opetus 8.1.2024-19.4.2024
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
- Teacher: Anastasiia Gurzhii

CT60A5531 Software Project Management - Blended teaching, Lahti 8.1.2024-19.4.2024
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: Andrey Saltan
- Teacher: Wardah Awan
- Teacher: David Vigh
- Teacher: David Vigh

CT60A5521 Ohjelmistojärjestelmien tietoturva - Blended teaching, in English 8.1.2024-19.4.2024
Tietoturvan peruskäsitteet ja sisältö. Uhat ja uhkaajat. Tavallisimmat hyökkäys- ja suojausmenetelmät. Tietoturvan merkitys ja lähtökohdat. Tietoturvapolitiikka. Tietoturva ohjelmistotekniikan näkökulmasta.
- Responsible teacher: Syed Naqvi
- Teacher: Daria Levaniuk

CT60A5511 Software Quality Management - Online teaching, in English in Lahti 4.9.2023-30.7.2024
Laadunhallinnan mallit, menetelmät ja mittarit. Testauksen ja laadunhallinan työkalut ja tavallisimmat dokumentit. Laadunhallinta organisaation toimintana, toiminnan kehittäminen. Laatuun liittyvät standardit ja sertifikaatit, laadunhallinta ja -valvonta käytännössä.
- Responsible teacher: Azeem Akbar
- Teacher: Muhammad Zohaib

CT60A5500 Quality Assurance in Software Development - Online teaching 4.9.2023-15.12.2023
Software quality in software development. Four dimensions of quality (specification, design, development, conformance). Quality management processes. Quality in software construction. Software validation and the role of software verification in SQA. Quality tools. Quality measurement and metrics. Software QA standards. SQA in practise and SQA for small projects.
- Responsible teacher: Azeem Akbar
- Teacher: Muhammad Hamza
- Teacher: Muhammad Zohaib

CT60A5401 Game Development Project - Itsenäinen projekti verkossa 1.8.2023-30.7.2024
Applied software engineering course. The objective for this course is for students to learn how to use their software engineering knowledge in an entertainment software engineering context. With the selected game development tools, student is capable to independently design and develop a small game program on some modern game engine platform, or work as a part of a team developing a larger game product. List of Topics: lectures and project works:- Games as software products- Basics of processes and models applied in the entertainment software industry- Basics of the game development tools- Introduction to game engines and their functions - Basics of 3D objects- Introduction to game development-related programming problem.- Basics of artificial intelligence in entertainment software engineering context.- Basics of sound engineering-Gamification and Serious games
-Basic principles of AR and VR development
- Responsible teacher: Jussi Kasurinen
- Teacher: Mahyar Mohammadi
- Teacher: Emma Pakarinen
- Teacher: Micheal Tuape
- Teacher: Micheal Tuape
- Teacher: Micheal Tuape

CT60A5103 Software Engineering Models and Modeling - Monimuoto-opetus 4.9.2023-15.12.2023
Modeling in Software Engineering Body of Knowledge (SWEBOK). Principles and foundations of software engineering. Prototyping techniques. Object-oriented modeling. Data-centric models. Model-driven architecture (MDA). Modeling techniques. Importance of modeling in software development projects and processes.
- Responsible teacher: Antti Knutas
- Teacher: Roshan Devullapalli
- Teacher: Roshan Devullapalli
- Teacher: Tanvir Hasan