Tietojenkäsittelytiede tutkii informaatiota kuvaavia ja muuntavia algoritmisia prosesseja sekä niiden automatisointia tietotekniikan tarjoamin välinein. Tietojenkäsittelytieteen tutkimuskenttä on laaja: se ulottuu ohjelmoinnista, tietokannoista ja tietoverkoista tekoälyyn ja tieteelliseen laskentaan. Uudet sovellusalueet avaavat jatkuvasti monenlaisia uusia mahdollisuuksia niin tutkimuksessa kuin työelämässäkin.

 

DEFA (Digital Education for All)

Tällä sivustolla näet myös Tietojenkäsittelytieteen osaston DEFA-hankkeeseen (Digital Education For All) kuuluvien opintojaksojen opinto-ohjelmia. Opinto-ohjelmia julkaistaan sitä mukaa kun ne valmistuvat. Huomaathan, että tällä sivustolla näkyy vain osa DEFA-kurssien opinto-ohjelmista. DEFA-sivustolla julkaistaan kaikkien kurssien opinto-ohjelmat. Matematiikan ja tilastotieteen DEFA-kurssit löytyvät matematiikan ja tilastotieteen sivuilta. Kursseille voit ilmoittautua Avoimen yliopiston opinto-ohjelmien Ilmoittaudu-linkistä tai DEFA-hankkeen kurssien koontisivuston kautta. DEFA-väylää koskeviin kysymyksiin vastataan osoitteesta DEFA-help@cs.helsinki.fi. Kurssin sisältöön tai suoritukseen liittyviin kysymyksiin saat nopeimmin vastauksen kurssin tukikanavilta tai vastuuhenkilöltä.

Opinnot Avoimessa yliopistossa

Tietojenkäsittelytieteen perusopinnot

Johdatus tietojenkäsittelytieteeseen, 5 op

Kurssin suoritettuasi sinulla on yleiskuva tietojenkäsittelytieteestä, mukaan lukien perustietoa alan etiikasta ja immateriaalioikeudesta. Opit hakemaan tieteellistä kirjallisuutta ja lukemaan tieteellistä kirjallisuutta englanniksi sekä osaat kirjoittaa alan asiatekstiä.

Ei edeltäviä yliopisto-opintoja. Kurssilaisilta ei edellytetä tietojenkäsittelytieteen muiden kurssien aiempaa suorittamista, mutta alan englanninkielistä tekstiä on syytä osata lukea.

Peruttu
Peruttu

Ohjelmoinnin perusteet, 5 op

Opintojaksolla perehdyt ohjelmoinnin keskeisiin periaatteisiin ja ajattelutapoihin. Kurssin sisältönä mm. algoritmit, ohjausrakenteet, aliohjelmat ja olio-ohjelmoinnin perusteet. Ohjelmointikielenä käytetään Javaa.

Voit suorittaa kurssin täysin verkossa niin mooc-kurssilla kuin monimuotokurssillakin. Monimuotokurssilla on kuitenkin myös aloitusluento, luentotallenteita, harjoitustapaamisia ja ohjausta ohjelmointiin. Monimuotokurssilla on opetusta kun taas mooc-kurssilla opiskellaan enemmän itsenäisesti. Verkkokurssi on monimuotokurssin harjoitusryhmä ilman harjoitustapaamisia.

Kurssilla ei ole esitietovaatimuksia, ei edellytetä ennakkotietoja ohjelmoinnista.

Ohjelmoinnin jatkokurssi, 5 op

Kurssin suoritettuasi olet tutustunut mm. periytymiseen ja rajapintoihin, UML-luokkakaavioihin, testivetoisen ohjelmistokehityksen ideaan, poikkeusten käsittelyyn, tiedostoihin kirjoittamiseen ja niistä lukemiseen, graafisiin käyttöliittymiin, ikkunoihin piirtämiseen ja animointiin, kokoelmiin, hajautustauluihin, taulukoihin sekä hakuun ja järjestämiseen. Osaat myös soveltaa oppimaasi ohjelmoinnissa.

Kurssin esitietovaatimuksena on ohjelmoinnin perusteiden tunteminen. Erityisesti Java-kieltä on jo osattava siinä laajuudessa kuin sitä opitaan kurssilla Ohjelmoinnin perusteet (AYTKT10002).

Tietokantojen perusteet, 5 op

Kurssin esitietovaatimuksena on Ohjelmoinnin perusteet (TKT10002) ja Ohjelmoinnin jatkokurssi (TKT10003). Näiden kurssien materiaaliin voi tutustua mm. osoitteessa https://materiaalit.github.io/ohjelmointi-18/

