![Course Image CT70A6100 Advanced Course on Software Business - Verkko-opetus 1.6.2023-30.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT70A6100 Advanced Course on Software Business - Verkko-opetus 1.6.2023-30.7.2023
The course presents economical theories seen in the software industry as well as covers different revenue internationalization models.
- Responsible teacher: Sami Hyrynsalmi
![Course Image CT70A3000 Software Maintenance - Verkko-opetus 1.6.2023-30.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT70A3000 Software Maintenance - Verkko-opetus 1.6.2023-30.7.2023
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
![Course Image CT60A5103 Software Engineering Models and Modeling - Verkko-opetus 1.6.2023-30.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A5103 Software Engineering Models and Modeling - Verkko-opetus 1.6.2023-30.7.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: Srinivas Pandi
![Course Image CT60A4160 Ohjelmistotestauksen periaatteet - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A4160 Ohjelmistotestauksen periaatteet - Verkko-opetus 1.6.2023-31.7.2023
Ohjelmistotestauksen tekniikat, tasot, automatisointi, työkalut, toimiminen testaustiimissä testaajana.
- Responsible teacher: Erno Vanhala
- Teacher: Vili Huusko
![Course Image CT60A4002 Ohjelmistotuotanto - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A4002 Ohjelmistotuotanto - Verkko-opetus 1.6.2023-31.7.2023
Johdanto, ohjelmistontuotannon rooli erilaisten organisaatioiden toiminnassa, ohjelmistotuotantoprosessi, vaatimusmäärittely, mallinnus, UML, arkkitehtuurit, prosessin kehittäminen, projektinhallinta, GDPR, etiikka.
- Responsible teacher: Jussi Kasurinen
- Teacher: Elias Syyrilä
![Course Image CT60A2500 C-ohjelmoinnin perusteet - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A2500 C-ohjelmoinnin perusteet - Verkko-opetus 1.6.2023-31.7.2023
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: Roope Luukkainen
- Teacher: Joona Nykänen
- Teacher: Joona Nykänen
- Teacher: Elias Syyrilä
- Teacher: Demo Teacher4
![Course Image CT60A2411 Olio-ohjelmointi - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A2411 Olio-ohjelmointi - Verkko-opetus 1.6.2023-31.7.2023
Oliopohjaisuus, luokat, periytyminen, luokkamallintamisen perusteet, Javan periaatteet, lauseet ja perustietorakenteet, abstraktit tietotyypit, poikkeukset, graafinen käyttöliittymä.
- Responsible teacher: Erno Vanhala
- Teacher: Vili Huusko
- Teacher: Vili Huusko
- Teacher: Eero Suomalainen
- Teacher: Eero Suomalainen
- Teacher: Elias Syyrilä
- Teacher: Elias Syyrilä
![Course Image CT60A0203 Ohjelmoinnin perusteet - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A0203 Ohjelmoinnin perusteet - Verkko-opetus 1.6.2023-31.7.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: Roope Luukkainen
- Teacher: Joona Nykänen
- Teacher: Joona Nykänen
- Teacher: Rami Saarivuori
- Teacher: Elias Syyrilä
- Teacher: Demo Teacher1
- Teacher: Demo Teacher2
- Teacher: Demo Teacher3
- Teacher: Demo Teacher4
- Teacher: Demo Teacher5
![Course Image CT30A8912 Software and system architectures - Verkko-opetus 1.6.2023-30.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A8912 Software and system architectures - Verkko-opetus 1.6.2023-30.7.2023
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
![Course Image CT30A3232 Basics of Linux - Verkko-opetus 1.6.2023-30.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A3232 Basics of Linux - Verkko-opetus 1.6.2023-30.7.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: Avaneep Kamal
- Teacher: Eero Suomalainen
- Teacher: Elias Syyrilä
- Teacher: Elias Syyrilä
![Course Image CT30A3204 Advanced Web Applications - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A3204 Advanced Web Applications - Verkko-opetus 1.6.2023-31.7.2023
? TypeScript
? Node.js
? Express
? Template engines
? SASS
? MongoDB
? React
? Authentication and authorization
? APIs
- Responsible teacher: Erno Vanhala
- Teacher: Vili Huusko
- Teacher: Eero Suomalainen
- Teacher: Eero Suomalainen
![Course Image CT30A2910 Introduction to Web Programming - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A2910 Introduction to Web Programming - Verkko-opetus 1.6.2023-31.7.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
![Course Image CT30A2803 User Interfaces and Usability - Verkko-opetus 1.6.2023-31.7.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT30A2803 User Interfaces and Usability - Verkko-opetus 1.6.2023-31.7.2023
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: Sreman Chandio
- Teacher: Sreman Chandio
- Teacher: Yishak Gebremichael
- Teacher: Yishak Gebremichael
- Teacher: Avaneep Kamal
- Teacher: Yekaterina Kovaleva
![Course Image CT10A4000 Bachelor's Thesis and Seminar - Luento-opetus, Lahti 29.5.2023-31.8.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT10A4000 Bachelor's Thesis and Seminar - Luento-opetus, Lahti 29.5.2023-31.8.2023
Teknologiaan ja sitä sivuaviin (tieto)teknisiin aiheisiin liittyvä itsenäinen suunnittelu- ja toteutusprojekti, josta tiedon kerääminen ja analysointi tapahtuu hyvää akateemista tapaa noudattaen. Opitun osoittaminen tapahtuu tuottamalla akateeminen opinnäyteraportti ja lisäksi opinnäytteen suunnitelma ja lopputulema esitetään kurssin seminaareissa.
- Responsible teacher: Damian Kedziora
- Responsible teacher: Maria Paasivaara
- Teacher: Jussi Kasurinen
![Course Image Spark testikurssi 8 TITE (2.1.2023 - 15.2.2023)](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
- Responsible teacher: Jukka Matikainen
![Course Image CT10A7011 Running a Software Project - Monimuoto-opetus 16.1.2023-12.5.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT10A7011 Running a Software Project - Monimuoto-opetus 16.1.2023-12.5.2023
Students form teams that run a real software project from customer needs to requirements, from implementation to testing. Topics for the projects are generated by 'real' customers based on some theme. The focus of the course is on project management issues from customer interaction (from needs to customer testing) to internal project management. Each team will create a project plan with proper requirements analysis, design and implementation plan ending to real user testing. Teams run their own projects independently but each team needs to present the progress and development plan for the next week on a weekly basis. The project is closed with a written report, a presentation of the project results, and a project post mortem analysis. Delivery of the solution to the customer is required for successful completion of the course.
- Responsible teacher: Uolevi Nikula
- Teacher: Irina Safonova
- Teacher: Marianne Seppänen
![Course Image CT60A4304 Basics of database systems - Luento-opetus Lahti 16.1.2023-3.3.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A4304 Basics of database systems - Luento-opetus Lahti 16.1.2023-3.3.2023
Database systems. Database design. Object-centric modeling and ER-modeling. Specifying relation models. SQL and object languages.
Perspectives into database design: How database is designed, how information is modeled, and what are information storage structures and access methods.
Transforming ER models to relation model, and then to relation databases. The use of different file formats in different environments. Perspectives to database programming: queries and other operations, database management, e.g. triggers. Implementing databases in practice and how to use SQL databases from other programs.
- Responsible teacher: Iflaah Salman
![Course Image Software Engineering Research Seminar](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
- Teacher: Maria Paasivaara
- Teacher: Annika Wolff
![Course Image CT60A5521 Ohjelmistojärjestelmien tietoturva - Online teaching in English 16.1.2023-21.4.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A5521 Ohjelmistojärjestelmien tietoturva - Online teaching in English 16.1.2023-21.4.2023
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: Kseniia Perova
- Teacher: Kseniia Perova
![Course Image CT60A5531 Software Project Management - Lectures in Lahti 16.1.2023-28.4.2023](http://moodle.lut.fi/pluginfile.php/1/theme_maker_lut/defaultcourseimage/1720592151/lut-moodle-kurssi-1920x300.jpg)
CT60A5531 Software Project Management - Lectures in Lahti 16.1.2023-28.4.2023
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
- Responsible teacher: Micheal Tuape