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: Md Hasan
CT60A4800 Fundamentals of smart systems - Lähiopetus (Lahti) 4.9.2023-15.12.2023
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
CT60A4700 Advanced networks - Monimuoto-opetus (Lahti) 30.10.2023-15.12.2023
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
- Teacher: Muhammad Hamza
CT60A4304 Basics of database systems - Monimuoto-opetus, Lahti 8.1.2024-23.2.2024
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: Iflaah Salman
- Responsible teacher: Marianne Seppänen
CT60A4304 Basics of database systems - Monimuoto-opetus 8.1.2024-23.2.2024
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
CT60A4160 Ohjelmistotestauksen periaatteet - Monimuoto-opetus (Lappeenranta) 4.9.2023-20.10.2023
Ohjelmistotestauksen tekniikat, tasot, automatisointi, työkalut, toimiminen testaustiimissä testaajana.
- Responsible teacher: Erno Vanhala
- Teacher: Lauri Pyykkö
- Teacher: Lauri Pyykkö
- Teacher: Eero Suomalainen
- Teacher: Eero Suomalainen
CT60A4160 Fundamentals of Software Testing - Blended teaching (in English, Lahti) 4.9.2023-20.10.2023
Ohjelmistotestauksen tekniikat, tasot, automatisointi, työkalut, toimiminen testaustiimissä testaajana.
- Responsible teacher: Azeem Akbar
- Teacher: Savita Kaushal