Tietokoneen toiminta, 5 op

Kurssilla opitaan:

  • Tietokonejärjestelmän rakenne
  • TTK-91 -tietokone ja sen simulaattori, konekielinen ohjelmointi, aliohjelmien toteutus
  • Suoritin ja väylä, tiedon esitysmuodot, tiedon muuttumattomuus ja muisti
  • Ohjelman ja käyttöjärjestelmän toteutus, ulkoinen muisti ja I/O:n toteutus
  • Käännös, linkitys ja lataus, tulkinta ja emulointi

On suositeltavaa, että opiskelija osaa ohjelmoida korkean tason kielellä ennen kurssille osallistumista. Esimerkiksi kurssi Ohjelmoinnin perusteet antaa riittävät esitiedot.

Tietokoneen toiminnan perusteet, 2 op

Opiskelija osaa selittää tietokonelaitteiston pääosat. Osaa selittää, mikä on sulautettu järjestelmä ja kuinka se eroaa tietokoneesta. Osaa selittää väylän toiminnan perusajatuksen. Osaa selittää, mikä on ohjelma ja minkälaisia esitysmuotoja sillä voi olla. Osaa selittää laitteistokomponenttien väliset suuret nopeuserot ja niiden vaikutukset järjestelmään.

Osaa selittää, kuinka suoritin toteuttaa konekäskyjen suorituksen käskyjen nouto- ja suoritussyklin avulla. Osaa selittää konekäskyjen erilaiset tavat viitata muistiin. Osaa selittää välimuistin toiminnan perusteet. Osaa selittää prosessorin erilaiset suoritustilat ja erityisesti etuoikeutetun suoritustilan tarkoituksen. Osaa selittää, milloin ja miten prosessorin suoritustila vaihtuu. Osaa selittää keskeytysten merkityksen ja toteutuksen konekäskyjen suorituksen tasolla. Osaa selittää keskeytysjärjestelmän toiminnan. Osaa selittää valinta- ja toistorakenteiden toiminnan konekielen tasolla.

Osaa tehdä kokonaislukujen esitysmuodon muutokset binääri-, heksadesimaali- ja desimaalijärjestelmien välillä. Osaa selittää, kuinka monitavuinen tieto voidaan tallettaa sanoihin kahdella eri tavalla. Osaa selittää kokonais- ja liukulukujen esitysmuodot sekä merkkien ja merkkijonojen tallennuksen periaatteet. Osaa selittää karkealla tasolla, kuinka (liikkuvat) kuvat ja äänet esitetään laitteistossa. Osaa selittää, minkälaista tieto suoritin osaa itse käsitellä ja kuinka muun tyyppisiä tietoja käsitellään ohjelmallisesti.

Osaa selittää prosessin käsitteen ja sen esitysmuodon käyttöjärjestelmässä. Osaa selittää prosessin erilaiset tilat ja tilojen väliset tilasiirtymät. Osaa selittää, milloin ja miten suorituksessa oleva prosessi vaihtuu. Osaa luetella käyttöjärjestelmän perustoiminnot (prosessien, muistin, tiedostojen, laitteiden ja verkon hallinta). Osaa selittää käännöksen, linkityksen ja latauksen tarkoituksen. Osaa selittää käyttöjärjestelmän tavoitteet ja perustoiminnot sekä käyttäjän näkökulmasta että käyttöjärjestelmän ylläpitäjän näkökulmasta. Osaa selittää käyttöjärjestelmä toteutusmekanismin erilaisten (etuoikeutettujen) aliohjelmien tai prosessien avulla. Osaa selittää, kuinka tietokoneen laskentakyvyn rajoja voidaan tutkia kokonaislukuarvoisten funktioiden avulla.

On suositeltavaa, että opiskelija osaa ohjelmoida korkean tason kielellä ennen kurssille osallistumista. Esimerkiksi kurssi Ohjelmoinnin perusteet antaa hyvät esitiedot. Ohjelmointitaito ei kuitenkaan ole välttämätöntä.

Tietojenkäsittelytieteen aineopintoja

Ohjelmistotekniikka, 5 op

Kurssilla tutustutaan eräisiin keskeisiin ohjelmistojen suunnitteluperiaatteisiin, ohjelmistotuotantoprosessin vaiheisiin, versionhallintaan, testaukseen sekä ohjelmiston rakenteen ja toiminnan mallintamiseen UML-kielen avulla. Opittua sovelletaan harjoitustyötä laadittaessa.

