![Course Image CT60A4002 Software Engineering - Blended teaching (in English, Lahti) 4.9.2023-15.12.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A4002 Software Engineering - Blended teaching (in English, Lahti) 4.9.2023-15.12.2023
Johdanto, ohjelmistontuotannon rooli erilaisten organisaatioiden toiminnassa, ohjelmistotuotantoprosessi, vaatimusmäärittely, mallinnus, UML, arkkitehtuurit, prosessin kehittäminen, projektinhallinta, GDPR, etiikka.
- Responsible teacher: Andrey Saltan
- Teacher: Abd El Kader Isselmou
- Teacher: Khanh Kieu
- Teacher: Marianne Seppänen
![Course Image CT60A4002 Ohjelmistotuotanto - Monimuoto-opetus 4.9.2023-15.12.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A4002 Ohjelmistotuotanto - Monimuoto-opetus 4.9.2023-15.12.2023
Johdanto, ohjelmistontuotannon rooli erilaisten organisaatioiden toiminnassa, ohjelmistotuotantoprosessi, vaatimusmäärittely, mallinnus, UML, arkkitehtuurit, prosessin kehittäminen, projektinhallinta, GDPR, etiikka.
- Responsible teacher: Jussi Kasurinen
- Teacher: Ville Felin
- Teacher: Ville Felin
- Teacher: Oskari Lehtonen
- Teacher: Oskari Lehtonen
- Teacher: François Pakkanen
![Course Image CT60A2500 Principles of C-Programming - Monimuoto-opetus, Lahti 4.3.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A2500 Principles of C-Programming - Monimuoto-opetus, Lahti 4.3.2024-19.4.2024
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: Jouni Järvinen
![Course Image CT60A2500 C-ohjelmoinnin perusteet - Monimuoto-opetus 8.1.2024-23.2.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A2500 C-ohjelmoinnin perusteet - Monimuoto-opetus 8.1.2024-23.2.2024
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
- Teacher: Ilpo Kainulainen
- Teacher: Roope Luukkainen
- Teacher: Emma Pakarinen
- Teacher: Rami Saarivuori
- Teacher: Demo Teacher1
![Course Image CT60A2411 Olio-ohjelmointi - Monimuoto-opetus 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A2411 Olio-ohjelmointi - Monimuoto-opetus 8.1.2024-19.4.2024
Oliopohjaisuus, luokat, periytyminen, luokkamallintamisen perusteet, Javan periaatteet, lauseet ja perustietorakenteet, abstraktit tietotyypit, poikkeukset, graafinen käyttöliittymä.
- Responsible teacher: Erno Vanhala
- Teacher: Pouya Amiri
- Teacher: Ilpo Kainulainen
- Teacher: Eerika Peltonen
- Teacher: Rami Saarivuori
![Course Image CT60A2411 Object-Oriented Programming - Monimuoto-opetus, Lahti 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A2411 Object-Oriented Programming - Monimuoto-opetus, Lahti 8.1.2024-19.4.2024
Oliopohjaisuus, luokat, periytyminen, luokkamallintamisen perusteet, Javan periaatteet, lauseet ja perustietorakenteet, abstraktit tietotyypit, poikkeukset, graafinen käyttöliittymä.
- Responsible teacher: Katja Karhu
- Responsible teacher: Venkata Marella
- Responsible teacher: Erno Vanhala
- Teacher: Đức Dương
- Teacher: Jiayao Liu
- Teacher: Eerika Peltonen
- Teacher: Rami Saarivuori
- Teacher: Cheng Xiao
![Course Image CT60A0250 Fundamentals of Programming for international programs - Monimuoto-opetus 4.9.2023-15.12.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A0250 Fundamentals of Programming for international programs - Monimuoto-opetus 4.9.2023-15.12.2023
The topics of the course include but are not limited to:
Writing and running Python programs using IDLE development environment
Inputting and outputting text
How to comment the program code
Different data types (strings, integers, floats, Booleans) and their operations
Type conversions between data types
Control structures: selection (if-else selection) iterations (for, while loops)
Functions, their parameters and return values. The structure of the program
Reading and writing files
Basic data structures (lists, dictionaries, tuples, sets)
Graphical user interfaces (GUIs) using Tkinter
Using some essential modules (math, datetime, random, urllib, json, NumPy) and writing own modules
Typical errors types and error messages. Exception handling
Algorithmics and recursive functions
- Responsible teacher: Jouni Järvinen
![Course Image CT60A0203 Ohjelmoinnin perusteet - Monimuoto-opetus (suomeksi, Lappeenranta) 4.9.2023-15.12.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A0203 Ohjelmoinnin perusteet - Monimuoto-opetus (suomeksi, Lappeenranta) 4.9.2023-15.12.2023
Ohjelmoinnin perusteet: Ohjelmoinnin taustaa, historiaa, käsitteitä; käyttäjän tarve ja ohjelma; kirjastot ja uudelleenkäytön hyötyjä sekä ongelmia; laadunvarmistus, testaaminen; data-analytiikka ohjelmoijan näkökulmasta; ohjelmointityylit; ohjelmien tehokkuus, algoritmi, pseudokoodi, rekursio, kääntäjä ja tulkki; tiedon esitysmuodot, ASCII ja muut merkkitaulukot, kantaluvut ja niiden muunnokset; käyttöliittymät, dokumentointi, kuvaustekniikat, graafinen ja komentorivikäyttöliittymä.
Python-ohjelmoinnin perusteet: Syöttö, tulostus ml. muotoiltu tulostus, tietotyypit, muuttujat, muuttujien roolit, tyyppimuunnokset, laskenta, merkkijonot; valintarakenne, ehdollinen koodi, haarautuminen, koodilohko, loogiset operaattorit, valikkopohjainen ohjelma; toistorakenteet, alkuehtoinen ja askeltava toisto; ohjelman rakenne, aliohjelmien määrittely ja kutsuminen, tiedonvälitys ohjelmien välillä, nimiavaruudet; tiedostonkäsittely, jäsenmuuttujat ja -funktiot; rakenteiset tietorakenteet, lista, luokka, olio, sanakirja, tuple; kirjastot; poikkeukset, virheet, debuggaus.
- Responsible teacher: Uolevi Nikula
- Teacher: Ilpo Kainulainen
- Teacher: Aku Kauria
- Teacher: Aku Kauria
- Teacher: Aku Kauria
- Teacher: Roope Luukkainen
- Teacher: Karri Miettinen
- Teacher: Karri Miettinen
- Teacher: Emma Niemenmaa
- Teacher: Joona Nykänen
- Teacher: Rami Saarivuori
- Teacher: Antti Savolainen
- Teacher: Demo Teacher1
- Teacher: Demo Teacher2
- Teacher: Demo Teacher3
- Teacher: Demo Teacher4
- Teacher: Demo Teacher5
- Teacher: Demo Teacher6
- Teacher: Demo Teacher7
- Teacher: Demo Teacher8
![Course Image CT30A8922 User Experience Design - Monimuoto-opetus 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A8922 User Experience Design - Monimuoto-opetus 8.1.2024-19.4.2024
The course will cover the following topics. 1. Design theories, principles and methods: what are the different ways to approach a design task? What methods can be used?2. User experience in design practices. How can we design for a better user experience?3. Co-design. How and why should we involve different stakeholders in the design process?4. Ideation. What tools and techniques can we use to help understand a problem?5. Prototyping. What are the different stages of prototyping and what can we find out from different types of prototype?6. End-user evaluation. What evaluation techniques should we use with end usersto get feedback on design ideas?7. Expert evaluation. How can design experts contribute to evaluation of prototypes?8. Usability studies and usability techniques. How can we conduct studies that determine the usability of a new product? Can people use it as planned? Do they want to?In groups, students are asked to develop and validate a design for a new software product or service. In each session, students will learn and apply methods to their design and iteratively improve and develop their design to a working prototype for usability testing. The course focuses on 'beyond the desktop' and non screen-based interfaces and prototyping with physical materials may be part of the group work.
- Responsible teacher: Annika Wolff
- Teacher: Sonja Hyrynsalmi
- Teacher: Ajesh Kumar
- Teacher: Shishir Sharma Bhandari
- Teacher: Shishir Sharma Bhandari
![Course Image CT30A8912 Software and system architectures - Monimuoto-opetus 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A8912 Software and system architectures - Monimuoto-opetus 8.1.2024-19.4.2024
The course centers around software architecture design and meeting the needs of the stakeholders of the system. The contents include basics of software and systems architecture, identifying architecturally significant requirements, designing software architecture with views, and evaluating software architectures. In addition, wider concepts of enterprise architecture and integration are introduced to put architectures in their context. The course includes a large practical design work that goes through these concepts.
- Responsible teacher: Kari Smolander
- Teacher: Stepan Bakhaev
- Teacher: Maryam Gulzar
![Course Image CT30A3401 Distributed Systems - Monimuoto-opetus 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A3401 Distributed Systems - Monimuoto-opetus 8.1.2024-19.4.2024
The course introduces the concepts of distributed systems including (but not limited to) processes, communication, naming, synchronization, and consistency. After the introductory part, design principles underlying the development of distributed systems are discussed followed by more advanced concepts such as fault tolerance and security. Students will also be familiarized with some of the main architectural paradigms in distributed systems: object-based systems, file systems, web-based and coordination-based systems. On the completion of the unit, students will understand the fundamentals of distributed computing and be able to design and develop distributed systems and applications.
- Responsible teacher: Syed Naqvi
- Teacher: Turzo Ahsan Sami
- Teacher: Muhammad Mumtaz
- Teacher: Hatef Shamshiri
![Course Image CT30A3370 Operating Systems and System Programming - Blended teaching in English, Lahti 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A3370 Operating Systems and System Programming - Blended teaching in English, Lahti 8.1.2024-19.4.2024
Käyttöjärjestelmän perusrakenteet ja –toiminnot: tiedostojärjestelmä, prosessit, prosessien ajoitus ja hallinta, muistinhallinta, oheislaitteet. Unix-järjestelmän rakenne. C-ohjelmointikieli ja sen ohjelmointiympäristö ja työkalut Unix-järjestelmässä. Unixin komentotulkki-ohjelmointi. Standardi I/O-kirjasto, kehittyneet I/O-toiminnot. Järjestelmätiedot ja –tiedostot. Prosessit, prosessien hallinta, prosessien väliset suhteet. Säikeet ja niiden hallinta. Palveluprosessit. Prosessienvälinen kommunikointi. Signaalit ja niiden hallinta.
- Responsible teacher: Jussi Kasurinen
- Responsible teacher: Venkata Marella
- Responsible teacher: Saddam Mukta
![Course Image CT30A3370 Käyttöjärjestelmät ja systeemiohjelmointi - Monimuoto-opetus 1.8.2023-30.7.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A3370 Käyttöjärjestelmät ja systeemiohjelmointi - Monimuoto-opetus 1.8.2023-30.7.2024
Käyttöjärjestelmän perusrakenteet ja –toiminnot: tiedostojärjestelmä, prosessit, prosessien ajoitus ja hallinta, muistinhallinta, oheislaitteet. Unix-järjestelmän rakenne. C-ohjelmointikieli ja sen ohjelmointiympäristö ja työkalut Unix-järjestelmässä. Unixin komentotulkki-ohjelmointi. Standardi I/O-kirjasto, kehittyneet I/O-toiminnot. Järjestelmätiedot ja –tiedostot. Prosessit, prosessien hallinta, prosessien väliset suhteet. Säikeet ja niiden hallinta. Palveluprosessit. Prosessienvälinen kommunikointi. Signaalit ja niiden hallinta.
- Responsible teacher: Jussi Kasurinen
- Teacher: Sharuka Amarasekara Rajapaksha
- Teacher: Roope Luukkainen
- Teacher: Veikko Moilanen
- Teacher: Veikko Moilanen
- Teacher: Emma Pakarinen
- Teacher: Elias Syyrilä
![Course Image CT30A3232 Basics of Linux - Monimuoto-opetus 4.9.2023-15.12.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A3232 Basics of Linux - Monimuoto-opetus 4.9.2023-15.12.2023
Linux-käyttöjärjestelmän asennus ja virtuaalikone, graafiset työpöytäympäristöt, terminaali ja peruskäskyt, komentorivipohjaiset tekstieditorit, komentoriviohjelmat ja niiden asennus, terminaali-I/O ja tiedostonhallintatyökalut, säännölliset lausekkeet, komentoriviohjelmointi, komentorivipohjaiset verkko-ohjelmat, etäkäyttö ja tiedostojen siirto.
- Responsible teacher: Jouni Ikonen
- Teacher: Eero Suomalainen
- Teacher: Elias Syyrilä
- Teacher: Elias Syyrilä
![Course Image CT30A3204 Advanced Web Applications - Monimuoto-opetus 30.10.2023-23.2.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A3204 Advanced Web Applications - Monimuoto-opetus 30.10.2023-23.2.2024
? TypeScript
? Node.js
? Express
? Template engines
? MongoDB
? React
? Authentication and authorization
? APIs
- Responsible teacher: Erno Vanhala
- Teacher: Vili Huusko
- Teacher: Vili Huusko
- Teacher: Rami Saarivuori
- Teacher: Eero Suomalainen
- Teacher: Eero Suomalainen
![Course Image CT30A2910 Introduction to Web Programming - Monimuoto-opetus 4.9.2023-20.10.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A2910 Introduction to Web Programming - Monimuoto-opetus 4.9.2023-20.10.2023
Web standards: HTTP, HTML, CSS and JavaScript. The browser environment with its Document object model (DOM). The most common content management systems and building web sites with commonly used tools.
- Responsible teacher: Erno Vanhala
- Teacher: Vili Huusko
- Teacher: Vili Huusko
- Teacher: Rami Saarivuori
- Teacher: Natasha Tylosky
![Course Image CT30A2803 User Interfaces and Usability - Monimuoto-opetus 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A2803 User Interfaces and Usability - Monimuoto-opetus 8.1.2024-19.4.2024
Design principles of web and mobile interfaces. Human-centered design process. Understanding users through basic HCI research methods and applying this knowledge in design. Design techniques, such as use cases, prototyping, story-boarding, and usability evaluation. Usability and user experience as concepts. Usability standards in interface design and usability testing. Design patterns and considerations of designing interfaces for modern software systems. Basics of front-end programming for user interfaces.
- Responsible teacher: Antti Knutas
- Responsible teacher: Joanna Saad-Sulonen
- Responsible teacher: Dominik Siemon
- Teacher: Avaneep Kamal
- Teacher: Hasan Mahmud
![Course Image CT10A9900 Introduction to DD Studies in Software and Systems Engineering - Lähiopetus (Lahti) 4.9.2023-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT10A9900 Introduction to DD Studies in Software and Systems Engineering - Lähiopetus (Lahti) 4.9.2023-19.4.2024
Ydinaines: opiskeluun liittyvät käytännön asiat, oppimistaidot, lähdeviittaustekniikka, yrittäjämäinen oppiminen, ajanhallinta, itsensä johtaminen, kirjaston tietokannat ja tiedonhaku, opintosuunnitelman ja urasuunnitelman laatiminen.
Täydentävä tieto: Orientaatioviikko, joka järjestetään viikkoa ennen opiskeluiden alkua.
- Responsible teacher: Roope Luukkainen
- Responsible teacher: Maria Paasivaara
- Teacher: Elina Hannikainen-Himanen
- Teacher: Lotta Kopo
- Teacher: Johanna Lahti
- Teacher: Minna Ranta
- Teacher: Marja Talikka
- Teacher: Ida-Maria Volturi
![Course Image CT10A9512 Research Design and Methods - Monimuoto-opetus 4.9.2023-15.12.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT10A9512 Research Design and Methods - Monimuoto-opetus 4.9.2023-15.12.2023
Principles of science and scientific communities. Epistemology and ontology in research. The practical research process. Designing research, research questions and hypotheses. Research methods including qualitative methods, experiments, quantitative methods, and design research. Reporting scientific work.
- Responsible teacher: Kari Smolander
- Teacher: Joanna Saad-Sulonen
- Teacher: Jaakko Vuolasto
![Course Image CT10A7080 Capstone Project on Sustainable Software Solutions - Monimuoto-opetus 8.1.2024-19.4.2024](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT10A7080 Capstone Project on Sustainable Software Solutions - Monimuoto-opetus 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. Delivery of the solution to the customer is required for the successful completion of the course.
- Responsible teacher: Shola Oyedeji
- Responsible teacher: Jari Porras
- Teacher: Hatef Shamshiri