
CT70A7000 Digital Business Platforms - Blended teaching 2.9.2024-15.12.2024
1. INNOVATIONS AND ECOSYSTEMS
Closed innovation
Open Innovation
Ecosystems for innovation
2. MARKET MODELS
Pipeline model
Two-sided markets
Platform attributes
3. LAUNCHING PLATFORM
Chicken-or-egg problem
Monetization/Commercialization
Openness
4. COMPETITION LANDSCAPE
Competing in platform economy
Competing threads
Digital platform competitiveness
5. DATA ECONOMIES
Power of data in platform economy
Data network effects
Data handling risks
6. DIGITAL SERVITIZATION
Product vs. Service
Everything as a Service
Product based platforms
- Responsible teacher: Damian Kedziora
- Teacher: Md Uddin

CT70A6300 Software Process Management - Blended teaching, Lahti 6.1.2025-20.4.2025
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: Manju Raphael
- Teacher: Kasuni Sugathadasa

CT70A6201 Foundations of Software Product Management - Blended teaching 2.9.2024-15.12.2024
The course covers themes of product strategy and planning, strategic management and orchestration of related activities.
- Responsible teacher: Andrey Saltan
- Teacher: Nan Yang

CT70A3100 Service design - Contact teaching, Lahti 2.9.2024-15.12.2024
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 - Blended teaching 6.1.2025-20.4.2025
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: Saddam Mukta

CT70A2000 Requirements Engineering - Blended teaching 2.9.2024-15.12.2024
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: Mikhail Adisa
- Responsible teacher: Shola Oyedeji
- Teacher: Kalu Sandra Oriaku

CT60A9800 Capstone Project for Software and Systems Engineering - Blended teaching, Lahti 6.1.2025-20.4.2025
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: Wardah Awan
- Teacher: Emily Christensen

CT60A9602 Functional programming - Blended teaching, Lahti 3.3.2025-20.4.2025
Familiarity with the Scala language
Basic development in functional programming paradigm
Basic Concepts of Functional Programming (pure functions, recursion, higher order functions, Immutability)
- Responsible teacher: Iflaah Salman

CT60A7650 Database Systems Management - Blended teaching, Lahti 3.3.2025-20.4.2025
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: Iflaah Salman
- Responsible teacher: Marianne Seppänen

CT60A7650 Database Systems Management - Blended teaching 3.3.2025-20.4.2025
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 2.9.2024-20.10.2024
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: Ville Saloranta
- Teacher: Shouhua Zhang

CT60A5531 Software Project Management - Blended teaching 6.1.2025-20.4.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

CT60A5531 Software Project Management - Contact teaching, Lahti 6.1.2025-20.4.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

CT60A5522 Cyber Security of Software Systems - Blended teaching, in English 6.1.2025-20.4.2025
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: Amirreza Jafariandehkordi
- Teacher: Anuj Rathee

CT60A5511 Software Quality Management - Online teaching 2.9.2024-30.7.2025
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: Siiri Leppälampi
- Teacher: Muhammad Zohaib

CT60A5500 Quality Assurance in Software Development - Online teaching 2.9.2024-15.12.2024
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 Zohaib

CT60A5401 Game Development Project - Independent online project 1.8.2024-30.7.2025
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: Jing Fan
- Teacher: Mahyar Mohammadi

CT60A5103 Software Engineering Models and Modeling - Blended teaching 2.9.2024-15.12.2024
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: Tanvir Hasan

CT60A4800 Fundamentals of smart systems - Contact teaching, Lahti 2.9.2024-15.12.2024
The aim of Fundamentals of Smart Systems is to introduce the broad spectrum of smart and intelligent systems, especially from a software engineering aspect. This includes mostly non-physical systems such as conversational agents, robotic process automation, prediction, and detection systems but also basics on how cyber-physical systems work and rely on data and sensors. Therefore, this course mostly uncovers the software side of smart systems, as software is crucial to make the systems "smart", by combining and analyzing data, for example from sensors.
- Responsible teacher: Dominik Siemon
- Teacher: Ram Gurung

CT60A4700 Advanced networks - Blended teaching, Lahti 28.10.2024-15.12.2024
Introduction to Computer Networks
Client/Server Model
Basic Network Concepts and Java I/O
OSI vs TCP/IP layer model
IP, TCP and UDP
IP Addresses, Domain Names and Ports
Internet, Firewalls and Proxy Servers
Streams
Basic Web Concepts and Network Programming
Internet Addresses
Uniform Resource Identifier (URI)
Uniform Resource Locator (URL)
Hypertext Transfer Protocol (HTTP)
URLConnections
Sockets for Clients
Sockets for Servers
The UDP Protocol
- Responsible teacher: Prabhat Kumar