Esitietovaatimuksena ovat Ohjelmoinnin jatkokurssi ja Tietokantojen perusteet tai vastaavat tiedot.

Full Stack -websovelluskehitys, 3-8 op

Tietorakenteet ja algoritmit, 10 op

Opintojakson jälkeen opiskelija

  • osaa laatia algoritmeja soveltaen opintojaksolla esitettyjä perustekniikoita ja tietorakenteita sekä toteuttaa ne Java-kielellä
  • osaa analysoida algoritmin aika- ja tilavaativuutta O-merkinnän avulla ja perustella algoritmin oikeellisuuden esim. silmukkainvarianttia käyttäen
  • tuntee yksityiskohtaisesti erilaisten hakemistorakenteiden toteutukset
  • osaa toteuttaa tärkeimmät järjestämisalgoritmit ja tuntee niiden aikavaativuudet
  • tuntee verkkojen peruskäsitteet ja osaa toteuttaa tärkeimmät polunetsintään ja virittäviin puihin liittyvät algoritmit
  • käyttää opintojaksolla esitettyjä peruskäsitteitä (esim. hakemistot, verkot, järjestäminen) osana monimutkaisempien laskennallisten ongelmien ratkaisua ja valita tunnetuista algoritmeista tilanteeseen sopivan esim. aikavaativuuden perusteella

Esitietovaatimuksena on Ohjelmoinnin perus- ja jatkokurssi sekä Johdatus yliopistomatematiikkaan, tai vastaavat tiedot.

Johdatus tietoliikenteeseen, 2 op

Elements of AI: Tekoälyn perusteet, 2 op

Kurssin suorittamisen jälkeen opiskelija osaa:

  • nimetä autonomisuuden ja adaptiivisuuden tekoälyn ominaispiirteiksi
  • erottaa toisistaan tieteiskirjallisuuden tekoälyn ja oikean tekoälyn
  • kuvailla tekoälyn keskeiset filosofiset kysymykset liittyen Turingin testiin ja kiinalaisen huoneen ajatuskokeeseen
  • muotoilla tosielämän ongelmia etsintäongelmina
  • muotoilla yksinkertaisia pelejä (kuten ristinolla) pelipuuksi
  • soveltaa minimax-periaatetta optimaalisten pelisiirtojen ratkaisemiseen rajoitetun kokoeisessa pelipuussa
  • ilmaista todennäköisyysarvoja luonnollisina frekvensseinä
  • soveltaa Bayesin kaavaa yksinkertaisissa skenaarioissa
  • selittää esiintyvyysharhan ja välttää sen bayesilaisen päättelyn avulla selittää miksi koneoppimista tarvitaan
  • erottaa ohjatun ja ohjaamattoman koneoppimisen tilanteet toisistaan
  • selittää seuraavan kolmen ohjatun koneoppimisen menetelmän periaatteet: lähimmän naapurin luokitin, lineaariregressio ja logistinen regressio
  • selittää, mitä neuroverkot ovat ja mihin tarkoituksiin ne sopivat
  • ymmärtää myös neuroverkkojen taustalla olevien menetelmien rajoitukset
  • ymmärtää tulevaisuuden ennustamisen vaikeus, jotta voit paremmin arvioida tekoälystä esitettyjen väitteiden uskottavuutta
  • tunnistaa joitakin tekoälyn merkittävimpiä yhteiskunnallisia vaikutuksia, kuten algoritmista syrjintää, väärennettyjä sisältöjä, yksityisyydensuojaa ja työelämän murrosta

Ei muodollisia esitietovaatimuksia lukiomatematiikan lisäksi (perusaritmetiikka, murtoluvut)

The Elements of AI, 2 op

After completing the course, the student will be able to:

  • Identify autonomy and adaptivity as key concepts of AI
  • Distinguish between realistic and unrealistic AI (science fiction vs. real life)
  • Express the basic philosophical problems related to AI including the implications of the Turing test and Chinese room thought experiment
  • Formulate a real-world problem as a search problem
  • Formulate a simple game (such as tic-tac-toe) as a game tree
  • Use the minimax principle to find optimal moves in a limited-size game tree
  • Express probabilities in terms of natural frequencies
  • Apply the Bayes rule to infer risks in simple scenarios
  • Explain the base-rate fallacy and avoid it by applying Bayesian reasoning
  • Explain why machine learning techniques are used
  • Distinguish between unsupervised and supervised machine learning scenarios
  • Explain the principles of three supervised classification methods: the nearest neighbor method, linear regression, and logistic regression
  • Explain what a neural network is and where they are being successfully used
  • Understand the technical methods that underpin neural networks
  • Understand the difficulty in predicting the future and be able to better evaluate the claims made about AI
  • Identify some of the major societal implications of AI including algorithmic bias, AI-generated content, privacy, and work

