Pääaineen tavoitteet
Opintojen mallisuoritusjärjestys
Oranssi: perusopinto | Vihreä: pääaineen opinto |
Ensimmäinen vuosi
Toinen vuosi
2. syksy | 2. kevät |
Aalto-kurssi (3 op) | |
Vieras kieli (3 op) | |
Differentiaali- ja integraalilaskenta 2 | Tietokoneverkot |
Todennäköisyyslaskennan ja tilastotieteen peruskurssi | Software Project 2 |
Data Structures and Algorithms | Theoretical Computer Science |
Software Project 1 | Pääaineen valinnainen |
Pääaineen valinnainen | Vapaasti valittava / sivuainekurssi |
Vapaasti valittava / sivuainekurssi |
Kolmas vuosi
3. syksy | 3. kevät |
SCI-projektikurssi (5 op) ja pääaineen valinnainen (5 op) | SCI-projektikurssi (5 op) ja pääaineen valinnainen (5 op) |
tai Kandidaatintyö ja seminaari (10 op) | tai Kandidaatintyö ja seminaari (10 op) |
Vapaasti valittava / sivuainekurssi | Vapaasti valittava / sivuainekurssi |
Vapaasti valittava / sivuainekurssi | Vapaasti valittava / sivuainekurssi |
Vapaasti valittava / sivuainekurssi | Vapaasti valittava / sivuainekurssi |
Vapaasti valittava / sivuainekurssi | Vapaasti valittava / sivuainekurssi |
Kurssien laajuus on 5 op, jos ei muuta ilmoiteta.
Perusopinnot
Laajuus: 65 op
Vastuuprofessori: prof. Tuomas Aura
Koodi: SCI3027.A
Koodi | Kurssin nimi | Op | Periodi | Suoritus- |
Tietotekniikka 15 op: | ||||
Ohjelmointi 1 Kurssin suoritettuasi ohjelmointi on sinusta hyödyllistä ja hauskaa. Osaat itse kirjoittaa uusia tietokoneohjelmia ja tutkia ja muokata toisten kirjoittamia ohjelmia. Tunnet ohjelmoinnin keskeisimmät käsitteet, ja osaat keskustella niistä ja opetella itse lisää. Kurssi on työläs mutta palkitseva. | 5 | I-II | 1. | |
Programming 2 Johdatus tietokoneen toimintaan porttitasolta korkean tason ohjelmointikieliin. Ohjelmoinnin abstraktiot ja suorituskykyanalyysi. Funktionaalinen ohjelmointi, mm. rekursiiviset määritelmät ja rekursio. Johdatus algoritmiseen ongelmanratkaisuun, tietojenkäsittelytieteen ajattelutapa. Kurssin pääkieli on englanti; ohjausta saa myös suomeksi ja ruotsiksi. | 5 | IV-V | 1. | |
Data Structures and Algorithms Kurssin suoritettuasi osaat tunnistaa, määritellä, esitellä, vertailla ja toteuttaa tietorakenteita ja algoritmeja sekä valita niitä mm. hakurakenteiksi ja järjestämisongelmaan. Pystyt myös keskustelemaan keskeisistä tietorakenteista ja algoritmeista käyttäen alan tyypillistä terminologiaa. Kurssin pääkieli on englanti; ohjausta saa myös suomeksi ja ruotsiksi. | 5 | I-II | 2. | |
Matematiikka 25 op. Valitse joko suomen- tai ruotsinkieliset kurssit: | ||||
MS-A0401 * | Diskreetin matematiikan perusteet | 5 | I | 1. |
Grundkurs i diskret matematik | I | 2. | ||
Differentiaali- ja integraalilaskenta 1 (SCI) | 5 | II | 1. | |
Differential- och integralkalkyl 1 | I | |||
Matriisilaskenta (SCI) | 5 | III | 1. | |
Matrisräkning | II | |||
Differentiaali- ja integraalilaskenta 2 (SCI) | 5 | I | 2. | |
Differential- och integralkalkyl 2 | III | 1. | ||
MS-A0502 * | Todennäköisyyslaskennan ja tilastotieteen peruskurssi | 5 | II | 2. |
Grundkurs i sannolikhetskalkyl och statistik | III | |||
Fysiikka 10 op. Valitse joko suomen- tai ruotsinkieliset kurssit: | ||||
Sähkömagnetismi (SCI) | 5 | III | 1. | |
Elektromagnetism | III | |||
Aineen rakenne (SCI) | 5 | IV | 1. | |
Materiens struktur | I | |||
Tuotantotalous 5 op. Valitse joko suomen- tai ruotsinkielinen kurssi: | ||||
Tuotantotalous 1 | 5 | I-II | 1. | |
Grundkurs i Produktionsekonomi | 5 | I-II | 1. | |
Yleis-, kieli-, ja Aalto-opinnot 10 op: | ||||
Johdatus opiskeluun | 2 | I-V | 1. | |
| Aalto-opinnot | 3 |
| 2. |
LC-5001 ** | Toisen kotimaisen kielen (ruotsi) kokeen kirjallinen osio | 1 |
| 1. |
LC-7001** | Toisen kotimaisen kielen (suomi) kokeen kirjallinen osio | |||
LC-5002 ** | Toisen kotimaisen kielen (ruotsi) kokeen suullinen osio | 1 |
| 1. |
LC-7002** | Toisen kotimaisen kielen (suomi) kokeen suullinen osio | |||
** | Vieras kieli | 3 |
| 2. |
* Kurssista on useita rinnakkaisia versioita eri periodeilla. Mikä tahansa rinnakkaisista versioista käy perusopintoihin, mutta tässä mainittu kurssikoodi on ensisijainen, tietotekniikan malliohjelman mukainen kurssi.
** Lisätietoja kieliopinnoista ja kielitaidon osoittamiseen kelpaavista kursseista on sivulla Tutkinnon kieli- ja viestintäopinnot.
Pääaineopinnot
Laajuus: 65 op
Vastuuprofessori: prof. Tuomas Aura
Koodi: SCI3027
Koodi | Kurssin nimi | Op | Periodi | Suoritusvuosi |
Pakolliset kurssit 50 op: | ||||
Tietokannat Tietokantoja tarvitaan kaikkialla: opiskelijarekistereissä, verkkokaupoissa, terveydenhuollon tietojärjestelmissä jne. Tällä kurssilla opit suunnittelemaan tietokantoja ja tekemään erilaisia tietokantakyselyjä SQL-kielellä. Kurssilla käsitellään lyhyesti myös muita tietokantatyyppejä. | 5 | III-V | 1. | |
Ohjelmointistudio 1 Kurssilla opiskellaan ongelmalähtöisesti digitaalisen median peruskäsitteitä ja syvennetään ohjelmointiosaamista mediaohjelmoinnin avulla. Pääset harjoittelemaan ohjelmointia tehtävissä, joiden aiheena on esim. kuvan ja äänen esitys, pakkaus ja suodatus. Kurssilla opitaan myös ryhmässä toimimista sekä avointen ongelmien ratkaisua. Huom! Kurssi suoritetaan yhdessä kurssin CS-A1110 Ohjelmointi 1 kanssa. | 5 | I-II | 1. | |
Ohjelmointistudio 2: projekti Kurssilla opetellaan laajempien ohjelmien suunnittelua ja toteutustekniikoita yksilöllisen ohjelmointiprojektin ja harjoitusten kautta. Kurssi myös esittelee uusia ohjelmoinnin abstraktioita ja rakenteita sekä työkaluja koodin hallintaan ja jatkokehityksen helpottamiseen. | 5 | III-V | 1. | |
Software Project 1 In Software Project 1-2, students carry out a large software development project in teams for a real client from industry or academia. The students become familiar with the problem domain and implementation technologies of the chosen project. They also get an understanding of the structure and technical and non-technical challenges of software development projects | 5 | I-II | 2.-3. | |
Software Project 2 | 5 | III-IV | 2.-3. | |
Theoretical Computer Science In this course you will learn the basic models of computation and to build and use such computing machines. Finite automata, regular languages, pushdown automata, context-free grammars, Turing machines and computability, basics of computational complexity. You will also learn about the foundations behind the science of software, which are formal logic and theorem proving. | 5 | III-IV | 2. | |
Tietokoneverkot Kurssilla tutustutaan verkkosovellusten ja tietokoneverkkojen toimintaan. Ymmärrät, kuinka Internet toimii, ja miten sen palveluita käytetään ohjelmistoissa. Osaat kirjoittaa verkon yli toimivia sovelluksia. | 5 | III-IV | 2. | |
SCI-projektikurssi Kurssilla toteutetaan tuotekehitysprojekti monialaisessa ryhmässä, jossa toimit tietotekniikan asiantuntijana. Opit tyypillisen innovaatioprosessin vaiheet, ongelmanratkaisua, omien ajatusten esittämistä, liiketoimintanäkökohtien huomioimista ja projektinhallintaa. | 5 | I-II | Aikaisintaan 2. kevät | |
Kandidaatintyö ja -seminaari Kandidatarbete och seminarium | 10 | I-II | 3. | |
SCI.kyps | Kypsyysnäyte | 0 |
| 3. |
Valitse kolme seuraavista kursseista (yhteensä 15 op). Opiskelija voi halutessaan suorittaa enemmänkin pääaineen valinnaisia kursseja ja sisällyttää ylimääräiset vapaasti valittaviin opintoihin: | ||||
Computer Graphics Three-dimensional computer graphics denotes the techniques that draw everything on your screen when you play a game or watch an effects-heavy movie. The course covers the fundamentals of 3D graphics from a modern perspective, from geometric modeling to animation and to efficient rendering. | 5 | I-II | 2.-3. | |
Human-Computer Interaction This course covers the foundations of Human-Computer Interaction - how computer systems are designed to support the needs of the people who will use them. We introduce UI and UX design with focus on a user-centered design process, from understanding user requirements to prototyping and testing designs, as part of the software development process. We also look into how the relationship between computers and humans is evolving, and how we might interact with computer systems in the future. | 5 | I-II | 2.-3. | |
Data Science The goal of data science is to extract useful and insightful knowledge from digital data. This course introduces students to data-science methodology and tools. You will learn to represent natural data in digital form and to apply elementary statistical and algorithmic methods to process the digital data, leading to actionable results. Statistical estimation of parametric distributions, classification, prediction, clustering, pattern mining and network analysis. The course serves as a basis for subsequent studies in data analysis and machine learning. | 5 | II | 2.-3. | |
Operating Systems Operating systems provide basic services and abstractions on which most computing applications and services are built. This course covers the fundamental components and functions of a complex operating system from process and memory management to file systems, networking and device drivers. Linux is used as a practical example. | 5 | I | 2.-3. | |
Web Software Development The distributed architecture of web software differs fundamentally from traditional desltop software. This course provides a software development viewpoint to the web, covering both the client and server sides through exercises and a group project on web service development. | 5 | II-III | 2.-3. | |
Information Security Fundamental concepts and models of computer security, common security mechanisms and their limitations, threat analysis, data privacy, secure programming. Learn to think like the attacker. | 5 | I | 2.-3. | |
Software Engineering The course provides a broad, but practical view of the major areas in software engineering, including requirements, design, implementation, testing, and delivery as well as software processes, including traditional and agile development. The course is delivered in moodle and consists of a fixed schedule of video lectures and assignments. | 5 | I-II, III-IV | 2.-3. | |
Programming Parallel Computers This is a practical hands-on course on algorithm | 5 | V | 2.-3. |
Tietotekniikan opiskelijoille, jotka haluavat laajentaa matemaattista tai menetelmällistä osaamistaan pääainetta tukevilla opinnoilla, suositellaan esimerkiksi seuraavia vapaavalintaisia kursseja:
Koodi | Kurssin nimi | Op | Periodi |
MS-C1081 | Abstract algebra | 5 | III |
MS-C1342/ MS-C1343 | Lineaarialgebra/ Linear algebra | 5 | V I |
MS-C1620 | Statistical inference | 5 | III-IV |
MS-C2105 | Introduction to optimization | 5 | IV |
MS-C2111 | Stochastic processes | 5 | II |
ELEC-A7100 | C-ohjelmoinnin peruskurssi | 5 | III-V |
ELEC-A7151 | Object oriented programming with C++ | 5 | I-II |
CS-E3190 | Principles of Algorithmic Techniques | 5 | I-II |
CS-E4600 | Algorithmic Methods of Data Mining | 5 | I-II |
CS-E4800 | Artificial Intelligence | 5 | III-IV |
CS-E4840 | Information Visualization | 5 | IV |