CT70A9400 Foundations of Digital Transformation - Verkko-opetus 1.8.2023-30.7.2024
Different conceptualizations of digital transformation; analysis of digital transformation cases; privacy and ethical issues around digital transformation; emerging technologies (e.g., blockchain, AI) that have been guiding digital transformation; theories, models and methods that have been used to assess the impact of digitalization.
- Responsible teacher: Najmul Islam
- Teacher: Bahalul Haque
CT70A9300 Software engineering seminar - Verkko-opetus 8.1.2024-19.4.2024
Research reporting. Finding and using software engineering literature. Systematic literature and mapping studies. Selecting a topic for a master thesis. Individual working on the topic that can be related to the master thesis. Writing a research report. Presenting research.
CT70A9200 Workshop for Scientific Writing - Monimuoto-opetus 30.10.2023-15.12.2023
Students who are starting their BSc thesis work will participate in the workshop, where fundamentals of how thesis work is written, what it should contain, and what are the basic good practices of writing a thesis on software engineering discipline are discussed. Learn the process and formulation of the content, and the written presentation of a scientific report.
- Responsible teacher: Damian Kedziora
- Responsible teacher: Annika Wolff
- Teacher: Jussi Kasurinen
CT70A9200 Workshop for Scientific Writing - Lähiopetus 4.3.2024-19.4.2024
Students who are starting their BSc thesis work will participate in the workshop, where fundamentals of how thesis work is written, what it should contain, and what are the basic good practices of writing a thesis on software engineering discipline are discussed. Learn the process and formulation of the content, and the written presentation of a scientific report.
- Responsible teacher: Damian Kedziora
- Responsible teacher: Annika Wolff
- Teacher: Jussi Kasurinen
- Teacher: Kari Smolander
CT70A9150 Introduction to DevOps - Verkko-opetus 1.6.2023-31.7.2023
Distributed version control systems (DVCS). Modern repository hosting platforms, such as GitHub and GitLab. Repository best practices, management, and administration. Solving repository errors. Continuous deployment processes and executing tests. Basics of container platforms, such as Docker. Deploying basic applications from source control systems.
- Responsible teacher: Erno Vanhala
- Teacher: Majad Qureshi
- Teacher: Majad Qureshi
CT70A9150 Introduction to DevOps - Online teaching 1.8.2023-31.7.2024
Distributed version control systems (DVCS). Modern repository hosting platforms, such as GitHub and GitLab. Repository best practices, management, and administration. Solving repository errors. Continuous deployment processes and executing tests. Basics of container platforms, such as Docker. Deploying basic applications from source control systems.
- Responsible teacher: Erno Vanhala
CT70A9140 Software Development Skills: Full-Stack - 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 course gives the student basic understanding of full-stack development. The goal is to create a basic front- and back-end and bundle them together as a complete system.
The focus is to understand the bigger picture and how to bundle different software components together to create a working program. You will learn how to use MEAN-stack as a full stack tool bundle to create an app from scratch.
Course is 100% online self-study.
- Responsible teacher: Erno Vanhala
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