No formal prerequisites beyond high-school mathematics (basic arithmetics with fractions)

Elements of AI: Grunderna i artificiell intelligens, 2 op

After completing the course, the student will be able to:

  • Identify autonomy and adaptivity as key concepts of AI
  • Distinguish between realistic and unrealistic AI (science fiction vs. real life)
  • Express the basic philosophical problems related to AI including the implications of the Turing test and Chinese room thought experiment
  • Formulate a real-world problem as a search problem
  • Formulate a simple game (such as tic-tac-toe) as a game tree
  • Use the minimax principle to find optimal moves in a limited-size game tree
  • Express probabilities in terms of natural frequencies
  • Apply the Bayes rule to infer risks in simple scenarios
  • Explain the base-rate fallacy and avoid it by applying Bayesian reasoning
  • Explain why machine learning techniques are used
  • Distinguish between unsupervised and supervised machine learning scenarios
  • Explain the principles of three supervised classification methods: the nearest neighbor method, linear regression, and logistic regression
  • Explain what a neural network is and where they are being successfully used
  • Understand the technical methods that underpin neural networks
  • Understand the difficulty in predicting the future and be able to better evaluate the claims made about AI
  • Identify some of the major societal implications of AI including algorithmic bias, AI-generated content, privacy, and work

No formal prerequisites beyond high-school mathematics (basic arithmetics with fractions)

DevOps with Docker, 1-3 op

1-3 credits depending on course exercise completion.

1. credit: Student has learned what docker is and knows how to use it in different scenarios.
2. credit: Student has general understanding of docker-compose and is able to implement advanced docker configurations.
3. credit: Student has deeper understanding of docker ecosystem and its use cases.

Student needs to have good CLI skills and a general understanding of software development.

Full Stack -websovelluskehitys harjoitustyö, 1-10 op

Web-palvelinohjelmointi Java, 5 op

Data Analysis with Python, 5 op

  • Can confidently write basic level Python programs without constantly consulting language/library documentation.
  • Can apply efficient and elegant Pythonic idioms to solve problems
  • Knows the different phases of data analysis pipeline
  • Knows the fundamental data types array, Series and DataFrame
  • Can clean data to form consistent Series and DataFrames without anomalies
  • Can select subsets, transform, reshape and combine data
  • Can extract summary statistics from data (min, max, mean, median, standard deviation)
  • Knows the main types of machine learning (supervised learning: regression and classification, unsupervised learning: clustering, dimensionality reduction, (density estimation))
  • Knows the estimator API of Scikit-Learn (choose model class, choose hyperparameters, form feature matrix and target vector, fit model, transform data or predict labels or responses)
  • Can form feature matrix and target vector suitable for Scikit-Learn's model fitting algorithms
  • Can visualize data as simple plots or histograms
  • Can apply basic data analysis skills to a simple project on an application field

Programming skills and basic knowledge of probability calculus and linear algebra.

The compulsory basic level courses in Bachelor's Programme in Science form a sufficient background.

Ohjelmistotuotanto, 6 op

Kurssin suoritettuaan opiskelija

  • Tuntee ohjelmistoprosessin, erityisesti ketterän prosessin vaiheet

  • Tietää miten vaatimuksia hallitaan ketterässä ohjelmistotuotantoprosessissa

  • Ymmärtää suunnittelun, toteutuksen ja testauksen vastuut ja luonteen ketterässä ohjelmistotuotannossa

  • Ymmärtää ohjelmiston laadunhallinnan perusteet

  • Osaa toimia ympäristössä, jossa ohjelmistokehitys tapahtuu hallitusti ja toistettavalla tavalla

Esitietovaatimuksena on kurssi Ohjelmistotekniikan menetelmät tai vastaavat tiedot.

Ohjelmistotuotantoprojekti, 10 op

Kurssin suoritettuaan opiskelija osaa toimia osana ketterien periaatteiden mukaan toimivaa ohjelmistokehitystiimiä määrittelyä, suunnittelua, toteutusta, laadunhallintaa ja tuotannossa operointia edellyttävissä rooleissa.

Esitietovaatimuksena on kurssi Ohjelmistotuotanto sekä kaksi aineopintojen harjoitustyötä.

Tietojenkäsittelytieteen muita opintoja

Tietotekniikka ja yhteiskunta, 5 op

Kurssilla ei ole erityisiä ennakkotietovaatimuksia ja se sopii niin sivu- kuin pääaineopiskelijoille.

Computing and Society, 5 op

Pilvipohjaiset web-sovellukset

Web-palvelinohjelmointi Java, 5 op

Full Stack -websovelluskehitys, 3-8 op

Full Stack -websovelluskehitys harjoitustyö, 1-10 op

DevOps with Docker, 1-3 op

1-3 credits depending on course exercise completion.

1. credit: Student has learned what docker is and knows how to use it in different scenarios.
2. credit: Student has general understanding of docker-compose and is able to implement advanced docker configurations.
3. credit: Student has deeper understanding of docker ecosystem and its use cases.

Student needs to have good CLI skills and a general understanding of software development.

Ohjelmistotuotanto, 6 op

Kurssin suoritettuaan opiskelija

  • Tuntee ohjelmistoprosessin, erityisesti ketterän prosessin vaiheet

  • Tietää miten vaatimuksia hallitaan ketterässä ohjelmistotuotantoprosessissa

  • Ymmärtää suunnittelun, toteutuksen ja testauksen vastuut ja luonteen ketterässä ohjelmistotuotannossa

  • Ymmärtää ohjelmiston laadunhallinnan perusteet

  • Osaa toimia ympäristössä, jossa ohjelmistokehitys tapahtuu hallitusti ja toistettavalla tavalla

Esitietovaatimuksena on kurssi Ohjelmistotekniikan menetelmät tai vastaavat tiedot.

Ohjelmistotuotantoprojekti, 10 op

Kurssin suoritettuaan opiskelija osaa toimia osana ketterien periaatteiden mukaan toimivaa ohjelmistokehitystiimiä määrittelyä, suunnittelua, toteutusta, laadunhallintaa ja tuotannossa operointia edellyttävissä rooleissa.

Esitietovaatimuksena on kurssi Ohjelmistotuotanto sekä kaksi aineopintojen harjoitustyötä.

Tekoäly ja datatiede

Elements of AI: Tekoälyn perusteet, 2 op

Kurssin suorittamisen jälkeen opiskelija osaa:

  • nimetä autonomisuuden ja adaptiivisuuden tekoälyn ominaispiirteiksi
  • erottaa toisistaan tieteiskirjallisuuden tekoälyn ja oikean tekoälyn
  • kuvailla tekoälyn keskeiset filosofiset kysymykset liittyen Turingin testiin ja kiinalaisen huoneen ajatuskokeeseen
  • muotoilla tosielämän ongelmia etsintäongelmina
  • muotoilla yksinkertaisia pelejä (kuten ristinolla) pelipuuksi
  • soveltaa minimax-periaatetta optimaalisten pelisiirtojen ratkaisemiseen rajoitetun kokoeisessa pelipuussa
  • ilmaista todennäköisyysarvoja luonnollisina frekvensseinä
  • soveltaa Bayesin kaavaa yksinkertaisissa skenaarioissa
  • selittää esiintyvyysharhan ja välttää sen bayesilaisen päättelyn avulla selittää miksi koneoppimista tarvitaan
  • erottaa ohjatun ja ohjaamattoman koneoppimisen tilanteet toisistaan
  • selittää seuraavan kolmen ohjatun koneoppimisen menetelmän periaatteet: lähimmän naapurin luokitin, lineaariregressio ja logistinen regressio
  • selittää, mitä neuroverkot ovat ja mihin tarkoituksiin ne sopivat
  • ymmärtää myös neuroverkkojen taustalla olevien menetelmien rajoitukset
  • ymmärtää tulevaisuuden ennustamisen vaikeus, jotta voit paremmin arvioida tekoälystä esitettyjen väitteiden uskottavuutta
  • tunnistaa joitakin tekoälyn merkittävimpiä yhteiskunnallisia vaikutuksia, kuten algoritmista syrjintää, väärennettyjä sisältöjä, yksityisyydensuojaa ja työelämän murrosta

Ei muodollisia esitietovaatimuksia lukiomatematiikan lisäksi (perusaritmetiikka, murtoluvut)

The Elements of AI, 2 op

After completing the course, the student will be able to:

  • Identify autonomy and adaptivity as key concepts of AI
  • Distinguish between realistic and unrealistic AI (science fiction vs. real life)
  • Express the basic philosophical problems related to AI including the implications of the Turing test and Chinese room thought experiment
  • Formulate a real-world problem as a search problem
  • Formulate a simple game (such as tic-tac-toe) as a game tree
  • Use the minimax principle to find optimal moves in a limited-size game tree
  • Express probabilities in terms of natural frequencies
  • Apply the Bayes rule to infer risks in simple scenarios
  • Explain the base-rate fallacy and avoid it by applying Bayesian reasoning
  • Explain why machine learning techniques are used
  • Distinguish between unsupervised and supervised machine learning scenarios
  • Explain the principles of three supervised classification methods: the nearest neighbor method, linear regression, and logistic regression
  • Explain what a neural network is and where they are being successfully used
  • Understand the technical methods that underpin neural networks
  • Understand the difficulty in predicting the future and be able to better evaluate the claims made about AI
  • Identify some of the major societal implications of AI including algorithmic bias, AI-generated content, privacy, and work

No formal prerequisites beyond high-school mathematics (basic arithmetics with fractions)

Elements of AI: Grunderna i artificiell intelligens, 2 op

After completing the course, the student will be able to:

  • Identify autonomy and adaptivity as key concepts of AI
  • Distinguish between realistic and unrealistic AI (science fiction vs. real life)
  • Express the basic philosophical problems related to AI including the implications of the Turing test and Chinese room thought experiment
  • Formulate a real-world problem as a search problem
  • Formulate a simple game (such as tic-tac-toe) as a game tree
  • Use the minimax principle to find optimal moves in a limited-size game tree
  • Express probabilities in terms of natural frequencies
  • Apply the Bayes rule to infer risks in simple scenarios
  • Explain the base-rate fallacy and avoid it by applying Bayesian reasoning
  • Explain why machine learning techniques are used
  • Distinguish between unsupervised and supervised machine learning scenarios
  • Explain the principles of three supervised classification methods: the nearest neighbor method, linear regression, and logistic regression
  • Explain what a neural network is and where they are being successfully used
  • Understand the technical methods that underpin neural networks
  • Understand the difficulty in predicting the future and be able to better evaluate the claims made about AI
  • Identify some of the major societal implications of AI including algorithmic bias, AI-generated content, privacy, and work

No formal prerequisites beyond high-school mathematics (basic arithmetics with fractions)

Data Analysis with Python, 5 op

  • Can confidently write basic level Python programs without constantly consulting language/library documentation.
  • Can apply efficient and elegant Pythonic idioms to solve problems
  • Knows the different phases of data analysis pipeline
  • Knows the fundamental data types array, Series and DataFrame
  • Can clean data to form consistent Series and DataFrames without anomalies
  • Can select subsets, transform, reshape and combine data
  • Can extract summary statistics from data (min, max, mean, median, standard deviation)
  • Knows the main types of machine learning (supervised learning: regression and classification, unsupervised learning: clustering, dimensionality reduction, (density estimation))
  • Knows the estimator API of Scikit-Learn (choose model class, choose hyperparameters, form feature matrix and target vector, fit model, transform data or predict labels or responses)
  • Can form feature matrix and target vector suitable for Scikit-Learn's model fitting algorithms
  • Can visualize data as simple plots or histograms
  • Can apply basic data analysis skills to a simple project on an application field

Programming skills and basic knowledge of probability calculus and linear algebra.

The compulsory basic level courses in Bachelor's Programme in Science form a sufficient background.

Cyber Security Base

Cyber Security Base with F-Secure is a free course series by University of Helsinki in collaboration with F-Secure Cyber Security Academy that focuses on building core knowledge and abilities related to the work of a cyber security professional.

Cyber Security Base: Introduction to Cyber Security, 1 op

Cyber Security Base: Securing Software, 3 op

Cyber Security Base: Course Project I, 1 op

Cyber Security Base: Advanced Topics, 3 op

Open un: Cyber Security Base: Course Project II, 1 op

Cyber Security Base: Capture The Flag, 1 op

Hakijapalvelut
Opinnoista kiinnostuneiden opintoneuvonta ja ilmoittautumiseen liittyvät asiat
Opiskelijaneuvonta
Avoimessa yliopistossa opiskelevien yleisneuvonta
DEFA-opinnot
Kysy hankkeesta ja opinnoista
Jaana Lampikoski, koulutusasiantuntija
Kysy opintotarjonnasta ja opiskelumuodoista
Kai Korpimies, lehtori
Kysy opintojaksojen sisällöistä