<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fi">
	<id>https://fuksiwiki.tko-aly.fi/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pniko</id>
	<title>Fuksiwiki - Käyttäjän muokkaukset [fi]</title>
	<link rel="self" type="application/atom+xml" href="https://fuksiwiki.tko-aly.fi/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pniko"/>
	<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/Toiminnot:Muokkaukset/Pniko"/>
	<updated>2026-05-01T07:13:59Z</updated>
	<subtitle>Käyttäjän muokkaukset</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=14004</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=14004"/>
		<updated>2026-02-19T15:57:56Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Tietojenkäsittely ja yhteiskunta jako 2+3 op&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Monet kurssien kuvauksista ovat edelleen vanhan opetussuunnitelman (2020-2023) mukaisia. Toisaalta monet kurssit ovat myös pysyneet hyvin samanlaisina, vaikka nimi olisikin muuttunut uudessa opetussuunnitelmassa (2023-2026).&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tietokone ja Internet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tintti}}&lt;br /&gt;
&lt;br /&gt;
Kurssi tiivistää aikaisemmat kurssit Tietokoneen Toiminta ja Tietoliikenteen Perusteet yhdeksi yhtenäiseksi kokonaisuudeksi. Tähän kuuluu mm.: Tietokoneen osien toiminta, sekä kommunikointi näiden osien välillä, Konekielen opettelua (Risc-V), Eri binääri muotojen tulkitsemista, Internet protokolla pinon toiminta, Internet tietoliikenteen toiminta sekä Virtuaaliympäristöjen perusteita. Kurssin koostuu pääasiassa näitä aiheita käsittelevistä pienryhmissä tehtävistä esseistä. Näiden lisäksi kurssilla myös moodlessa tehtäviä yksilötehtäviä. Tietokone ja internet kurssia suositellaan otettavaksi heti fuksisyksyyn. Kurssi kestää kaksi periodia, eli jouluun asti. Kurssi saattaa tuntua haastavalta heti opiskelujen alkuun, mutta pitkä pinna ja toimiva ryhmätyö on avain onneen.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä OhPe}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on Python.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä OhJa}}&lt;br /&gt;
&lt;br /&gt;
Nimensä mukaisesti kurssilla jatketaan siitä, mihin ohjelmoinnin perusteella jäätiin. Opetus järjestetään myös samaan tapaan. Perusasioiden ollessa hallussa, harjoitustehtävien ohjelmat laajenevat ja tulevat entistä mielenkiintoisemmiksi - ja haastavammiksi. Ohjelmoinnin jatkokurssin jälkeen opiskelija pystyy ohjelmoimaan itsenäisesti ja hyödyntämään internetiä ohjelmointitaitojensa kehittämisessä.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tikape}}&lt;br /&gt;
&lt;br /&gt;
Tämä kurssi on murrosvaiheessa, ja kuvauksemme saattaakin olla auttamatta vanhentunut tätä luettaessa. Mutta yritetään! Tietokantojen perusteisiin kuuluu tietokantojen suunnittelu ja lukuisten erilaisten kaavioiden piirrustelu, tietokannan käyttö Javalla, sekä SQL:n käyttö. Toteutukseen kuuluu viikottaisia yksin tai pajassa tehtäviä harjoituksia, sekä jokaviikkoinen ryhmätapaaminen. Lisäksi kurssin aikana tehdään ryhmätyönä tietokantaa hyödyntävä mallisovellus.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit I (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiRa I}}&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
TiRa I käsittelee ensisijaisesti Tirakirjan luvut 1-7. Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Kurssi on sinänsä erikoinen, sillä syksyn ja kevään toteutukset eroavat jonkin verran. Viime vuosina Antti Laaksonen on pitänyt kurssin syksyllä, jolloin ei ole ollut tenttiä. Jyrki Kivinen pitää kurssia keväisin, jolloin tenttiä on järjestetty.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai assaria vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Laskuharjoitukset / Algoritmitehtävät saa ratkaista joko Pythonilla tai Javalla. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;&#039;&#039;&#039;Älä käy tiraa fuksisyksynä! Suorita ensin JYM.&#039;&#039;&#039;&amp;lt;/del&amp;gt; Katso myös [[Fuksisyksyn_mallilukujärjestys]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid red; padding: 10px; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä JTKT}}&lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoitus on johdatella uudet oppilaat (“fuksit”) tietojenkäsittelytieteen ihmeelliseen maailmaan. Kurssin toteutus elää vuosittain opiskelijapalautteen myötä, mutta suuri osa toteutuksesta tulee olemaan pienryhmässä kirjoitettuja, lyhyitä, viikottaisia esseitä TKT:hen liittyvistä aiheista. Lisäksi samoista aiheista pidetään pieniä esitelmiä, ja opponoidaan muiden vastaavia.&lt;br /&gt;
Bonuksena kurssin fuksitoteutukseen on sisäänleivottu 4 op:ta (eli TKT kanditutkintoon vaadittavat) englannin opintoja, jotka ilmenevät muutaman englanninkielisenä esseenä ja esityksenä. Englannin opinnot suositellaan lämpimästi suoritettavaksi JTKT:n ohessa.&lt;br /&gt;
HUOM! JTKT-toteutetaan useimmista muista kursseista poiketen kahdessa jaksossa!&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiTo}}&lt;br /&gt;
&lt;br /&gt;
Tämä kurssi on perusopinnoista haastavin, mutta ei mitenkään mahdoton! Muihin perusopintoihin poiketen, kurssin luennot ovat tärkeä osa kurssia, joskaan eivät siltikään pakollisia. Olennaista on oppia nopeasti rytmiin, jossa jokin tietokoneen asiakokonaisuus käydään läpi luennolla, sitä opiskellaan viikkotehtäviä (‘laskareita’) tehdessä, ja lopulta kerrataan minikokeeseen. Kun luennolla heprealta kuulostava, vaikea asia on läpikäyty kolmeen kertaan, huomaat kokeeseen tullessasi yhtäkkiä ymmärtäväsi ja osaavasi käyttää konekieltä kuin luennoitsija itse!&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että kurssin loppukokeen voi korvata neljällä kurssin aikana tehtävällä minikokeella.&lt;br /&gt;
&lt;br /&gt;
P.S.&lt;br /&gt;
Kurssista liikkuu jäärien keskuudessa paljon meemejä, mutta parasta on jättää ennakkohype väliin ja mennä kurssille avoimin mielin.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit II (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiRa II}}&lt;br /&gt;
&lt;br /&gt;
TiRa II on TiRa I:n jatko-osa. Kurssi jatkaa siitä mihin TiRa I jäi. Kurssi käsittelee Tirakirjan luvut 8-14, joissa aiheina ovat rekursiiviset algoritmit (dynaaminen ohjelmointi, peruuttava haku yms.) ja verkko-algoritmit (Dijkstra, Bellmanin ja Fordin, Floyd Warshall, Ford Fulkerson yms). &lt;br /&gt;
&lt;br /&gt;
Samoin kuin OhJa:ssa niin TiRa II harjoitustehtävät laajenevat ja tulevat entistä mielenkiintoisemmiksi - ja haastavammiksi. Älä sure, jos tehtävät tuntuvat liian vaikealta. Kurssin algoritmit ovat tosi haastavia monelle, etenkin rekursiiviset algoritmit tuntuvat olevan monelle tosi epäselviä ja vaikeasti ymmärrettävissä. Jos koet, että tehtävät ovat liian haastavia, kannattaa ehdottomasti käydä algoritmipajassa!&lt;br /&gt;
&lt;br /&gt;
Kurssi kannattaa suorittaa heti TiRa I:n jälkeen, jolloin TiRa I:n asiat ovat vielä tuoreena muistissa. TiRa II:ssa oletetaan kaikki TiRa I:n asiat tutuksi.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannat ja web-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään Pythonin Flaskillä vapaavalintainen web sovellus joka käytää pientä SQL-tietokantaa apuna. Projekti on melko itsenäinen ja periodin pituisen kurssin aikan on vain muutama välipalautus joissa palautusten kriteerit nousevat kurssin edetessä. Näin saadaan kurssin mittaan tasainen eteneminen. Kurssissa materiaali jossa opastetaan HTML ja SQL perusteet. Ennakkotietona tälle kurssille on hyvä olla kurssi &#039;Tietokantojen perusteet&#039; käytynä.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huom&#039;&#039;&#039; Voit myös ilmoittaa kurssin vetäjälle, että haluat tehdä kurssin omassa aikataulussasi. Tällöin palautat vain lopullisen sovelluksen kun se on valmis. Tässä toteutuksessa välipalautuksia ei pisteytetä ja arvosana tulee täysin lopullisen palautuksen perusteella.&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Lama}}&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Kurssin viikkotehtävissä (&amp;quot;laskareissa&amp;quot;) harjoitellaan paljon todistamista, etenkin ristiriita todistamista. Todistaminen oletetaan tutuksi, joten sitä ei käydä läpi kurssin aikana. Todistaminen voi tuntua tosi hankalalta ja turhauttavalta, etenkin kun sitä on tosi hankalaa opettaa. Kurssikirjassa, Introduction to the Theory of Computation (Michael Sipser), käydään tunnetuimmat todistustekniikat läpi. &lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
Tira:ssa voi pärjätä aika hyvin ilman JYM:ä, mutta Lama:ssa ei. On ehdottomasti suositeltu, että olet käynyt vähintään JYM:n ennen Lamaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietojenkäsittely ja yhteiskunta (2+3 op) ===&lt;br /&gt;
2 op perusteet (MOOC)&lt;br /&gt;
&lt;br /&gt;
3 op jatkokurssi (lähiopetus syksyllä tai verkkokurssi keväällä)&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Ohtu}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniikka-kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutetaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti-kurssille.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluva miniprojekti on mahdollista hyväksilukea työkokemuksen perusteella. Kts [[Ohtun_ja_ohtuprojektin_hyväksilukeminen]]&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet pyörii tällä hetkellä vain englannin kielisenä itsenäisesti suoritettava MOOC kokonaisuutena. Kurssi koostuu käytännön koodaus tehtävistä sekä esseistä ja näiden vertaisarvioinneista. Esitietona tälle kurssille voi suositella &amp;quot;Tietokanta ja Web ohjelmointi&amp;quot;-kurssia, koska monet kurssin tehtävistä, mukaanlukien loppuprojekti,  sisältävät tietokannan ja selaimen välistä kommunikaatiota ja näihin liittyviä haavoittuvuuksia.&lt;br /&gt;
&lt;br /&gt;
=== Laskentaympäristöt (5 op) ===&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Artificial Intelligence (5 op) ===&lt;br /&gt;
{{hatnote|Tunnettiin ennen myös nimellä johdatus tekoälyyn (JohTek)}} &lt;br /&gt;
&lt;br /&gt;
Datatieteen maisteriopintojen ensimmäisiä kursseja. Voi suositella myös kandivaiheen opiskelijoille&lt;br /&gt;
&lt;br /&gt;
Tämän kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Teemoina käsitellään niin koneoppimista, perinteistä logiikkaa kuin pelitekoälyjäkin. Kurssista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on käytännön ohjelmointitehtäviä ja teoreettisempi tentti.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistoprojekti (10 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Ohtuprojekti}}&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimuksena on suoritettu Ohjelmistotuotanto-kurssi sekä yksi aineopintojen harjoitustyö (kts. alla).&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Koko kurssi on mahdollista hyväksilukea työkokemuksen perusteella. Kts [[Ohtun_ja_ohtuprojektin_hyväksilukeminen]]&lt;br /&gt;
&lt;br /&gt;
=== Kandidaatintutkielma (6 op) + Äidinkieli (3 op) + Tutkimustiedonhaku (1 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan nimellä kandi}}&lt;br /&gt;
&lt;br /&gt;
Tämä kolmen kurssin kokonaisuus on käytännössä yksi iso suoritus. Kandidaatintutkielman kirjoittamisen ohessa opetellaan tieteellistä kirjoittamista, tutkimustiedonhakua sekä esiintymistä. Arvostelu koostuu seuraavista osasuorituksista: 2-4 sivun referaatti, 10 sivun aine, 1.5-2 sivun kypsyysnäyte, 15-20min esitelmä ja ~20 sivun tutkielma. Näistä viimeinen on se varsinainen &amp;quot;kandi&amp;quot;, joka on samalla ainoa arvosanaan vaikuttava komponentti. Muut suoritukset on pakko tehdä, mutta ne arvostellaan binäärisesti &amp;quot;tehty/ei tehty&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Optimaalisessa tilanteessa opiskelija kirjoittaa kurssin aikana yhtä tekstiä, jonka eri vaiheet muodostavat tarvittavat kirjalliset komponentit. Monen tulee kuitenkin *pivotattua* jossain vaiheessa, jolloin siihen mennessä kirjoitetusta iso osa pitää heittää roskiin. Tämän välttää parhaiten ottamalla alun aiheenvalinnan tosissaan.&lt;br /&gt;
&lt;br /&gt;
Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan (yleensä) viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. &lt;br /&gt;
&lt;br /&gt;
Esitelmä (15-20min) pidetään oman pienryhmän kesken omasta aiheesta, yleensä aineen pohjalta. Tätäkään ei kannata stressata liikaa, sillä &amp;quot;arvostelu&amp;quot; on ihan oikeastikin tasolla &amp;quot;suoritettu jos jotain mumisee ryhmän edessä&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Kurssi sisältää ohessa myös ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä. Tämä vastaa teknisesti toisen kotimaisen kielen kurssia sikäli, että kypsyysnäyte on todistus siitä että opiskelija osaa oman äidinkielensä &amp;quot;virkamiestasolla&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. &lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita. Näistä ainakin ensimmäisellä on pakollinen läsnäolo.&lt;br /&gt;
&lt;br /&gt;
==== Kandin aikataulusta ====&lt;br /&gt;
&lt;br /&gt;
Kanditutkielma kurssi kestää yhden lukukauden ja se on tarjolla sekä syksyisin, että keväisin. Usein kandin kirjoittaminen on opiskelijoille se mistä aletaan ensimmäisenä luistamaan, kun periodissa on liikaa tekemistä. Näin kandi jää kesken ja venyy tuskallisen pitkäksi projektiksi. Kesken jäävät kandit siirtyvät yleensä kurssin vastuuhenkilön ohjattaviksi. Tunnetaan myös tapauksia missä opiskelija anoo lisäaikaa, sama ohjaaja säilyy ja opiskelija kirjoittaa tutkielman esim joululomalla valmiiksi.&lt;br /&gt;
&lt;br /&gt;
Osaston tarjotessa niukasti kesäopiskelumahdollisuuksia on kandin kirjoittaminen kesällä laiturin nokassa houkutteleva vaihtoehto. Virallisesti tätä mahdollisuutta ei ole tarjottu, mutta omatoiminen opiskelija voi kirjoittaa tutkielman kesällä ja tehdä esitelmän ym. pakolliset osat syksyn kurssilla. Kannattaa harkita jo kevään luennoilla käyntiä, jos tämä vaihtoehto kiinnostaa..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid red; padding: 10px; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tilpe}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Käjä}}&lt;br /&gt;
&lt;br /&gt;
Kurssin voi käsittää siltana Tietokoneen toiminta -kurssin ja Ohjelmoinnin perusteet -kurssin välillä. Käsiteltävät asiat sisältävät käyttöjärjestelmien rakenteen ja toimintaperiaatteet, rinnakkaisuuden toteutuksia ja ongelmia, muistinhallintaa ja virtuaalimuistia, prosessorin vuoronantoa jne.&lt;br /&gt;
&lt;br /&gt;
Samoin kuin TiTossa, Käjänkin tentin voi suorittaa neljällä minitentillä kurssin aikana.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
Tästä korista tulee valita yksi suoritus. Sen pitää olla valmiina ennen Ohjelmistoprojektia (kts. yllä).&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikka (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös niemellä Ohte}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tällä kurssilla tehdään myös oma kokonainen ohjelmistoprojekti. Arvosana koostuu projektin loppuarvosanasta, projektin viikkodeadlinesta ja muutaman ensimmäisen viikon laskaritehtävistä.&lt;br /&gt;
&lt;br /&gt;
=== Algoritmit ja tekoäly (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tiralabra}}&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
===Tietoliikenne (4 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tilpelabra}}&lt;br /&gt;
&lt;br /&gt;
Järjestetään toukokuun intensiivijaksolla, Tietoliikenne-kurssin jälkeen. Osallistuminen edellyttää vähintään arvosanaa 3 Tietoliikenteen perusteet -kurssilta. Huonommallakin arvosanalla saattaa päästä mukaan jos osaa selittää vakuuttavasti.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyössä ei lähtökohtaisesti ohjelmoida mitään, vaan enemminkin määritellään jokin tutkimusongelma johon etsitään itse vastaus. Perusratkaisu on analysoida jonkinlaista verkkoliikennettä. Muunkinlaisia projekteja on kuitenkin hyväksytty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid red; padding: 10px; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tsoha tai Tsohalabra}}&lt;br /&gt;
&lt;br /&gt;
Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla, tai Ruby on Railssillä, mutta jos intoa (tai aiempaa osaamista) löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
Osaston kurssitarjonta muuttuu valinnaisten kurssien osalta jatkuvasti, tarkista ajantasainen kurssitarjonta esim. Weboodista tai https://studies.helsinki.fi/opintotarjonta .&lt;br /&gt;
&lt;br /&gt;
Aineopintoihin tulee sisällyttää vähintään 5 op tietojenkäsittelytieteen valinnaisia aineopintoja tai tietojenkäsittelytieteen syventäviä opintoja eli maisterikursseja. Tutkintorakenteessa on listattu seuraavat esimerkit:&lt;br /&gt;
&lt;br /&gt;
* BSCS2011 Programming for Performance 5 op&lt;br /&gt;
* CSM13401 Human Computer Interaction 5 op&lt;br /&gt;
* TKT21003 Web-palvelinohjelmointi Ruby on Rails 5 op&lt;br /&gt;
* TKT21004 Computer Architecture 5 op&lt;br /&gt;
* TKT21012 Algoritmit ongelmanratkaisussa 10 op&lt;br /&gt;
* TKT21018 Elements of AI: Tekoälyn perusteet 2 op&lt;br /&gt;
* TKT21026 Network Programming 5 op&lt;br /&gt;
* TKT21029 Functional Programming I 5 op&lt;br /&gt;
* TKT21030 Functional Programming II 5 op&lt;br /&gt;
* TKT21031 Tekoälyn etiikka: Johdanto 2 op&lt;br /&gt;
* TKT21032 Kilpaohjelmoinnin harjoittelu 1 3 op&lt;br /&gt;
* TKT21033 Kilpaohjelmoinnin harjoittelu 2 2 op&lt;br /&gt;
* TKT21034 Kilpaohjelmoinnin harjoittelu 3 3 op&lt;br /&gt;
* TKT21035 Kilpaohjelmoinnin harjoittelu 4 2 op&lt;br /&gt;
* TKT21036 DevOps with Docker 1 op&lt;br /&gt;
* TKT21037 DevOps with Docker: docker-compose 1 op&lt;br /&gt;
* TKT21038 DevOps with Docker: security and optimization 1 op&lt;br /&gt;
* TKT21039 Core 5G and Beyond 2 op&lt;br /&gt;
* TKT21040 Test-Driven Development 4 op&lt;br /&gt;
* TKT21041 Test-Driven Development: Full Stack 1 op&lt;br /&gt;
* CSM141081 Full Stack -websovelluskehitys 5 op&lt;br /&gt;
* DATA11001 Introduction to Data Science 5 op&lt;br /&gt;
* DATA20041 AI in Society: Introduction 1.5 op&lt;br /&gt;
* DATA20042 AI in Society: AI and Discrimination 0.5 op&lt;br /&gt;
* DATA20049 AI in Society: AI, Justice and Security 0.5 op&lt;br /&gt;
* DATA20050 AI in Society: AI and Democracy 0.5 op&lt;br /&gt;
* TKT210241 Ohjelmointihaasteita 1 1 op&lt;br /&gt;
* TKT210242 Ohjelmointihaasteita 2 1 op&lt;br /&gt;
* TKT210243 Ohjelmointihaasteita 3 1 op&lt;br /&gt;
* TKT210281 Elements of AI: Building AI - Intermediate 1 op&lt;br /&gt;
* TKT210282 Elements of AI: Building AI - Advanced 1 op&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid red; padding: 10px; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cyber security with F-Secure (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Titu}}&lt;br /&gt;
&lt;br /&gt;
Suoritetaan verkkokurssina, jolla käsitellään kyberturvallisuutta, operatiivista tietoturvaa, turvallisen web-ohjelmiston kehitystä, web-ohjelmistojen tyypillisiä haavoittuvuuksia ja niiden korjaamista sekä vastatoimia.&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) [Deprekoitu] ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä C}}&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Programming for Performance (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä PFP}}&lt;br /&gt;
&lt;br /&gt;
===Algoritmit ongelmanratkaisussa (10 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Alon}}&lt;br /&gt;
&lt;br /&gt;
Kurssi on valinnainen opintojakso ja toimii periaatteessa TiRa:n jatkokurssina (virallinen jatkokurssi TiRa:lle on DAA - Design &amp;amp; Analysis of Algorithms). Kurssi on tarkoituksella tosi haastava ja työläs. Kurssin pitäjä, Antti Laaksonen, on jopa väittänyt, että kurssi on kandivaiheen (koko Suomen?) vaikein kurssi. &lt;br /&gt;
&lt;br /&gt;
Nimi paljastaa ehkä jo, että kurssilla käsitellään siis algoritmeja. Alon:ssa kerrotaan vähän TiRa asioita, mutta tällä kertaa C++ -kielellä, joka on kurssin ensisijainen ohjelmointikieli (tehtäviä voi myös ratkaista Haskell:lla tai Rust:lla). Lähtökohtaisesti oletetaan, että TiRa on tosi hyvin hallussa, sillä kurssilla käsitellään samoja tekniikoita kuten TiRa:ssa, esim. rekursio, verkko-algoritmeja ja tietorakenteita, mutta paljon pintatasoisemmin. Tarkoitus on enemmänkin, että opiskelija itse ymmärtää, miten erilaisia tekniikoita sovelletaan. Kurssin päätarkoitus on nimenomaan kehittää opiskelijan ongelmanratkaisukykyä. Kurssilla on 14 viikkoa, jokaisella viikolla 6 tehtävää. Kaikki tehtävät ovat lähtökohtaisesti vaikeita. Viikon ensimmäinen tehtävä saattaa olla helpompi kuin muut ja viimeinen tehtävä toimii vähän kuin &amp;quot;bonustehävänä&amp;quot;, joka on, lähes aina, erittäin haastava.&lt;br /&gt;
&lt;br /&gt;
===Computer Organization II (5 op)===&lt;br /&gt;
&lt;br /&gt;
===Full Stack -websovelluskehitys (3-7 op)===&lt;br /&gt;
&lt;br /&gt;
===Full Stack -websovelluskehitys harjoitustyö (1-10 op)===&lt;br /&gt;
	&lt;br /&gt;
===Introduction to Game Programming (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä IGP}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla tutustutaan peliohjelmoinnin maailmaan. Kurssilla käsitellään peliohjelmointia teoreettisella tasolla, pelimoottoreiden alkeita ja erilaisia peliohjelmoinnin paradigmoja, C#-kielen ominaisuuksia ja Unity-pelimoottorin perusominaisuuksia. Kurssin nimi saattaa olla harhaanjohtava, sillä kurssilla ei ohjelmoida ollenkaan.&lt;br /&gt;
&lt;br /&gt;
===Johdatus funktionaaliseen ohjelmointiin (5 op)===&lt;br /&gt;
	&lt;br /&gt;
===Ohjelmointihaasteita I (1-3 op)===&lt;br /&gt;
		&lt;br /&gt;
===Web-palvelinohjelmointi Java (5 op)===&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio}}&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
===Akateemiset taidot (1-2 op)===&lt;br /&gt;
	&lt;br /&gt;
===Opiskelijan digitaidot: orientaatio (2 op)===&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12219</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12219"/>
		<updated>2024-08-08T15:07:34Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Korostettu mallilukujärjestyslinkkejä&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mallilukujärjestykset löytyvät osaston sivuilta:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://www.helsinki.fi/fi/koulutusohjelmat/tietojenkasittelytieteen-kandiohjelma/opiskelu/tietojenkasittelytieteen-opintojen-rakenne-ja-aikataulu Tietojenkäsittelytieteen kandiohjelma] Ks. myös pdf-tiedostot täällä: https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/degree-programmes/data-science-masters-programme/studying/course-and-teaching-information-2024-2025 &#039;&#039;&#039;Master&#039;s Programme in Data Science&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Osaston tarjoamat mallilukujärjestykset eivät kuitenkaan suoraan kerro miten kaikki opinnot kannattaisi suorittaa. Apua omien opintojen suunnitteluun saa Kumpulan opiskelijapalveluista osoitteesta [mailto:kumpula-student@helsinki.fi kumpula-student@helsinki.fi].&lt;br /&gt;
&lt;br /&gt;
Erityisesti koneoppimiseen suunnatessa olennaiset matematiikan ja tilastotieteen esitiedot löytää datatieteen maisteriohjelmassa pakollisen Statistics for Data Science -kurssin kuvauksesta: lineaarialgrebra, differentiaalilaskenta, todennäköisyyslaskenta ja tilastotieteen perusteet. Tiiveimmin nämä saa kursseilta Tilastotiede ja R tutuksi I ja II sekä keväisin Koneoppimisen matematiikan perusteet I ja II, joiden jälkeen kannattaisi jatkaa pian syksyn johdattaville koneoppimiskursseille. Jos lukion pitkää matikkaa ei ole tuoreena taustalla, on suositeltavaa käydä Lukiomatematiikan kertaus näitäkin ennen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Osin vanhentuneet tiedot alla.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
{{katso myös|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Matematiikka opettaa formaalia ajattelua, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseilla. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö pärjäisi opinnoissasi, vaikka et olisikaan matikkavelho.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska koululla ei ole pakko käydä montakaan kertaa kurssin aikana.&lt;br /&gt;
&lt;br /&gt;
Pajoissa järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Paja-ajat ja käytännöt sovitaan kurssi kohtaisesti, joten niitä hyödyntääkseen pitää itse lukea kurssisivulta infot. &lt;br /&gt;
&lt;br /&gt;
Mikäli ensimmäisen syksyn keskeiset kurssit takkuavat, ei kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on tärkeää, jos mielii valmistua kolmessa vuodessa luonnontieteiden kandidaatiksi (LuK) ilman vaikeuksia. Kurssien välisistä riippuvuuksista ei tällä hetkellä ole tarjolla virallista ja täysin ajantasaista versiota. Lähes virheetön kaavio löytyy osoitteesta [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet täältä]. &#039;&#039;&#039;Kaaviota lukiessa tulee huomata, että kurssin johdatus tekoälyyn sijaan siinä kohdassa kuuluisi lukea: &amp;quot;johdatus tekoälyyn tai tietoturvan perusteet&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Digitaidot + Tietokone työvälineenä + Akateemiset taidot || I || 3-4&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 10&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Katso myös [[Fuksisyksyn_mallilukujärjestys]]&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden keväänä on myös hyvä suorittaa tietokantasovellus -harjoitustyö (4 op) ja/tai toinen kotimainen kieli (3 op).&lt;br /&gt;
Suunnitellessaan opintojaan on hyvä tarkistaa harjoitustöiden esitietovaatimukset.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || II ||  5 + 1&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Toisen vuoden aikana on viimeistään tehtävä ensimmäinen harjoitustyö, eikä ole huono idea suorittaa toistakin. &lt;br /&gt;
Jos toisen ja kolmannen vuoden välisenä kesänä on aikaa eli ohjelmistotuotantoprojektin suorittaminen silloin ole hassumpi ajatus.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tekoälyyn / Tietoturvan perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I, II tai I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma + Tutkimustiedonhaku + Äidinkieli || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
{{katso|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Raja-arvot, on harkitsemisen arvoinen vaihtoehtoja, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Matikan perusfuksikurssina nämä opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto.&lt;br /&gt;
** Tilastotiede ja R tutuksi 1, jos kiinnostaa datatiede, machine learning tai algo puoli (Suosittelen useita tilastotieteen kursseja jos nämä linjat kiinnostavat.)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2&lt;br /&gt;
*** Differentiaalilaskenta. (Yleishyödyllistä melkein kaikilla linjoilla)&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka 1 ja 2, 5 op/kpl&lt;br /&gt;
** Tai Tilastollinen päättely (IV),&lt;br /&gt;
** Tai todennäköisyyslaskenta 1 (III), 5 op.  (Tilastollinen päättely ja todennäköisyyslaskenta erittäin tärkeitä datatieteessä ja machine-learning opinnoissa).&lt;br /&gt;
** Integraalilaskenta (III) ja sarjat (IV)&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikkaa datatieteeseen ja tekoälyyn ==&lt;br /&gt;
&lt;br /&gt;
=== Pakolliset ===&lt;br /&gt;
&lt;br /&gt;
Jos siirryt tkt:ltä Datatieteen maisteriohjelmaan sinun täytyy sisällyttää kanditutkintoosi (tarkistettu 03.09.2019):&lt;br /&gt;
&lt;br /&gt;
* MAT12003 Todennäköisyyslaskenta (5 op) I &lt;br /&gt;
* 5 op tilastotiedettä&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Vaatimuksena on, että kanditutkintoon on sisällytetty MAT12003 Todennäköisyyslaskenta (5 op) I ja 5 op tilastotiedettä (esimerkiksi MAT12001 Tilastotiede tutuksi ja R-ohjelmisto tai MAT12004 Tilastollinen päättely I).&#039;&#039; [https://guide.student.helsinki.fi/fi/node/405?degree_programme_code=KH50_005 lähde]&lt;br /&gt;
&lt;br /&gt;
=== Epävirallisia suosituksia ===&lt;br /&gt;
&lt;br /&gt;
Monelle on tullut maisterivaiheen kursseihin siirtyessä yllätyksenä se, kuinka paljon matematiikkaa ja tilastotiedettä on osattava, jotta voi pärjätä datatiede- ja koneoppimislinjoilla. Siksi tähän on koostettu lista kursseista joiden avulla saa varmistettua riittävän osaamistason. Tällaista kokonaisuutta ei ole missään aiemmin ollut listattuna. Kurssilistaus on luotu perustuen keskusteluihin DS/AI (Datatiede ja tekoäly) linjojen opiskelijoiden, yhden sen linjan professorin ja yhden tilastotieteen professorin kanssa. Vaikka otsikon mukaisesti ohje on erityisesti datatieteen ja tekoälyn opiskeluun tähtääville, valmistaa tällaisen kokonaisuuden opiskelu useampaankin maisterivaiheen linjaan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DISCLAIMER: &#039;&#039;&#039; Tämä lista ei tarkoita sitä, että &amp;quot;nämä kaikki on pakko käydä tai tulet failaamaan, jos tähtäät data science -maisterilinjalle. Näistä kursseista on hyötyä data science aiheiden ymmärtämisessä. Erityisesti tilastotieteen kurssit ovat hyödyllisiä. Matematiikkaa taas tarvitaan tilastotieteen kurssien syvällisempään ymmärtämiseen. Tätä listaa on tarkoitus tarkentaa lisäämällä kunkin kurssin kohdalle jonkinlaista infoa kurssin tärkeydestä: ts. &amp;quot;ihan hyödyllinen&amp;quot; vai &amp;quot;puoli-pakollinen&amp;quot;. Myös kurssien aiheiden suhteista Data Scientistin työssä vastaantuleviin haasteisiin on keskusteltu ja suunnitelmissa on rakentaa jonkinnäköinen materiaali, joka vastaa kysymyksiin, kuten &#039;&#039;&amp;quot;Mihin tätä linistä/raja-arvoja/sarjoja/jne oikein tarvii?&amp;quot;&#039;&#039;. Opintovastaavat auttavat osoitteissa #tkt-apu tai opintovastaava@tko-aly.f, jos askarruttaa.&lt;br /&gt;
&lt;br /&gt;
* DATE-opintokokonaisuus DAtatieteeseen ja TEkoälyyn&lt;br /&gt;
** Johdatus yliopistomatematiikkaan (kaikille pakollinen)&lt;br /&gt;
** Algebran kurssit&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 1&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 2&lt;br /&gt;
*** Algebralliset rakenteet 1&lt;br /&gt;
*** Algebralliset rakenteet 2&lt;br /&gt;
** Analyysin kurssit&lt;br /&gt;
*** Raja-arvot&lt;br /&gt;
*** Differentiaalilaskenta&lt;br /&gt;
*** Integraalilaskenta&lt;br /&gt;
*** Sarjat&lt;br /&gt;
*** Vektorianalyysi 1&lt;br /&gt;
** Tilastotieteen kurssit&lt;br /&gt;
*** Tilastotiede ja R tutuksi 1 (Tilastotiede)&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2 (Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 1 (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2a (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2b (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 1 (Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 2 (Tilastotiede)&lt;br /&gt;
&lt;br /&gt;
Jotta esitiedot ovat riittävän hyvin hallussa, kannattaa kurssit suorittaa tietyssä järjestyksessä. Perusperiaatteena on, että JYM, Algebran kurssit ja Analyysin kurssit voi suorittaa rinnakkain, kuitenkin niin että Vektorianalyysi edellyttää Lineaarialgebran osaamista. Tilastotiede ja R tutuksi sopii käytäväksi milloin vain mahtuu lukujärjestykseen (esitietona jonkinlainen lukiomatematiikan osaaminen). Todennäköisyyslaskenta 1, jonka osaamisen on oltava hallussa ennen muita mainittuja tilastotieteen kursseja, sopii parhaiten suoritettavaksi kun matematiikka on muuten hallussa.&lt;br /&gt;
&lt;br /&gt;
=== Aikataulu ===&lt;br /&gt;
&lt;br /&gt;
Seuraava taulukko (erään opiskelijan hops-excelistä) voi olla avuksi opintojen suunnittelussa:&lt;br /&gt;
&lt;br /&gt;
* Tässä siis haluttu suorittaa matematiikan analyysin kurssit putkeen sekä tilastotieteen perusopinnot samaan tapaan.&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:Mathstat_perusopinto_aikataulut.png|none|frame|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HUOM:&#039;&#039;&#039; Datatieteen maisterin tutkinnossa (2019) tilaa 35op &amp;quot;Muille opinnoille&amp;quot;, mitkä voivat olla sekä kandi että maisteritason kursseja. TKT maisterissa vastaavasti 40op.&lt;br /&gt;
&lt;br /&gt;
== Kaavio DATE-kurssien välisistä riippuvuuksista ==&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:DATE_opinnot_v3.png|none|800px]]&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Erikoistumislinjat_ja_maisteriohjelmat&amp;diff=12207</id>
		<title>Erikoistumislinjat ja maisteriohjelmat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Erikoistumislinjat_ja_maisteriohjelmat&amp;diff=12207"/>
		<updated>2024-08-08T15:05:56Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Korostettu maisterioptiolinkkiä&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tietojenkäsittelytieteen osasto tarjoaa maisterivaiheen opetusta kahden maisteriohjelman ja neljän opintosuunnan kautta. Lisäksi tietojenkäsittelytieteen kandidaatin tutkinto mahdollistaa opiskelun eräissä muissa maisteriohjelmissa. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Katso ajantasaiset [https://studies.helsinki.fi/ohjeet/artikkeli/jatkaminen-maisteriohjelmaan?degree_programme_code=KH50_005#paragraph-1054 maisterioptiot opintovaatimuksineen] yliopiston sivuilta.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Tietojenkäsittelytieteen maisteriohjelma =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Masters-degree-structure-2017.drawio.png|200px|left|thumb]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/programmes/master/computer-science Tietojenkäsittelytieteen maisteriohjelman] opintoihin kuuluu 15 opintopistettä ydinkursseja, 30 opintopistettä opintosuuntakohtaisia kursseja, tietojenkäsittelytieteen kollokvio (5 op), Pro Gradu -tutkielma (30 op) sekä 40 op muita täysin valinnaisia opintoja. Opintosuuntakohtaisten kurssien tulee sisältää vähintään 15 op edestä kursseja kahdesta eri opintosuunnan kurssipaketista.&lt;br /&gt;
&lt;br /&gt;
Kts. tutkintorakenteen tarkempi kuvaus [https://guide.student.helsinki.fi/en/article/structure-and-scope-my-degree-programme?degree_programme_code=MH50_009 täältä]&lt;br /&gt;
&lt;br /&gt;
Kts. myös [https://www.helsinki.fi/en/programmes/master/computer-science/studying/structure-of-the-programme tietojenkäsittelytieteen] ja [https://www.helsinki.fi/en/programmes/master/data-science/degree-structure data tieteen] kurssilistaukset.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ydinkurssit==&lt;br /&gt;
* Design and Analysis of Algorithms&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Distributed Systems&lt;br /&gt;
* Networked Systems and Services&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
* Software Architectures&lt;br /&gt;
&lt;br /&gt;
==Software Systems -opintosuunta==&lt;br /&gt;
Ohjelmistojärjestelmien (Software Systems) opintosuunta keskittyy suurten ja monimutkaisten ohjelmistojärjestelmien tuottamisen tarkasteluun, tutkimalla ohjelmistoprosesseja, ryhmädynamiikkaa ja ohjelmiston laatua sekä niiden uudelleenkäyttöä. &lt;br /&gt;
&lt;br /&gt;
Opiskelu kulminoituu Software Factoryyn, joka toimii yhteistyön alustana ohjelmistoliiketoiminnalle ja perus sekä soveltavalle ohjelmistokehitystutkimukselle ja -opetukselle. Software factory on kokeellinen ohjelmiston tutkimus- ja kehityslaboratorio, jonka päämääränä on edistää opetusta, poikkitieteellistä tutkimusta ja korkean tavoitteiden yrittäjyyttä. &lt;br /&gt;
&lt;br /&gt;
Opintosuunnan kurssit jakaantuvat kolmeen kurssipakettiin, joiden alta löytyy esimerkiksi seuraavia kursseja:&lt;br /&gt;
&lt;br /&gt;
===Software Engineering -kurssipaketti===&lt;br /&gt;
* Methods for Software Engineering Research&lt;br /&gt;
* Software Architecture Project&lt;br /&gt;
* Software Product Management&lt;br /&gt;
* Software Project Management and Group Dynamics&lt;br /&gt;
* Software Factory Experience&lt;br /&gt;
* Special Topics in Software Engineering&lt;br /&gt;
* Seminar in Empirical Software Engineering&lt;br /&gt;
* Seminar in Novel Software Architecture Design&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
&lt;br /&gt;
===Programming Techniques -kurssipaketti ===&lt;br /&gt;
* Software Testing&lt;br /&gt;
* Programming languages - Concepts and Paradigms&lt;br /&gt;
* Compilers&lt;br /&gt;
* Code Generation&lt;br /&gt;
* Game Engine Architecture&lt;br /&gt;
* Game Project Course&lt;br /&gt;
* Special Topics in Programming Techniques&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
* Seminar in Experimental Algorithmics&lt;br /&gt;
* Seminar in Experimental Software Engineering&lt;br /&gt;
* Seminar in Novel Software Architecture Design&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
&lt;br /&gt;
===Data Management -kurssipaketti===&lt;br /&gt;
* Transaction Management and Query Optimization&lt;br /&gt;
* Big Data Frameworks&lt;br /&gt;
* Special Topics in Data Management&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
&lt;br /&gt;
==Networking and Services -opintosuunta==&lt;br /&gt;
Tietoverkkojen ja palveluiden opintosuunnan opinnot käsittelevät kiinteiden ja mobiiliverkkojen suunnittelua ja hallintaa, sekä niiden päälle rakentuvia palveluita. Erityisinä fokuksina ovat hajautetut järjestelmät, interaktiiviset järjestelmät sekä järjestelmien mukautuminen muuttuvaan toimintaympäristöön.&lt;br /&gt;
&lt;br /&gt;
Opintosuunnan kurssit jakaantuvat neljään kurssipaketiin, joiden alta löytyy esimerkiksi seuraavia kursseja:&lt;br /&gt;
&lt;br /&gt;
===Networking -kurssipaketti===&lt;br /&gt;
* Internet Protocols&lt;br /&gt;
* Cloud and Edge Computing&lt;br /&gt;
* Scalable Overlay networks&lt;br /&gt;
* Special Topics in Networking&lt;br /&gt;
* Seminar on Cloud-Based Mobile Networking&lt;br /&gt;
* Seminar on Communication Security&lt;br /&gt;
&lt;br /&gt;
===Security -kurssipaketti===&lt;br /&gt;
* Mobile systems security&lt;br /&gt;
* Cryptography in Networking&lt;br /&gt;
* Software Security&lt;br /&gt;
* Cyber Security II&lt;br /&gt;
* Special Topics in Security&lt;br /&gt;
* Seminar on Communication Security&lt;br /&gt;
&lt;br /&gt;
===Collaborative and Interoperable Systems -kurssipaketti===&lt;br /&gt;
* Service Ecosystems&lt;br /&gt;
* Services Engineering with Models&lt;br /&gt;
* CINCO Laboratory&lt;br /&gt;
* Seminar on Collaborative and Interoperable Computing&lt;br /&gt;
&lt;br /&gt;
===Human Computer Interaction -kurssipaketti===&lt;br /&gt;
* Human Computer Interaction&lt;br /&gt;
* Designing Interactive Systems&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Special Topics in Human Computer Interaction&lt;br /&gt;
&lt;br /&gt;
==Algorithms -opintosuunta==&lt;br /&gt;
Jos kandikursseista sytytti tietorakenteet, laskennan mallit tai johdatus tekoälyyn, algoritmien opintosuunta voisi olla sinun valintasi.&lt;br /&gt;
&lt;br /&gt;
Algoritmien opintosuunta tutkii tehokkaita algoritmeja sekä niiden käyttöä. Opintosuunnan kurssit jakaantuvat diskreettien algoritmien kurssipakettiin sekä koneoppimisen kurssipakettiin, jotka sisältävät esimerkiksi seuraavia kursseja: &lt;br /&gt;
&lt;br /&gt;
===Discrete Algorithms -kurssipaketti===&lt;br /&gt;
* String processing algorithms&lt;br /&gt;
* Data compression techniques&lt;br /&gt;
* Randomized Algorithms I&lt;br /&gt;
* Randomized Algorithms II&lt;br /&gt;
* Approximation algorithms&lt;br /&gt;
* Combinatorial Optimization&lt;br /&gt;
* Biological Sequence Analysis&lt;br /&gt;
* Algorithms in Molecular Biology&lt;br /&gt;
* Special Topics in Discrete Algorithms&lt;br /&gt;
* Seminar on Applied Discrete Algorithms&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
* Seminar in Experimental Algorithmics&lt;br /&gt;
&lt;br /&gt;
===Machine Learning Algorithms -kurssipaketti===&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Advanced Course in Machine Learning&lt;br /&gt;
* Probabilistic Models&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* Bayesian Inference&lt;br /&gt;
* Advanced Statistical Inference&lt;br /&gt;
* Advanced Course in Bayesian Statistics&lt;br /&gt;
* High Dimensional Statistics&lt;br /&gt;
* Spatial Modelling and Bayesian Inference&lt;br /&gt;
* Machine Learning in Molecular Biology&lt;br /&gt;
* Special Topics in Machine Learning Algorithms&lt;br /&gt;
* Seminar: Deep learning for Natural Language Processing&lt;br /&gt;
&lt;br /&gt;
= Datatieteen maisteriohjelma=&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/programmes/master/data-science Datatieteen maisteriohjelma] käsittelee koneoppimisen, hajautetun laskennan ja tilastollisten metodien opintoja. Opinnot voivat suuntautua joko teoriaan tai soveltamiseen. Toisien sanoen, voit joko opiskella kehittämään uusia metodeja tai soveltamaan olemassaolevaa erilaisissa tilanteissa.&lt;br /&gt;
&lt;br /&gt;
Opinnot koostuvat ydinkursseista (vähintään 35 op), valinnaisista kursseista (vähintään 20 op), Pro Gradu -tutkielmasta (30 op) sekä muista opinnoista.&lt;br /&gt;
&lt;br /&gt;
==Ydinkurssit==&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Distributed Data Infrastructures&lt;br /&gt;
* Statistical Data Analysis (substitutes Bayesian Inference)&lt;br /&gt;
* Data Science Seminar&lt;br /&gt;
* Data Science Project&lt;br /&gt;
* Academic Skills for Data Science&lt;br /&gt;
* Data Science Fest&lt;br /&gt;
&lt;br /&gt;
==Valinnaiset kurssit==&lt;br /&gt;
Valinnaiset kurssit jakautuvat useaan eri paketiin, mutta opinnot vai valita useammasta paketista. Osa kursseista järjestetään vain joka toinen vuosi.&lt;br /&gt;
&lt;br /&gt;
===Machine Learning===&lt;br /&gt;
* Advanced Course in Machine Learning&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* Probabilistic Models&lt;br /&gt;
&lt;br /&gt;
===Statistical data science===&lt;br /&gt;
* Advanced Course in Bayesian Statistics&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* High Dimensional Statistics&lt;br /&gt;
* Spatial Modelling and Bayesian Inference&lt;br /&gt;
* Inverse Problems 1: Convolution and Deconvolution &lt;br /&gt;
&lt;br /&gt;
===Data science infrastructures===&lt;br /&gt;
* Introduction to Big Data Management&lt;br /&gt;
* Big Data Frameworks&lt;br /&gt;
* Cloud and Edge Computing&lt;br /&gt;
* Tools of High Performance Computing&lt;br /&gt;
* Scientific Computing III&lt;br /&gt;
&lt;br /&gt;
===Computers and cognition===&lt;br /&gt;
* Introduction to Artificial intelligence&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Computational Creativity&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Cognition &amp;amp; Brain Function&lt;br /&gt;
* Perception, Communication and Cognition&lt;br /&gt;
&lt;br /&gt;
===Algorithmic Data science===&lt;br /&gt;
* Design and Analysis of Algorithms&lt;br /&gt;
* Network Analysis (new course)&lt;br /&gt;
* Data Compression Techniques&lt;br /&gt;
* String Processing Algorithms&lt;br /&gt;
=Life Science Informatics -maisteriohjelma=&lt;br /&gt;
Life Science Informatics -maisteriohjelman opiskelijat käyttävät laskennallisia menetelmiä biologian, ekologian, ja lääketieteen ongelmien ratkaisuun. Opinnot koostuvat kuudesta opintosuunnasta, joista kuhunkin liittyy vuosittain järjestettävä johdantokurssi. Tutkintoon vaaditaan johdantokurssit vähintään kolmelta opintosuunnalta, yhden opintosuunnan kaikki kurssit, Pro Gradu -tutkielma (30 op) sekä seminaari (5 op).&lt;br /&gt;
&lt;br /&gt;
Opintosuunnat ovat&lt;br /&gt;
* Applied bioinformatics&lt;br /&gt;
* Algorithmic bioinformatics&lt;br /&gt;
* Biomathematics&lt;br /&gt;
* Biostatistics and bioinformatics&lt;br /&gt;
* Eco-evolutionary informatics&lt;br /&gt;
* Systems biology and medicine&lt;br /&gt;
&lt;br /&gt;
Lisätietoja maisteriohjelman [https://www.helsinki.fi/en/programmes/master/life-science-informatics/studying/programme-structure sivuilta]&lt;br /&gt;
&lt;br /&gt;
=Teoreettisten ja laskennallisten menetelmien maisteriohjelma= &lt;br /&gt;
&lt;br /&gt;
Kts. https://www.helsinki.fi/en/programmes/master/theoretical-and-computational-methods&lt;br /&gt;
&lt;br /&gt;
=Matematiikan ja tilastotieteen maisteriohjelma=&lt;br /&gt;
&lt;br /&gt;
Kts. https://www.helsinki.fi/en/programmes/master/mathematics-and-statistics&lt;br /&gt;
&lt;br /&gt;
= Sosiaalitieteiden maisteriohjelma, väestötieteen opintosuunta =&lt;br /&gt;
Kts. https://www.helsinki.fi/fi/koulutusohjelmat/sosiaalitieteiden-maisteriohjelma/opiskelu/opintosuunnat/vaestotiede&lt;br /&gt;
&lt;br /&gt;
= Filosofian maisteriohjelma =&lt;br /&gt;
Kts. https://www.helsinki.fi/fi/koulutusohjelmat/filosofian-maisteriohjelma&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksisyksyn_mallilukuj%C3%A4rjestys&amp;diff=12178</id>
		<title>Fuksisyksyn mallilukujärjestys</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksisyksyn_mallilukuj%C3%A4rjestys&amp;diff=12178"/>
		<updated>2024-08-08T14:59:35Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Vaihdettu linkki sivulle Opintojen malliaikataulu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;font-size:1rem;border:1px dashed red;padding: 1rem;&amp;quot;&amp;gt;TÄMÄ SIVU ON VANHENTUNUT. Katso [[Opintojen malliaikataulu]].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lue ensin [[Kursseille ilmoittautuminen]] -sivu, jos yliopistomaailman opetusjärjestelyt ovat hämärän peitossa.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lyhyt johdanto tässä: Lukiosta suoraan yliopistoon tulleelle opiskelijalle aiheuttaa alkuun hämmennystä etenkin se, että kurssilla on opetusmenetelmänä useimmiten sekä kaikille yhteisiä luentoja että lähiopetusta viikottaisten harjoitusryhmien ja niiden kokoontumistilaisuuksien (harjoitustilaisuuksien eli &amp;quot;laskareiden&amp;quot;) muodossa. Luennoilla luennoitsija kertoo/opettaa aiheeseen liittyvää teoriaa, kun taas harjoitustilaisuuksissa käsitellään kyseiseen teoriaan liittyviä tehtäviä ns. harjoitusryhmissä, eli 10-20 opiskelijan kokoonpanolla. Harjoitustilaisuutta vetää tuntiopettaja, ja harjoitustilaisuudet ovat enemmän juuri lukiomuotoista opetusta. Joillakin kursseilla harjoitustilaisuudet pidetään mikroluokissa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Miten ilmoittaudun kursseille? ==&lt;br /&gt;
{{katso myös|Kursseille ilmoittautuminen}}&lt;br /&gt;
* Ilmoittautuminen kursseille tapahtuu Sisussa osoitteessa https://sisu.helsinki.fi/&lt;br /&gt;
* Jos kurssin ryhmät ovat tulleet täyteen tai mikään vapaista ryhmistä ei sovi sinulle, ilmottaudu &#039;&#039;&#039;jonoon&#039;&#039;&#039;. Jonon kasvaessa perustetaan tarpeen tullen lisää ryhmiä.&lt;br /&gt;
&lt;br /&gt;
==Mitä kannattaa valita? Mitä pitää valita?==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ensimmäinen syksy kannattaa suorittaa tätä mallilukujärjestystä noudattaen.&#039;&#039;&#039; Olemme keränneet erityisesti kursseja, joita myöhemmillä kursseilla voi tarvita esitietovaatimuksina. Yhtenä kriteerinä on myös se, kuinka usein kurssia järjestetään. Kaikkia kursseja ei järjestetä joka periodissa. Siksi on tärkeää pitää silmällä kurssien esitietovaatimuksia, jotta ne täyttyvät ennen kurssille osallistumista. Lisääkin kursseja saa toki ottaa, jos uskoo kestävänsä. Varoituksena kuitenkin, että useimmille kurssien todellinen työmäärä tulee yllätyksenä. Jos olet epävarma, kysy tuutorilta!&lt;br /&gt;
&lt;br /&gt;
Aikatauluttamisessa on hyvä huomioida niin luentoajat, harjoitusryhmät kuin mahdollinen pajaohjauskin. Luennot ja pajaohjaus ovat kaikille kurssilaisille yhteisiä. Harjoitusryhmällä eli &amp;quot;laskareilla&amp;quot; tarkoitetaan kurssin viikottaista lähiopetusta. Laskariryhmiä järjestetään usein useampaan eri kellonaikaan, valitse näistä sinulle sopivin. Ryhmä kokoontuu joka viikko samaan aikaan. Ns. pajakursseilla harjoitukset tehdään ohjelmointipajassa, jossa on sovittuina aikoina ohjaajia paikalla, ja kurssilaiset voivat viettää pajassa sen verran aikaa kuin haluavat milloin haluavat. Näillä kursseilla ei ole varsinaisia harjoitusryhmiä. Käytäntöön opastetaan kurssin aluksi. Kurssien aikataulut sekä muut kurssitiedot löytyvät [https://courses.helsinki.fi/fi kurssien kotisivuilta]&lt;br /&gt;
&lt;br /&gt;
==Aloitan opinnot puhtaalta pöydältä==&lt;br /&gt;
&lt;br /&gt;
===Fuksisyksy===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 250pt;&amp;quot; colspan=&amp;quot;2&amp;quot; | Periodi 1 !! style=&amp;quot;width: 250pt;&amp;quot; colspan=&amp;quot;2&amp;quot;  | Periodi 2&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118023774-2021-08-01/TKT10001/Johdatus_tietojenk%C3%A4sittelytieteeseen Johdatus tietojenkäsittelytieteeseen] || 2,5 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118023774-2021-08-01/TKT10001/Johdatus_tietojenk%C3%A4sittelytieteeseen Johdatus tietojenkäsittelytieteeseen] || 2,5&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117957260-2021-08-01/KK-ENKAIKKI/Academic_and_Professional_Communication_in_English_1_2_CEFR_B2_ Englanti, JTKT-kurssin yhteydessä] || 2 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117957260-2021-08-01/KK-ENKAIKKI/Academic_and_Professional_Communication_in_English_1_2_CEFR_B2_ Englanti, JTKT-kurssin yhteydessä] || 2&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118023867-2021-08-01/TKT10002/Ohjelmoinnin_perusteet Ohjelmoinnin perusteet] || 5 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118023947-2021-08-01/TKT10003/Ohjelmoinnin_jatkokurssi Ohjelmoinnin jatkokurssi] || 5&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-134743242-2020-08-01/DIGI-A/Opiskelijan_digitaidot_orientaatio Opiskelijan digitaidot: orientaatio] || 2 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118024303-2021-08-01/TKT10005/Tietokoneen_toiminta Tietokoneen toiminta] || 5&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-134866344-2021-08-01/TKT500031/Tietokone_ty%C3%B6v%C3%A4lineen%C3%A4 Tietokone työvälineenä] || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117375151-2021-08-01/MAT11001/Johdatus_yliopistomatematiikkaan Johdatus yliopistomatematiikkaan] || 5 || || &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;YHTEENSÄ&#039;&#039;&#039; || &#039;&#039;&#039;17,5&#039;&#039;&#039; ||  || &#039;&#039;&#039;14,5&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Muita kursseja&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-119162819-2021-08-01/MFK-M101A/Lukiomatematiikan_kertaus Lukiomatematiikan kertaus] || 2 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117375394-2021-08-01/MAT11002/Lineaarialgebra_ja_matriisilaskenta_I Lineaarialgebra ja matriisilaskenta I] || 5&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117375413-2021-08-01/MAT11003/Raja_arvot Raja-arvot] || 5 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117379048-2021-08-01/MAT12002/Tilastotiede_ja_R_tutuksi_II Tilastotiede ja R tutuksi II] || 5&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117378834-2021-08-01/MAT12001/Tilastotiede_ja_R_tutuksi_I Tilastotiede ja R tutuksi I] || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-133795112-2020-08-01/MAT20016/Latex_kurssi Latex-kurssi] || 1 ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
1. periodin tärkein kurssi on ehdottomasti Ohjelmoinnin perusteet (OhPe), johon kannattaa panostaa kaikista eniten. Myös Johdatus tietojenkäsittelytieteeseen -kurssin (JTKT) suorittaminen myöhemmin saattaa aiheuttaa hiusten halkomista, ja se olisi hyvä suorittaa heti opintojen alussa tarvittaessa vaikka pelkällä vihalla. Johdatus yliopistomatematiikkaan (JYM) on myös tärkeä kurssi.&lt;br /&gt;
&lt;br /&gt;
Opiskelijan digitaidot on käytännössä ilmaiset 2 opintopistettä. Se kuitenkin unohtuu helposti ja jää sen seurauksena kummittelemaan. Älä anna valmistumisesi viivästyä sen unohtamisen takia, joten tee se heti pois alta, vaikka jo kesällä. Sen jatko-osa Tietokone työvälineenä (Lapio) taas on opintopistemäärästään huolimatta haastavampi ja myös tärkeämpi kurssi, johon menee noin muutama viikko aikaa.&lt;br /&gt;
&lt;br /&gt;
Lukiomatematiikan kertauskurssi voi olla hyödyllinen ihmisille ketkä eivät esimerkiksi ole suorittaneet pitkää matematiikkaa. Sen voi suorittaa samaan aikaan JYM-kurssin kanssa.&lt;br /&gt;
&lt;br /&gt;
2. periodissa tärkeimmät kurssit ovat Ohjelmoinnin jatkokurssi (OhJa) ja Tietokoneen toiminta (TiTo). Edelleen on toki muistettava myös JTKT:n suoritus, sillä sitä ei tässä vaiheessa ainakaan kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Kaksi kakkosperiodin käpistelykurssia riippuu OhPessa opitusta, joten jos se ei mennyt asian vaikeudesta johtuen ensiyrittämällä läpi, voi tässä vaiheessa alkaa ahdistaa. Mutta ei hätää, kyllä se siitä! Nyt on myös hyvä väli lukea [[sivuainekuvauksia]]!&lt;br /&gt;
&lt;br /&gt;
JYMin ongelmiin kannattaa kysyä apua muilta opiskelijoilta ja vaikka matematiikan laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Ratkomo Ratkomosta] tai JYMin omasta pajasta, koska luennon matemaattisesti kauniit ”On olemassa kuvaus siten, että...” voidaan toisinaan korvata vanhemman opiskelijat ”Tee näin...”-ohjeilla.&lt;br /&gt;
&lt;br /&gt;
Syksylle voi napata jonkin matematiikan alkupään kurssin (esim. Lineaarialgebra ja matriisilaskenta I), ja jos taustalla on vahva pitkä matematiikka, se voi mennä suhteellisen vähällä vaivalla läpi. Ks. [[Opintojen malliaikataulu#Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun|Matematiikan sovittaminen malliaikatauluun]].&lt;br /&gt;
&lt;br /&gt;
Jos ykkösperiodissa alkaa pahasti ahdistaa, ja koko periodi on hajoamassa käsiin, on pakko tehdä priorisointia. Ei hätää – kokemasi angsti ja sen hallinnan opettelu ovat yksi keskeisistä yliopisto-opiskelun anneista. Ohjelmoinnin perusteista riippuu huomattava osa kakkosperiodia, joten jos et ole täysin pihalla, älä päästä sitä leviämään käsille pelkän akuutin ajanpuutteen vuoksi. JYM menee myös keväällä, joten sen failaaminen on jo huomattavasti pienempi ongelma. JTKT:tä taas on vähemmän mielenkiintoista suorittaa uudestaan myöhemmin, mutta sen varsinaisesta suoritusmerkinnästä ei mikään muu kurssi riipu.&lt;br /&gt;
&lt;br /&gt;
Jos ohjelmoinnin teoria aiheuttaa oikeasti paniikkihäiriöitä, kannattaa ottaa JTKT:stä nopat irti työvoitolla, antaa aivoilleen lisäaikaa omaksua ohjelmoinnin vaatima haasteellinen uusi ajattelutapa, ja lohduttautua sillä että aihepiirin kurssien kriittisellä polulla tulee betoniseinää vastaan jossain vaiheessa joka tapauksessa (yleensä TiRassa, LaMassa ja KäJässä), jos et anna abstraktiin ajatteluun opettelemiselle sen tarvitsemaa aikaa. Eikä se viidessä vuodessa valmistuminen ole mitenkään pakollista, siihen vain painostetaan yhteiskunnan puolelta enemmän kuin ennen, mikä nyt ei liene yllätys kenellekään. Jos johonkin periodiin jää tyhjä aukko, vältät hukkaamasta opiskeluaikaasi käymällä tässä välissä [[Sivuainekuvauksia|sivuainekursseja]], MOOC-kursseja tai harjoitustyökursseja.&lt;br /&gt;
&lt;br /&gt;
===Fuksikevät===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 250pt;&amp;quot; colspan=&amp;quot;2&amp;quot; | Periodi 3 !! style=&amp;quot;width: 250pt;&amp;quot; colspan=&amp;quot;2&amp;quot;  | Periodi 4&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-132986295-2021-08-01/TKT200011/Tietorakenteet_ja_algoritmit_I Tietorakenteet ja algoritmit I] || 5 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-132986373-2021-08-01/TKT200012/Tietorakenteet_ja_algoritmit_II Tietorakenteet ja algoritmit II] || 5&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118023990-2021-08-01/TKT10004/Tietokantojen_perusteet Tietokantojen perusteet] || 5 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118024742-2021-08-01/TKT20002/Ohjelmistotekniikka Ohjelmistotekniikka] || 5&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117995706-2021-08-01/KK-RUMALU/Toisen_kotimaisen_kielen_suullinen_taito_ruotsi_CEFR_B1_ Toinen kotimainen kieli] || 3 || [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-118025659-2021-08-01/TKT20011/Aineopintojen_harjoitusty%C3%B6_Tietokantasovellus Aineopintojen harjoitustyö: Tietokantasovellus] || 4&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;YHTEENSÄ&#039;&#039;&#039; || &#039;&#039;&#039;13&#039;&#039;&#039; ||  || &#039;&#039;&#039;14&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Muita kursseja&lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-117376940-2021-08-01/MAT12003/Todenn%C3%A4k%C3%B6isyyslaskenta_I Todennäköisyyslaskenta I] || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| [https://studies.helsinki.fi/opintotarjonta/cu/hy-CU-142971782-2020-08-01/CSM141081/Full_Stack_websovelluskehitys Full Stack -websovelluskehitys] || 5 ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Jos syksyn suuri puristus muodostuu ohjelmointikursseista (OhPe ja OhJa) sekä matematiikasta (JYM), on kevään vastaava koitos Tietorakenteet ja algoritmit -kurssi (TiRa). Kurssi on syksystä 2020 alkaen jaettu kahteen yhden periodin mittaiseen kurssiin, mutta kummankin kurssin käyminen peräkkäin on &#039;&#039;&#039;erittäin&#039;&#039;&#039; suotavaa, jotta asiat pysyvät tuoreena mielessä. Kursseilla ei pärjää, jos esitietovaatimukset, eli syksyn rutistuskurssit, eivät ole kunnossa. Tietorakenteet ja algorimit kannattaa ottaa vakavasti, sillä kyseessä on melko haastava mutta tärkeä kokonaisuus valmistumisen kannalta.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteissa käsitellään SQL-kielen ja relaatioalgebran alkeita ja tietokantojen suunnittelua. Useimmat eivät koe näitä vaikeiksi asioiksi. Tietokantojen perusteet itsessään on esitietovaatimuksena kriittisellä polulla seuraavaksi vastaan tulevalle Ohjelmistotekniikka-kurssille sekä Tietokantasovellus-harjoitustyölle, jos sen haluaa suorittaa.&lt;br /&gt;
&lt;br /&gt;
Sivuaineopinnoissa kannattaa suosia turnauskestävyytensä mukaan matematiikkaa ja tilastotiedettä, jotta saa pakollisen matematiikan kasaan. Matematiikan harjoittelusta on hyötyä erityisesti opintojen alkuvaiheessa, kun teorian pyörittelyyn ei ole vielä syntynyt rutiinia. Loppuvaiheessa niitä on tylsempää kasata kokoon mielenkiintoisten käpistelykurssien sivussa.&lt;br /&gt;
&lt;br /&gt;
Sivuaineopintojen lisäksi kannattaa tällöin tähdätä myös pakollisen toisen kotimaisen kielen (useimmille ruotsi) suorittamiseen pois alta. Huomaa, että ilmoittautumisajat ja ilmoittautumismetodi eroavat laitoksen vastaavista – kursseille ei mennä ”nopeimmat ensin” vaan painotetulla arvonnalla. Älä siis jätä toista kotimaista viimeisen vuoden viimeiseen periodiin, sillä kurssipaikka ei ole varma. Vaihtoehtoisesti voi vilkuilla jo joitakin tietojenkäsittelytieteen vapaavalintaisia kursseja, jos esitiedot niihin täyttyvät.&lt;br /&gt;
&lt;br /&gt;
Huomaa opintojasi suunnitellessasi, että harjoitustyökursseilla keskeyttämistä ei katsota hyvällä – se voi vaikuttaa ensi kerralla ryhmään pääsemiseen, sillä harjoitustöiden pienryhmäopetus on kallista järjestää.&lt;br /&gt;
&lt;br /&gt;
Jos mallilukujärjestyksessä on onnistunut pysymään tähän asti, kurssityypit ja työmäärät ovat tulleet jo suhteellisen tutuiksi. Tämän jälkeen opintojen suorittaminen mallilukujärjestyksen mukaan on vain sen kurinalaista noudattamista. Myöskään toista sivuainekokonaisuutta ei pidä unohtaa – se tulisi aloittaa heti toisen vuoden syksyllä. Myös toisen kotimaisen kielen (ns. ”virkamiesruotsi”) suorittaminen kannattaa aloittaa mahdollisimman pian, jos sitä ei ole vielä ensimmäisenä keväänä tehnyt. Kynnys sen suorittamiseen ei ainakaan alene opintojen edetessä.&lt;br /&gt;
&lt;br /&gt;
==Olen suorittanut MOOCin==&lt;br /&gt;
&lt;br /&gt;
Käytännössä fuksisyksyn ohjelmoinnin perusteet ja ohjelmoinnin jatkokurssi täytyy korvata jollain muulla, &amp;lt;del&amp;gt;ja suositeltu vaihtoehto on [https://courses.helsinki.fi/fi/tkt20001/ tietorakenteet ja algoritmit] joka muuten suoritettaisiin keväällä. Kevään Tira voidaan puolestaan korvata esimerkiksi matematiikan kursseilla tai halutessa voidaan myös keulia ja suorittaa toiselle vuodelle tarkoitettuja kursseja, kuten [https://courses.helsinki.fi/fi/tkt20003/ käyttöjärjestelmät] ja [https://courses.helsinki.fi/fi/tkt20004/ tietoliikenteen perusteet].&amp;lt;/del&amp;gt; Yksi vaihtoehto syksylle on Tietorakenteet ja algoritmit. Monille tira on kuitenkin haastava kurssi, joten sen suorittamista heti ensimmäisenä kannattaa harkita tarkkaan. Kurssilla on vaihtelevasti mukana matemaattista todistamista vaativia tehtäviä, joiden tekemistä helpottaa, jos on suorittanut ensin kurssin Johdatus yliopistomatematiikkaan (JYM). &lt;br /&gt;
&lt;br /&gt;
Turvallinen vaihtoehto on ottaa syksyksi esim. lisää sivuainekursseja. Peruskursseja on usein tarjolla vain syksyisin ja ne ovat esitietoja monille kevään kursseille. Katso vinkkiä esim. matemaatikkojen/tilastotieteilijöiden fuksisyksyn malliaikataulusta. Kurssitarjonta vaihtelee, mutta esimerkiksi Lineaari- ja matriisilaskenta on hyvä valinta, sillä se on esitietona yllättävän monella kurssilla.&lt;br /&gt;
&lt;br /&gt;
==Olen suorittanut perusopinnot avoimessa yliopistossa==&lt;br /&gt;
&lt;br /&gt;
Syksyllä normaaliin aikatauluun verrattuna suoritettavia kursseja on siis Johdatus yliopistomatematiikkaan (5op), opiskelijan digitaidot (2op), tietokone työvälineenä (1op) sekä englanti (4op). Näistä tulee koko syksylle yhteensä 12op.&lt;br /&gt;
&lt;br /&gt;
Normaalisti fuksi opiskelee pakollisen vieraan kielen (yleensä englanti) johdatus tietojenkäsittelytieteeseen -kurssin yhteydessä, mutta avoimen yliopiston kurssi ei toimi samalla tavalla vaan englanti pitää käydä itse. Sen voi suorittaa kummassa tahansa periodissa.&lt;br /&gt;
&lt;br /&gt;
Kursseja joita voi suorittaa ovat esimerkiksi [https://courses.helsinki.fi/fi/tkt20001 Tietorakenteet ja algoritmit] (1. - 2. periodi) ja [https://courses.helsinki.fi/fi/tkt20002 Ohjelmistotekniikka] (2. periodi). JYM on varsin hyödyllinen ja erinomainen pohja kaikille muille matematiikankursseille, mutta jos matemaattinen osaaminen on hyvä niin myös matematiikan kurssien suorittamista voi harkita, etenkin jos aikoo suorittaa pitkän matematiikan. Myös sivuaineiden aloittamista voi miettiä, mikäli itselle on jo selvää mitä haluaa suorittaa.&lt;br /&gt;
&lt;br /&gt;
Myös harjoitustyön suorittaminen voi olla hyvä idea, niitä on pakko suorittaa kaiken kaikkiaan kaksi. Esitietovaatimukset täyttyvät [https://courses.helsinki.fi/fi/tkt20011 tietokantasovellusharjoitustyölle].&lt;br /&gt;
&lt;br /&gt;
==Olen suorittanut DEFAn==&lt;br /&gt;
&lt;br /&gt;
Olet jo melkoisen pitkällä opinnoissasi, suhteessa muihin fukseihin. Tähän asti suorittamasi kokonaisuus luo pohjan sille, mitä seuraavaksi kannattaa suorittaa. Juttele asiasta tuutoreiden ja vanhempien opiskelijoiden kanssa rohkeasti!&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12177</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12177"/>
		<updated>2024-08-08T14:55:29Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Muutettu kurssien lyhenteet koko nimiksi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestykset löytyvät osaston sivuilta:&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/fi/koulutusohjelmat/tietojenkasittelytieteen-kandiohjelma/opiskelu/tietojenkasittelytieteen-opintojen-rakenne-ja-aikataulu Tietojenkäsittelytieteen kandiohjelma] Ks. myös pdf-tiedostot täällä: https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/degree-programmes/data-science-masters-programme/studying/course-and-teaching-information-2024-2025 Master&#039;s Programme in Data Science]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Osaston tarjoamat mallilukujärjestykset eivät kuitenkaan suoraan kerro miten kaikki opinnot kannattaisi suorittaa. Apua omien opintojen suunnitteluun saa Kumpulan opiskelijapalveluista osoitteesta [mailto:kumpula-student@helsinki.fi kumpula-student@helsinki.fi].&lt;br /&gt;
&lt;br /&gt;
Erityisesti koneoppimiseen suunnatessa olennaiset matematiikan ja tilastotieteen esitiedot löytää datatieteen maisteriohjelmassa pakollisen Statistics for Data Science -kurssin kuvauksesta: lineaarialgrebra, differentiaalilaskenta, todennäköisyyslaskenta ja tilastotieteen perusteet. Tiiveimmin nämä saa kursseilta Tilastotiede ja R tutuksi I ja II sekä keväisin Koneoppimisen matematiikan perusteet I ja II, joiden jälkeen kannattaisi jatkaa pian syksyn johdattaville koneoppimiskursseille. Jos lukion pitkää matikkaa ei ole tuoreena taustalla, on suositeltavaa käydä Lukiomatematiikan kertaus näitäkin ennen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Osin vanhentuneet tiedot alla.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
{{katso myös|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Matematiikka opettaa formaalia ajattelua, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseilla. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö pärjäisi opinnoissasi, vaikka et olisikaan matikkavelho.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska koululla ei ole pakko käydä montakaan kertaa kurssin aikana.&lt;br /&gt;
&lt;br /&gt;
Pajoissa järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Paja-ajat ja käytännöt sovitaan kurssi kohtaisesti, joten niitä hyödyntääkseen pitää itse lukea kurssisivulta infot. &lt;br /&gt;
&lt;br /&gt;
Mikäli ensimmäisen syksyn keskeiset kurssit takkuavat, ei kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on tärkeää, jos mielii valmistua kolmessa vuodessa luonnontieteiden kandidaatiksi (LuK) ilman vaikeuksia. Kurssien välisistä riippuvuuksista ei tällä hetkellä ole tarjolla virallista ja täysin ajantasaista versiota. Lähes virheetön kaavio löytyy osoitteesta [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet täältä]. &#039;&#039;&#039;Kaaviota lukiessa tulee huomata, että kurssin johdatus tekoälyyn sijaan siinä kohdassa kuuluisi lukea: &amp;quot;johdatus tekoälyyn tai tietoturvan perusteet&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Digitaidot + Tietokone työvälineenä + Akateemiset taidot || I || 3-4&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 10&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Katso myös [[Fuksisyksyn_mallilukujärjestys]]&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden keväänä on myös hyvä suorittaa tietokantasovellus -harjoitustyö (4 op) ja/tai toinen kotimainen kieli (3 op).&lt;br /&gt;
Suunnitellessaan opintojaan on hyvä tarkistaa harjoitustöiden esitietovaatimukset.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || II ||  5 + 1&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Toisen vuoden aikana on viimeistään tehtävä ensimmäinen harjoitustyö, eikä ole huono idea suorittaa toistakin. &lt;br /&gt;
Jos toisen ja kolmannen vuoden välisenä kesänä on aikaa eli ohjelmistotuotantoprojektin suorittaminen silloin ole hassumpi ajatus.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tekoälyyn / Tietoturvan perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I, II tai I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma + Tutkimustiedonhaku + Äidinkieli || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
{{katso|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Raja-arvot, on harkitsemisen arvoinen vaihtoehtoja, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Matikan perusfuksikurssina nämä opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto.&lt;br /&gt;
** Tilastotiede ja R tutuksi 1, jos kiinnostaa datatiede, machine learning tai algo puoli (Suosittelen useita tilastotieteen kursseja jos nämä linjat kiinnostavat.)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2&lt;br /&gt;
*** Differentiaalilaskenta. (Yleishyödyllistä melkein kaikilla linjoilla)&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka 1 ja 2, 5 op/kpl&lt;br /&gt;
** Tai Tilastollinen päättely (IV),&lt;br /&gt;
** Tai todennäköisyyslaskenta 1 (III), 5 op.  (Tilastollinen päättely ja todennäköisyyslaskenta erittäin tärkeitä datatieteessä ja machine-learning opinnoissa).&lt;br /&gt;
** Integraalilaskenta (III) ja sarjat (IV)&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikkaa datatieteeseen ja tekoälyyn ==&lt;br /&gt;
&lt;br /&gt;
=== Pakolliset ===&lt;br /&gt;
&lt;br /&gt;
Jos siirryt tkt:ltä Datatieteen maisteriohjelmaan sinun täytyy sisällyttää kanditutkintoosi (tarkistettu 03.09.2019):&lt;br /&gt;
&lt;br /&gt;
* MAT12003 Todennäköisyyslaskenta (5 op) I &lt;br /&gt;
* 5 op tilastotiedettä&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Vaatimuksena on, että kanditutkintoon on sisällytetty MAT12003 Todennäköisyyslaskenta (5 op) I ja 5 op tilastotiedettä (esimerkiksi MAT12001 Tilastotiede tutuksi ja R-ohjelmisto tai MAT12004 Tilastollinen päättely I).&#039;&#039; [https://guide.student.helsinki.fi/fi/node/405?degree_programme_code=KH50_005 lähde]&lt;br /&gt;
&lt;br /&gt;
=== Epävirallisia suosituksia ===&lt;br /&gt;
&lt;br /&gt;
Monelle on tullut maisterivaiheen kursseihin siirtyessä yllätyksenä se, kuinka paljon matematiikkaa ja tilastotiedettä on osattava, jotta voi pärjätä datatiede- ja koneoppimislinjoilla. Siksi tähän on koostettu lista kursseista joiden avulla saa varmistettua riittävän osaamistason. Tällaista kokonaisuutta ei ole missään aiemmin ollut listattuna. Kurssilistaus on luotu perustuen keskusteluihin DS/AI (Datatiede ja tekoäly) linjojen opiskelijoiden, yhden sen linjan professorin ja yhden tilastotieteen professorin kanssa. Vaikka otsikon mukaisesti ohje on erityisesti datatieteen ja tekoälyn opiskeluun tähtääville, valmistaa tällaisen kokonaisuuden opiskelu useampaankin maisterivaiheen linjaan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DISCLAIMER: &#039;&#039;&#039; Tämä lista ei tarkoita sitä, että &amp;quot;nämä kaikki on pakko käydä tai tulet failaamaan, jos tähtäät data science -maisterilinjalle. Näistä kursseista on hyötyä data science aiheiden ymmärtämisessä. Erityisesti tilastotieteen kurssit ovat hyödyllisiä. Matematiikkaa taas tarvitaan tilastotieteen kurssien syvällisempään ymmärtämiseen. Tätä listaa on tarkoitus tarkentaa lisäämällä kunkin kurssin kohdalle jonkinlaista infoa kurssin tärkeydestä: ts. &amp;quot;ihan hyödyllinen&amp;quot; vai &amp;quot;puoli-pakollinen&amp;quot;. Myös kurssien aiheiden suhteista Data Scientistin työssä vastaantuleviin haasteisiin on keskusteltu ja suunnitelmissa on rakentaa jonkinnäköinen materiaali, joka vastaa kysymyksiin, kuten &#039;&#039;&amp;quot;Mihin tätä linistä/raja-arvoja/sarjoja/jne oikein tarvii?&amp;quot;&#039;&#039;. Opintovastaavat auttavat osoitteissa #tkt-apu tai opintovastaava@tko-aly.f, jos askarruttaa.&lt;br /&gt;
&lt;br /&gt;
* DATE-opintokokonaisuus DAtatieteeseen ja TEkoälyyn&lt;br /&gt;
** Johdatus yliopistomatematiikkaan (kaikille pakollinen)&lt;br /&gt;
** Algebran kurssit&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 1&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 2&lt;br /&gt;
*** Algebralliset rakenteet 1&lt;br /&gt;
*** Algebralliset rakenteet 2&lt;br /&gt;
** Analyysin kurssit&lt;br /&gt;
*** Raja-arvot&lt;br /&gt;
*** Differentiaalilaskenta&lt;br /&gt;
*** Integraalilaskenta&lt;br /&gt;
*** Sarjat&lt;br /&gt;
*** Vektorianalyysi 1&lt;br /&gt;
** Tilastotieteen kurssit&lt;br /&gt;
*** Tilastotiede ja R tutuksi 1 (Tilastotiede)&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2 (Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 1 (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2a (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2b (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 1 (Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 2 (Tilastotiede)&lt;br /&gt;
&lt;br /&gt;
Jotta esitiedot ovat riittävän hyvin hallussa, kannattaa kurssit suorittaa tietyssä järjestyksessä. Perusperiaatteena on, että JYM, Algebran kurssit ja Analyysin kurssit voi suorittaa rinnakkain, kuitenkin niin että Vektorianalyysi edellyttää Lineaarialgebran osaamista. Tilastotiede ja R tutuksi sopii käytäväksi milloin vain mahtuu lukujärjestykseen (esitietona jonkinlainen lukiomatematiikan osaaminen). Todennäköisyyslaskenta 1, jonka osaamisen on oltava hallussa ennen muita mainittuja tilastotieteen kursseja, sopii parhaiten suoritettavaksi kun matematiikka on muuten hallussa.&lt;br /&gt;
&lt;br /&gt;
=== Aikataulu ===&lt;br /&gt;
&lt;br /&gt;
Seuraava taulukko (erään opiskelijan hops-excelistä) voi olla avuksi opintojen suunnittelussa:&lt;br /&gt;
&lt;br /&gt;
* Tässä siis haluttu suorittaa matematiikan analyysin kurssit putkeen sekä tilastotieteen perusopinnot samaan tapaan.&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:Mathstat_perusopinto_aikataulut.png|none|frame|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HUOM:&#039;&#039;&#039; Datatieteen maisterin tutkinnossa (2019) tilaa 35op &amp;quot;Muille opinnoille&amp;quot;, mitkä voivat olla sekä kandi että maisteritason kursseja. TKT maisterissa vastaavasti 40op.&lt;br /&gt;
&lt;br /&gt;
== Kaavio DATE-kurssien välisistä riippuvuuksista ==&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:DATE_opinnot_v3.png|none|800px]]&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12171</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12171"/>
		<updated>2024-08-08T14:52:09Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Lisätty lisäohjeita mallilukujärjestysten puutteista&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestykset löytyvät osaston sivuilta:&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/fi/koulutusohjelmat/tietojenkasittelytieteen-kandiohjelma/opiskelu/tietojenkasittelytieteen-opintojen-rakenne-ja-aikataulu Tietojenkäsittelytieteen kandiohjelma] Ks. myös pdf-tiedostot täällä: https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/degree-programmes/data-science-masters-programme/studying/course-and-teaching-information-2024-2025 Master&#039;s Programme in Data Science]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Osaston tarjoamat mallilukujärjestykset eivät kuitenkaan suoraan kerro miten kaikki opinnot kannattaisi suorittaa. Apua omien opintojen suunnitteluun saa Kumpulan opiskelijapalveluista osoitteesta [mailto:kumpula-student@helsinki.fi kumpula-student@helsinki.fi].&lt;br /&gt;
&lt;br /&gt;
Erityisesti koneoppimiseen suunnatessa olennaiset matematiikan ja tilastotieteen esitiedot löytää datatieteen maisteriohjelmassa pakollisen Statistics for Data Science -kurssin kuvauksesta: lineaarialgrebra, differentiaalilaskenta, todennäköisyyslaskenta ja tilastotieteen perusteet. Tiiveimmin nämä saa kursseilta TilTu I ja II sekä keväisin BoMiML I ja II, joiden jälkeen kannattaisi jatkaa pian datatieteen ensimmäisille syksyn kursseille kuten IDS ja IML. Jos lukion pitkää matikkaa ei ole tuoreena taustalla, on suositeltavaa käydä Lukiomatematiikan kertaus näitäkin ennen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Osin vanhentuneet tiedot alla.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
{{katso myös|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Matematiikka opettaa formaalia ajattelua, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseilla. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö pärjäisi opinnoissasi, vaikka et olisikaan matikkavelho.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska koululla ei ole pakko käydä montakaan kertaa kurssin aikana.&lt;br /&gt;
&lt;br /&gt;
Pajoissa järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Paja-ajat ja käytännöt sovitaan kurssi kohtaisesti, joten niitä hyödyntääkseen pitää itse lukea kurssisivulta infot. &lt;br /&gt;
&lt;br /&gt;
Mikäli ensimmäisen syksyn keskeiset kurssit takkuavat, ei kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on tärkeää, jos mielii valmistua kolmessa vuodessa luonnontieteiden kandidaatiksi (LuK) ilman vaikeuksia. Kurssien välisistä riippuvuuksista ei tällä hetkellä ole tarjolla virallista ja täysin ajantasaista versiota. Lähes virheetön kaavio löytyy osoitteesta [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet täältä]. &#039;&#039;&#039;Kaaviota lukiessa tulee huomata, että kurssin johdatus tekoälyyn sijaan siinä kohdassa kuuluisi lukea: &amp;quot;johdatus tekoälyyn tai tietoturvan perusteet&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Digitaidot + Tietokone työvälineenä + Akateemiset taidot || I || 3-4&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 10&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Katso myös [[Fuksisyksyn_mallilukujärjestys]]&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden keväänä on myös hyvä suorittaa tietokantasovellus -harjoitustyö (4 op) ja/tai toinen kotimainen kieli (3 op).&lt;br /&gt;
Suunnitellessaan opintojaan on hyvä tarkistaa harjoitustöiden esitietovaatimukset.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || II ||  5 + 1&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Toisen vuoden aikana on viimeistään tehtävä ensimmäinen harjoitustyö, eikä ole huono idea suorittaa toistakin. &lt;br /&gt;
Jos toisen ja kolmannen vuoden välisenä kesänä on aikaa eli ohjelmistotuotantoprojektin suorittaminen silloin ole hassumpi ajatus.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tekoälyyn / Tietoturvan perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I, II tai I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma + Tutkimustiedonhaku + Äidinkieli || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
{{katso|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Raja-arvot, on harkitsemisen arvoinen vaihtoehtoja, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Matikan perusfuksikurssina nämä opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto.&lt;br /&gt;
** Tilastotiede ja R tutuksi 1, jos kiinnostaa datatiede, machine learning tai algo puoli (Suosittelen useita tilastotieteen kursseja jos nämä linjat kiinnostavat.)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2&lt;br /&gt;
*** Differentiaalilaskenta. (Yleishyödyllistä melkein kaikilla linjoilla)&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka 1 ja 2, 5 op/kpl&lt;br /&gt;
** Tai Tilastollinen päättely (IV),&lt;br /&gt;
** Tai todennäköisyyslaskenta 1 (III), 5 op.  (Tilastollinen päättely ja todennäköisyyslaskenta erittäin tärkeitä datatieteessä ja machine-learning opinnoissa).&lt;br /&gt;
** Integraalilaskenta (III) ja sarjat (IV)&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikkaa datatieteeseen ja tekoälyyn ==&lt;br /&gt;
&lt;br /&gt;
=== Pakolliset ===&lt;br /&gt;
&lt;br /&gt;
Jos siirryt tkt:ltä Datatieteen maisteriohjelmaan sinun täytyy sisällyttää kanditutkintoosi (tarkistettu 03.09.2019):&lt;br /&gt;
&lt;br /&gt;
* MAT12003 Todennäköisyyslaskenta (5 op) I &lt;br /&gt;
* 5 op tilastotiedettä&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Vaatimuksena on, että kanditutkintoon on sisällytetty MAT12003 Todennäköisyyslaskenta (5 op) I ja 5 op tilastotiedettä (esimerkiksi MAT12001 Tilastotiede tutuksi ja R-ohjelmisto tai MAT12004 Tilastollinen päättely I).&#039;&#039; [https://guide.student.helsinki.fi/fi/node/405?degree_programme_code=KH50_005 lähde]&lt;br /&gt;
&lt;br /&gt;
=== Epävirallisia suosituksia ===&lt;br /&gt;
&lt;br /&gt;
Monelle on tullut maisterivaiheen kursseihin siirtyessä yllätyksenä se, kuinka paljon matematiikkaa ja tilastotiedettä on osattava, jotta voi pärjätä datatiede- ja koneoppimislinjoilla. Siksi tähän on koostettu lista kursseista joiden avulla saa varmistettua riittävän osaamistason. Tällaista kokonaisuutta ei ole missään aiemmin ollut listattuna. Kurssilistaus on luotu perustuen keskusteluihin DS/AI (Datatiede ja tekoäly) linjojen opiskelijoiden, yhden sen linjan professorin ja yhden tilastotieteen professorin kanssa. Vaikka otsikon mukaisesti ohje on erityisesti datatieteen ja tekoälyn opiskeluun tähtääville, valmistaa tällaisen kokonaisuuden opiskelu useampaankin maisterivaiheen linjaan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DISCLAIMER: &#039;&#039;&#039; Tämä lista ei tarkoita sitä, että &amp;quot;nämä kaikki on pakko käydä tai tulet failaamaan, jos tähtäät data science -maisterilinjalle. Näistä kursseista on hyötyä data science aiheiden ymmärtämisessä. Erityisesti tilastotieteen kurssit ovat hyödyllisiä. Matematiikkaa taas tarvitaan tilastotieteen kurssien syvällisempään ymmärtämiseen. Tätä listaa on tarkoitus tarkentaa lisäämällä kunkin kurssin kohdalle jonkinlaista infoa kurssin tärkeydestä: ts. &amp;quot;ihan hyödyllinen&amp;quot; vai &amp;quot;puoli-pakollinen&amp;quot;. Myös kurssien aiheiden suhteista Data Scientistin työssä vastaantuleviin haasteisiin on keskusteltu ja suunnitelmissa on rakentaa jonkinnäköinen materiaali, joka vastaa kysymyksiin, kuten &#039;&#039;&amp;quot;Mihin tätä linistä/raja-arvoja/sarjoja/jne oikein tarvii?&amp;quot;&#039;&#039;. Opintovastaavat auttavat osoitteissa #tkt-apu tai opintovastaava@tko-aly.f, jos askarruttaa.&lt;br /&gt;
&lt;br /&gt;
* DATE-opintokokonaisuus DAtatieteeseen ja TEkoälyyn&lt;br /&gt;
** Johdatus yliopistomatematiikkaan (kaikille pakollinen)&lt;br /&gt;
** Algebran kurssit&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 1&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 2&lt;br /&gt;
*** Algebralliset rakenteet 1&lt;br /&gt;
*** Algebralliset rakenteet 2&lt;br /&gt;
** Analyysin kurssit&lt;br /&gt;
*** Raja-arvot&lt;br /&gt;
*** Differentiaalilaskenta&lt;br /&gt;
*** Integraalilaskenta&lt;br /&gt;
*** Sarjat&lt;br /&gt;
*** Vektorianalyysi 1&lt;br /&gt;
** Tilastotieteen kurssit&lt;br /&gt;
*** Tilastotiede ja R tutuksi 1 (Tilastotiede)&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2 (Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 1 (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2a (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2b (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 1 (Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 2 (Tilastotiede)&lt;br /&gt;
&lt;br /&gt;
Jotta esitiedot ovat riittävän hyvin hallussa, kannattaa kurssit suorittaa tietyssä järjestyksessä. Perusperiaatteena on, että JYM, Algebran kurssit ja Analyysin kurssit voi suorittaa rinnakkain, kuitenkin niin että Vektorianalyysi edellyttää Lineaarialgebran osaamista. Tilastotiede ja R tutuksi sopii käytäväksi milloin vain mahtuu lukujärjestykseen (esitietona jonkinlainen lukiomatematiikan osaaminen). Todennäköisyyslaskenta 1, jonka osaamisen on oltava hallussa ennen muita mainittuja tilastotieteen kursseja, sopii parhaiten suoritettavaksi kun matematiikka on muuten hallussa.&lt;br /&gt;
&lt;br /&gt;
=== Aikataulu ===&lt;br /&gt;
&lt;br /&gt;
Seuraava taulukko (erään opiskelijan hops-excelistä) voi olla avuksi opintojen suunnittelussa:&lt;br /&gt;
&lt;br /&gt;
* Tässä siis haluttu suorittaa matematiikan analyysin kurssit putkeen sekä tilastotieteen perusopinnot samaan tapaan.&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:Mathstat_perusopinto_aikataulut.png|none|frame|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HUOM:&#039;&#039;&#039; Datatieteen maisterin tutkinnossa (2019) tilaa 35op &amp;quot;Muille opinnoille&amp;quot;, mitkä voivat olla sekä kandi että maisteritason kursseja. TKT maisterissa vastaavasti 40op.&lt;br /&gt;
&lt;br /&gt;
== Kaavio DATE-kurssien välisistä riippuvuuksista ==&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:DATE_opinnot_v3.png|none|800px]]&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12054</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12054"/>
		<updated>2024-08-08T12:08:05Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Lisätty linkki pdf-mallilukujärjestyksiin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;TÄMÄ SIVU ON VANHENTUNUT, KATSO MALLIAIKATAULU YLIOPISTON SIVUILTA ALLA OLEVISTA LINKEISTÄ&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestykset löytyvät osaston sivuilta: &lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/fi/koulutusohjelmat/tietojenkasittelytieteen-kandiohjelma/opiskelu/tietojenkasittelytieteen-opintojen-rakenne-ja-aikataulu Tietojenkäsittelytieteen kandiohjelma] Ks. myös pdf-tiedostot täällä: https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/degree-programmes/data-science-masters-programme/studying/course-and-teaching-information-2024-2025 Master&#039;s Programme in Data Science]&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
{{katso myös|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Matematiikka opettaa formaalia ajattelua, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseilla. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö pärjäisi opinnoissasi, vaikka et olisikaan matikkavelho.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska koululla ei ole pakko käydä montakaan kertaa kurssin aikana.&lt;br /&gt;
&lt;br /&gt;
Pajoissa järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Paja-ajat ja käytännöt sovitaan kurssi kohtaisesti, joten niitä hyödyntääkseen pitää itse lukea kurssisivulta infot. &lt;br /&gt;
&lt;br /&gt;
Mikäli ensimmäisen syksyn keskeiset kurssit takkuavat, ei kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on tärkeää, jos mielii valmistua kolmessa vuodessa luonnontieteiden kandidaatiksi (LuK) ilman vaikeuksia. Kurssien välisistä riippuvuuksista ei tällä hetkellä ole tarjolla virallista ja täysin ajantasaista versiota. Lähes virheetön kaavio löytyy osoitteesta [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet täältä]. &#039;&#039;&#039;Kaaviota lukiessa tulee huomata, että kurssin johdatus tekoälyyn sijaan siinä kohdassa kuuluisi lukea: &amp;quot;johdatus tekoälyyn tai tietoturvan perusteet&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Digitaidot + Tietokone työvälineenä + Akateemiset taidot || I || 3-4&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 10&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Katso myös [[Fuksisyksyn_mallilukujärjestys]]&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden keväänä on myös hyvä suorittaa tietokantasovellus -harjoitustyö (4 op) ja/tai toinen kotimainen kieli (3 op).&lt;br /&gt;
Suunnitellessaan opintojaan on hyvä tarkistaa harjoitustöiden esitietovaatimukset.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || II ||  5 + 1&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Toisen vuoden aikana on viimeistään tehtävä ensimmäinen harjoitustyö, eikä ole huono idea suorittaa toistakin. &lt;br /&gt;
Jos toisen ja kolmannen vuoden välisenä kesänä on aikaa eli ohjelmistotuotantoprojektin suorittaminen silloin ole hassumpi ajatus.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tekoälyyn / Tietoturvan perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I, II tai I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma + Tutkimustiedonhaku + Äidinkieli || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
{{katso|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Raja-arvot, on harkitsemisen arvoinen vaihtoehtoja, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Matikan perusfuksikurssina nämä opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto.&lt;br /&gt;
** Tilastotiede ja R tutuksi 1, jos kiinnostaa datatiede, machine learning tai algo puoli (Suosittelen useita tilastotieteen kursseja jos nämä linjat kiinnostavat.)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2&lt;br /&gt;
*** Differentiaalilaskenta. (Yleishyödyllistä melkein kaikilla linjoilla)&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka 1 ja 2, 5 op/kpl&lt;br /&gt;
** Tai Tilastollinen päättely (IV),&lt;br /&gt;
** Tai todennäköisyyslaskenta 1 (III), 5 op.  (Tilastollinen päättely ja todennäköisyyslaskenta erittäin tärkeitä datatieteessä ja machine-learning opinnoissa).&lt;br /&gt;
** Integraalilaskenta (III) ja sarjat (IV)&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikkaa datatieteeseen ja tekoälyyn ==&lt;br /&gt;
&lt;br /&gt;
=== Pakolliset ===&lt;br /&gt;
&lt;br /&gt;
Jos siirryt tkt:ltä Datatieteen maisteriohjelmaan sinun täytyy sisällyttää kanditutkintoosi (tarkistettu 03.09.2019):&lt;br /&gt;
&lt;br /&gt;
* MAT12003 Todennäköisyyslaskenta (5 op) I &lt;br /&gt;
* 5 op tilastotiedettä&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Vaatimuksena on, että kanditutkintoon on sisällytetty MAT12003 Todennäköisyyslaskenta (5 op) I ja 5 op tilastotiedettä (esimerkiksi MAT12001 Tilastotiede tutuksi ja R-ohjelmisto tai MAT12004 Tilastollinen päättely I).&#039;&#039; [https://guide.student.helsinki.fi/fi/node/405?degree_programme_code=KH50_005 lähde]&lt;br /&gt;
&lt;br /&gt;
=== Epävirallisia suosituksia ===&lt;br /&gt;
&lt;br /&gt;
Monelle on tullut maisterivaiheen kursseihin siirtyessä yllätyksenä se, kuinka paljon matematiikkaa ja tilastotiedettä on osattava, jotta voi pärjätä datatiede- ja koneoppimislinjoilla. Siksi tähän on koostettu lista kursseista joiden avulla saa varmistettua riittävän osaamistason. Tällaista kokonaisuutta ei ole missään aiemmin ollut listattuna. Kurssilistaus on luotu perustuen keskusteluihin DS/AI (Datatiede ja tekoäly) linjojen opiskelijoiden, yhden sen linjan professorin ja yhden tilastotieteen professorin kanssa. Vaikka otsikon mukaisesti ohje on erityisesti datatieteen ja tekoälyn opiskeluun tähtääville, valmistaa tällaisen kokonaisuuden opiskelu useampaankin maisterivaiheen linjaan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DISCLAIMER: &#039;&#039;&#039; Tämä lista ei tarkoita sitä, että &amp;quot;nämä kaikki on pakko käydä tai tulet failaamaan, jos tähtäät data science -maisterilinjalle. Näistä kursseista on hyötyä data science aiheiden ymmärtämisessä. Erityisesti tilastotieteen kurssit ovat hyödyllisiä. Matematiikkaa taas tarvitaan tilastotieteen kurssien syvällisempään ymmärtämiseen. Tätä listaa on tarkoitus tarkentaa lisäämällä kunkin kurssin kohdalle jonkinlaista infoa kurssin tärkeydestä: ts. &amp;quot;ihan hyödyllinen&amp;quot; vai &amp;quot;puoli-pakollinen&amp;quot;. Myös kurssien aiheiden suhteista Data Scientistin työssä vastaantuleviin haasteisiin on keskusteltu ja suunnitelmissa on rakentaa jonkinnäköinen materiaali, joka vastaa kysymyksiin, kuten &#039;&#039;&amp;quot;Mihin tätä linistä/raja-arvoja/sarjoja/jne oikein tarvii?&amp;quot;&#039;&#039;. Opintovastaavat auttavat osoitteissa #tkt-apu tai opintovastaava@tko-aly.f, jos askarruttaa.&lt;br /&gt;
&lt;br /&gt;
* DATE-opintokokonaisuus DAtatieteeseen ja TEkoälyyn&lt;br /&gt;
** Johdatus yliopistomatematiikkaan (kaikille pakollinen)&lt;br /&gt;
** Algebran kurssit&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 1&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 2&lt;br /&gt;
*** Algebralliset rakenteet 1&lt;br /&gt;
*** Algebralliset rakenteet 2&lt;br /&gt;
** Analyysin kurssit&lt;br /&gt;
*** Raja-arvot&lt;br /&gt;
*** Differentiaalilaskenta&lt;br /&gt;
*** Integraalilaskenta&lt;br /&gt;
*** Sarjat&lt;br /&gt;
*** Vektorianalyysi 1&lt;br /&gt;
** Tilastotieteen kurssit&lt;br /&gt;
*** Tilastotiede ja R tutuksi 1 (Tilastotiede)&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2 (Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 1 (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2a (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2b (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 1 (Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 2 (Tilastotiede)&lt;br /&gt;
&lt;br /&gt;
Jotta esitiedot ovat riittävän hyvin hallussa, kannattaa kurssit suorittaa tietyssä järjestyksessä. Perusperiaatteena on, että JYM, Algebran kurssit ja Analyysin kurssit voi suorittaa rinnakkain, kuitenkin niin että Vektorianalyysi edellyttää Lineaarialgebran osaamista. Tilastotiede ja R tutuksi sopii käytäväksi milloin vain mahtuu lukujärjestykseen (esitietona jonkinlainen lukiomatematiikan osaaminen). Todennäköisyyslaskenta 1, jonka osaamisen on oltava hallussa ennen muita mainittuja tilastotieteen kursseja, sopii parhaiten suoritettavaksi kun matematiikka on muuten hallussa.&lt;br /&gt;
&lt;br /&gt;
=== Aikataulu ===&lt;br /&gt;
&lt;br /&gt;
Seuraava taulukko (erään opiskelijan hops-excelistä) voi olla avuksi opintojen suunnittelussa:&lt;br /&gt;
&lt;br /&gt;
* Tässä siis haluttu suorittaa matematiikan analyysin kurssit putkeen sekä tilastotieteen perusopinnot samaan tapaan.&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:Mathstat_perusopinto_aikataulut.png|none|frame|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HUOM:&#039;&#039;&#039; Datatieteen maisterin tutkinnossa (2019) tilaa 35op &amp;quot;Muille opinnoille&amp;quot;, mitkä voivat olla sekä kandi että maisteritason kursseja. TKT maisterissa vastaavasti 40op.&lt;br /&gt;
&lt;br /&gt;
== Kaavio DATE-kurssien välisistä riippuvuuksista ==&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:DATE_opinnot_v3.png|none|800px]]&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Erikoistumislinjat_ja_maisteriohjelmat&amp;diff=12053</id>
		<title>Erikoistumislinjat ja maisteriohjelmat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Erikoistumislinjat_ja_maisteriohjelmat&amp;diff=12053"/>
		<updated>2024-08-08T10:44:56Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Lisätty maininnat sosiaalitieteiden ja filosofian maisteriohjelmista&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tietojenkäsittelytieteen osasto tarjoaa maisterivaiheen opetusta kahden maisteriohjelman ja neljän opintosuunnan kautta. Lisäksi tietojenkäsittelytieteen kandidaatin tutkinto mahdollistaa opiskelun eräissä muissa maisteriohjelmissa. Katso [https://studies.helsinki.fi/ohjeet/artikkeli/jatkaminen-maisteriohjelmaan?degree_programme_code=KH50_005#paragraph-1054 maisterioptiot opintovaatimuksineen].&lt;br /&gt;
&lt;br /&gt;
= Tietojenkäsittelytieteen maisteriohjelma =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Masters-degree-structure-2017.drawio.png|200px|left|thumb]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/programmes/master/computer-science Tietojenkäsittelytieteen maisteriohjelman] opintoihin kuuluu 15 opintopistettä ydinkursseja, 30 opintopistettä opintosuuntakohtaisia kursseja, tietojenkäsittelytieteen kollokvio (5 op), Pro Gradu -tutkielma (30 op) sekä 40 op muita täysin valinnaisia opintoja. Opintosuuntakohtaisten kurssien tulee sisältää vähintään 15 op edestä kursseja kahdesta eri opintosuunnan kurssipaketista.&lt;br /&gt;
&lt;br /&gt;
Kts. tutkintorakenteen tarkempi kuvaus [https://guide.student.helsinki.fi/en/article/structure-and-scope-my-degree-programme?degree_programme_code=MH50_009 täältä]&lt;br /&gt;
&lt;br /&gt;
Kts. myös [https://www.helsinki.fi/en/programmes/master/computer-science/studying/structure-of-the-programme tietojenkäsittelytieteen] ja [https://www.helsinki.fi/en/programmes/master/data-science/degree-structure data tieteen] kurssilistaukset.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ydinkurssit==&lt;br /&gt;
* Design and Analysis of Algorithms&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Distributed Systems&lt;br /&gt;
* Networked Systems and Services&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
* Software Architectures&lt;br /&gt;
&lt;br /&gt;
==Software Systems -opintosuunta==&lt;br /&gt;
Ohjelmistojärjestelmien (Software Systems) opintosuunta keskittyy suurten ja monimutkaisten ohjelmistojärjestelmien tuottamisen tarkasteluun, tutkimalla ohjelmistoprosesseja, ryhmädynamiikkaa ja ohjelmiston laatua sekä niiden uudelleenkäyttöä. &lt;br /&gt;
&lt;br /&gt;
Opiskelu kulminoituu Software Factoryyn, joka toimii yhteistyön alustana ohjelmistoliiketoiminnalle ja perus sekä soveltavalle ohjelmistokehitystutkimukselle ja -opetukselle. Software factory on kokeellinen ohjelmiston tutkimus- ja kehityslaboratorio, jonka päämääränä on edistää opetusta, poikkitieteellistä tutkimusta ja korkean tavoitteiden yrittäjyyttä. &lt;br /&gt;
&lt;br /&gt;
Opintosuunnan kurssit jakaantuvat kolmeen kurssipakettiin, joiden alta löytyy esimerkiksi seuraavia kursseja:&lt;br /&gt;
&lt;br /&gt;
===Software Engineering -kurssipaketti===&lt;br /&gt;
* Methods for Software Engineering Research&lt;br /&gt;
* Software Architecture Project&lt;br /&gt;
* Software Product Management&lt;br /&gt;
* Software Project Management and Group Dynamics&lt;br /&gt;
* Software Factory Experience&lt;br /&gt;
* Special Topics in Software Engineering&lt;br /&gt;
* Seminar in Empirical Software Engineering&lt;br /&gt;
* Seminar in Novel Software Architecture Design&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
&lt;br /&gt;
===Programming Techniques -kurssipaketti ===&lt;br /&gt;
* Software Testing&lt;br /&gt;
* Programming languages - Concepts and Paradigms&lt;br /&gt;
* Compilers&lt;br /&gt;
* Code Generation&lt;br /&gt;
* Game Engine Architecture&lt;br /&gt;
* Game Project Course&lt;br /&gt;
* Special Topics in Programming Techniques&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
* Seminar in Experimental Algorithmics&lt;br /&gt;
* Seminar in Experimental Software Engineering&lt;br /&gt;
* Seminar in Novel Software Architecture Design&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
&lt;br /&gt;
===Data Management -kurssipaketti===&lt;br /&gt;
* Transaction Management and Query Optimization&lt;br /&gt;
* Big Data Frameworks&lt;br /&gt;
* Special Topics in Data Management&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
&lt;br /&gt;
==Networking and Services -opintosuunta==&lt;br /&gt;
Tietoverkkojen ja palveluiden opintosuunnan opinnot käsittelevät kiinteiden ja mobiiliverkkojen suunnittelua ja hallintaa, sekä niiden päälle rakentuvia palveluita. Erityisinä fokuksina ovat hajautetut järjestelmät, interaktiiviset järjestelmät sekä järjestelmien mukautuminen muuttuvaan toimintaympäristöön.&lt;br /&gt;
&lt;br /&gt;
Opintosuunnan kurssit jakaantuvat neljään kurssipaketiin, joiden alta löytyy esimerkiksi seuraavia kursseja:&lt;br /&gt;
&lt;br /&gt;
===Networking -kurssipaketti===&lt;br /&gt;
* Internet Protocols&lt;br /&gt;
* Cloud and Edge Computing&lt;br /&gt;
* Scalable Overlay networks&lt;br /&gt;
* Special Topics in Networking&lt;br /&gt;
* Seminar on Cloud-Based Mobile Networking&lt;br /&gt;
* Seminar on Communication Security&lt;br /&gt;
&lt;br /&gt;
===Security -kurssipaketti===&lt;br /&gt;
* Mobile systems security&lt;br /&gt;
* Cryptography in Networking&lt;br /&gt;
* Software Security&lt;br /&gt;
* Cyber Security II&lt;br /&gt;
* Special Topics in Security&lt;br /&gt;
* Seminar on Communication Security&lt;br /&gt;
&lt;br /&gt;
===Collaborative and Interoperable Systems -kurssipaketti===&lt;br /&gt;
* Service Ecosystems&lt;br /&gt;
* Services Engineering with Models&lt;br /&gt;
* CINCO Laboratory&lt;br /&gt;
* Seminar on Collaborative and Interoperable Computing&lt;br /&gt;
&lt;br /&gt;
===Human Computer Interaction -kurssipaketti===&lt;br /&gt;
* Human Computer Interaction&lt;br /&gt;
* Designing Interactive Systems&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Special Topics in Human Computer Interaction&lt;br /&gt;
&lt;br /&gt;
==Algorithms -opintosuunta==&lt;br /&gt;
Jos kandikursseista sytytti tietorakenteet, laskennan mallit tai johdatus tekoälyyn, algoritmien opintosuunta voisi olla sinun valintasi.&lt;br /&gt;
&lt;br /&gt;
Algoritmien opintosuunta tutkii tehokkaita algoritmeja sekä niiden käyttöä. Opintosuunnan kurssit jakaantuvat diskreettien algoritmien kurssipakettiin sekä koneoppimisen kurssipakettiin, jotka sisältävät esimerkiksi seuraavia kursseja: &lt;br /&gt;
&lt;br /&gt;
===Discrete Algorithms -kurssipaketti===&lt;br /&gt;
* String processing algorithms&lt;br /&gt;
* Data compression techniques&lt;br /&gt;
* Randomized Algorithms I&lt;br /&gt;
* Randomized Algorithms II&lt;br /&gt;
* Approximation algorithms&lt;br /&gt;
* Combinatorial Optimization&lt;br /&gt;
* Biological Sequence Analysis&lt;br /&gt;
* Algorithms in Molecular Biology&lt;br /&gt;
* Special Topics in Discrete Algorithms&lt;br /&gt;
* Seminar on Applied Discrete Algorithms&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
* Seminar in Experimental Algorithmics&lt;br /&gt;
&lt;br /&gt;
===Machine Learning Algorithms -kurssipaketti===&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Advanced Course in Machine Learning&lt;br /&gt;
* Probabilistic Models&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* Bayesian Inference&lt;br /&gt;
* Advanced Statistical Inference&lt;br /&gt;
* Advanced Course in Bayesian Statistics&lt;br /&gt;
* High Dimensional Statistics&lt;br /&gt;
* Spatial Modelling and Bayesian Inference&lt;br /&gt;
* Machine Learning in Molecular Biology&lt;br /&gt;
* Special Topics in Machine Learning Algorithms&lt;br /&gt;
* Seminar: Deep learning for Natural Language Processing&lt;br /&gt;
&lt;br /&gt;
= Datatieteen maisteriohjelma=&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/programmes/master/data-science Datatieteen maisteriohjelma] käsittelee koneoppimisen, hajautetun laskennan ja tilastollisten metodien opintoja. Opinnot voivat suuntautua joko teoriaan tai soveltamiseen. Toisien sanoen, voit joko opiskella kehittämään uusia metodeja tai soveltamaan olemassaolevaa erilaisissa tilanteissa.&lt;br /&gt;
&lt;br /&gt;
Opinnot koostuvat ydinkursseista (vähintään 35 op), valinnaisista kursseista (vähintään 20 op), Pro Gradu -tutkielmasta (30 op) sekä muista opinnoista.&lt;br /&gt;
&lt;br /&gt;
==Ydinkurssit==&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Distributed Data Infrastructures&lt;br /&gt;
* Statistical Data Analysis (substitutes Bayesian Inference)&lt;br /&gt;
* Data Science Seminar&lt;br /&gt;
* Data Science Project&lt;br /&gt;
* Academic Skills for Data Science&lt;br /&gt;
* Data Science Fest&lt;br /&gt;
&lt;br /&gt;
==Valinnaiset kurssit==&lt;br /&gt;
Valinnaiset kurssit jakautuvat useaan eri paketiin, mutta opinnot vai valita useammasta paketista. Osa kursseista järjestetään vain joka toinen vuosi.&lt;br /&gt;
&lt;br /&gt;
===Machine Learning===&lt;br /&gt;
* Advanced Course in Machine Learning&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* Probabilistic Models&lt;br /&gt;
&lt;br /&gt;
===Statistical data science===&lt;br /&gt;
* Advanced Course in Bayesian Statistics&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* High Dimensional Statistics&lt;br /&gt;
* Spatial Modelling and Bayesian Inference&lt;br /&gt;
* Inverse Problems 1: Convolution and Deconvolution &lt;br /&gt;
&lt;br /&gt;
===Data science infrastructures===&lt;br /&gt;
* Introduction to Big Data Management&lt;br /&gt;
* Big Data Frameworks&lt;br /&gt;
* Cloud and Edge Computing&lt;br /&gt;
* Tools of High Performance Computing&lt;br /&gt;
* Scientific Computing III&lt;br /&gt;
&lt;br /&gt;
===Computers and cognition===&lt;br /&gt;
* Introduction to Artificial intelligence&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Computational Creativity&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Cognition &amp;amp; Brain Function&lt;br /&gt;
* Perception, Communication and Cognition&lt;br /&gt;
&lt;br /&gt;
===Algorithmic Data science===&lt;br /&gt;
* Design and Analysis of Algorithms&lt;br /&gt;
* Network Analysis (new course)&lt;br /&gt;
* Data Compression Techniques&lt;br /&gt;
* String Processing Algorithms&lt;br /&gt;
=Life Science Informatics -maisteriohjelma=&lt;br /&gt;
Life Science Informatics -maisteriohjelman opiskelijat käyttävät laskennallisia menetelmiä biologian, ekologian, ja lääketieteen ongelmien ratkaisuun. Opinnot koostuvat kuudesta opintosuunnasta, joista kuhunkin liittyy vuosittain järjestettävä johdantokurssi. Tutkintoon vaaditaan johdantokurssit vähintään kolmelta opintosuunnalta, yhden opintosuunnan kaikki kurssit, Pro Gradu -tutkielma (30 op) sekä seminaari (5 op).&lt;br /&gt;
&lt;br /&gt;
Opintosuunnat ovat&lt;br /&gt;
* Applied bioinformatics&lt;br /&gt;
* Algorithmic bioinformatics&lt;br /&gt;
* Biomathematics&lt;br /&gt;
* Biostatistics and bioinformatics&lt;br /&gt;
* Eco-evolutionary informatics&lt;br /&gt;
* Systems biology and medicine&lt;br /&gt;
&lt;br /&gt;
Lisätietoja maisteriohjelman [https://www.helsinki.fi/en/programmes/master/life-science-informatics/studying/programme-structure sivuilta]&lt;br /&gt;
&lt;br /&gt;
=Teoreettisten ja laskennallisten menetelmien maisteriohjelma= &lt;br /&gt;
&lt;br /&gt;
Kts. https://www.helsinki.fi/en/programmes/master/theoretical-and-computational-methods&lt;br /&gt;
&lt;br /&gt;
=Matematiikan ja tilastotieteen maisteriohjelma=&lt;br /&gt;
&lt;br /&gt;
Kts. https://www.helsinki.fi/en/programmes/master/mathematics-and-statistics&lt;br /&gt;
&lt;br /&gt;
= Sosiaalitieteiden maisteriohjelma, väestötieteen opintosuunta =&lt;br /&gt;
Kts. https://www.helsinki.fi/fi/koulutusohjelmat/sosiaalitieteiden-maisteriohjelma/opiskelu/opintosuunnat/vaestotiede&lt;br /&gt;
&lt;br /&gt;
= Filosofian maisteriohjelma =&lt;br /&gt;
Kts. https://www.helsinki.fi/fi/koulutusohjelmat/filosofian-maisteriohjelma&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Erikoistumislinjat_ja_maisteriohjelmat&amp;diff=12052</id>
		<title>Erikoistumislinjat ja maisteriohjelmat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Erikoistumislinjat_ja_maisteriohjelmat&amp;diff=12052"/>
		<updated>2024-08-08T10:39:43Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Lisätty linkki maisterioptioihin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tietojenkäsittelytieteen osasto tarjoaa maisterivaiheen opetusta kahden maisteriohjelman ja neljän opintosuunnan kautta. Lisäksi tietojenkäsittelytieteen kandidaatin tutkinto mahdollistaa opiskelun eräissä muissa maisteriohjelmissa. Katso [https://studies.helsinki.fi/ohjeet/artikkeli/jatkaminen-maisteriohjelmaan?degree_programme_code=KH50_005#paragraph-1054 maisterioptiot opintovaatimuksineen].&lt;br /&gt;
&lt;br /&gt;
= Tietojenkäsittelytieteen maisteriohjelma =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Masters-degree-structure-2017.drawio.png|200px|left|thumb]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/programmes/master/computer-science Tietojenkäsittelytieteen maisteriohjelman] opintoihin kuuluu 15 opintopistettä ydinkursseja, 30 opintopistettä opintosuuntakohtaisia kursseja, tietojenkäsittelytieteen kollokvio (5 op), Pro Gradu -tutkielma (30 op) sekä 40 op muita täysin valinnaisia opintoja. Opintosuuntakohtaisten kurssien tulee sisältää vähintään 15 op edestä kursseja kahdesta eri opintosuunnan kurssipaketista.&lt;br /&gt;
&lt;br /&gt;
Kts. tutkintorakenteen tarkempi kuvaus [https://guide.student.helsinki.fi/en/article/structure-and-scope-my-degree-programme?degree_programme_code=MH50_009 täältä]&lt;br /&gt;
&lt;br /&gt;
Kts. myös [https://www.helsinki.fi/en/programmes/master/computer-science/studying/structure-of-the-programme tietojenkäsittelytieteen] ja [https://www.helsinki.fi/en/programmes/master/data-science/degree-structure data tieteen] kurssilistaukset.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ydinkurssit==&lt;br /&gt;
* Design and Analysis of Algorithms&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Distributed Systems&lt;br /&gt;
* Networked Systems and Services&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
* Software Architectures&lt;br /&gt;
&lt;br /&gt;
==Software Systems -opintosuunta==&lt;br /&gt;
Ohjelmistojärjestelmien (Software Systems) opintosuunta keskittyy suurten ja monimutkaisten ohjelmistojärjestelmien tuottamisen tarkasteluun, tutkimalla ohjelmistoprosesseja, ryhmädynamiikkaa ja ohjelmiston laatua sekä niiden uudelleenkäyttöä. &lt;br /&gt;
&lt;br /&gt;
Opiskelu kulminoituu Software Factoryyn, joka toimii yhteistyön alustana ohjelmistoliiketoiminnalle ja perus sekä soveltavalle ohjelmistokehitystutkimukselle ja -opetukselle. Software factory on kokeellinen ohjelmiston tutkimus- ja kehityslaboratorio, jonka päämääränä on edistää opetusta, poikkitieteellistä tutkimusta ja korkean tavoitteiden yrittäjyyttä. &lt;br /&gt;
&lt;br /&gt;
Opintosuunnan kurssit jakaantuvat kolmeen kurssipakettiin, joiden alta löytyy esimerkiksi seuraavia kursseja:&lt;br /&gt;
&lt;br /&gt;
===Software Engineering -kurssipaketti===&lt;br /&gt;
* Methods for Software Engineering Research&lt;br /&gt;
* Software Architecture Project&lt;br /&gt;
* Software Product Management&lt;br /&gt;
* Software Project Management and Group Dynamics&lt;br /&gt;
* Software Factory Experience&lt;br /&gt;
* Special Topics in Software Engineering&lt;br /&gt;
* Seminar in Empirical Software Engineering&lt;br /&gt;
* Seminar in Novel Software Architecture Design&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
&lt;br /&gt;
===Programming Techniques -kurssipaketti ===&lt;br /&gt;
* Software Testing&lt;br /&gt;
* Programming languages - Concepts and Paradigms&lt;br /&gt;
* Compilers&lt;br /&gt;
* Code Generation&lt;br /&gt;
* Game Engine Architecture&lt;br /&gt;
* Game Project Course&lt;br /&gt;
* Special Topics in Programming Techniques&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
* Seminar in Experimental Algorithmics&lt;br /&gt;
* Seminar in Experimental Software Engineering&lt;br /&gt;
* Seminar in Novel Software Architecture Design&lt;br /&gt;
* Seminar: Software Engineering and Computer Games&lt;br /&gt;
&lt;br /&gt;
===Data Management -kurssipaketti===&lt;br /&gt;
* Transaction Management and Query Optimization&lt;br /&gt;
* Big Data Frameworks&lt;br /&gt;
* Special Topics in Data Management&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
&lt;br /&gt;
==Networking and Services -opintosuunta==&lt;br /&gt;
Tietoverkkojen ja palveluiden opintosuunnan opinnot käsittelevät kiinteiden ja mobiiliverkkojen suunnittelua ja hallintaa, sekä niiden päälle rakentuvia palveluita. Erityisinä fokuksina ovat hajautetut järjestelmät, interaktiiviset järjestelmät sekä järjestelmien mukautuminen muuttuvaan toimintaympäristöön.&lt;br /&gt;
&lt;br /&gt;
Opintosuunnan kurssit jakaantuvat neljään kurssipaketiin, joiden alta löytyy esimerkiksi seuraavia kursseja:&lt;br /&gt;
&lt;br /&gt;
===Networking -kurssipaketti===&lt;br /&gt;
* Internet Protocols&lt;br /&gt;
* Cloud and Edge Computing&lt;br /&gt;
* Scalable Overlay networks&lt;br /&gt;
* Special Topics in Networking&lt;br /&gt;
* Seminar on Cloud-Based Mobile Networking&lt;br /&gt;
* Seminar on Communication Security&lt;br /&gt;
&lt;br /&gt;
===Security -kurssipaketti===&lt;br /&gt;
* Mobile systems security&lt;br /&gt;
* Cryptography in Networking&lt;br /&gt;
* Software Security&lt;br /&gt;
* Cyber Security II&lt;br /&gt;
* Special Topics in Security&lt;br /&gt;
* Seminar on Communication Security&lt;br /&gt;
&lt;br /&gt;
===Collaborative and Interoperable Systems -kurssipaketti===&lt;br /&gt;
* Service Ecosystems&lt;br /&gt;
* Services Engineering with Models&lt;br /&gt;
* CINCO Laboratory&lt;br /&gt;
* Seminar on Collaborative and Interoperable Computing&lt;br /&gt;
&lt;br /&gt;
===Human Computer Interaction -kurssipaketti===&lt;br /&gt;
* Human Computer Interaction&lt;br /&gt;
* Designing Interactive Systems&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Special Topics in Human Computer Interaction&lt;br /&gt;
&lt;br /&gt;
==Algorithms -opintosuunta==&lt;br /&gt;
Jos kandikursseista sytytti tietorakenteet, laskennan mallit tai johdatus tekoälyyn, algoritmien opintosuunta voisi olla sinun valintasi.&lt;br /&gt;
&lt;br /&gt;
Algoritmien opintosuunta tutkii tehokkaita algoritmeja sekä niiden käyttöä. Opintosuunnan kurssit jakaantuvat diskreettien algoritmien kurssipakettiin sekä koneoppimisen kurssipakettiin, jotka sisältävät esimerkiksi seuraavia kursseja: &lt;br /&gt;
&lt;br /&gt;
===Discrete Algorithms -kurssipaketti===&lt;br /&gt;
* String processing algorithms&lt;br /&gt;
* Data compression techniques&lt;br /&gt;
* Randomized Algorithms I&lt;br /&gt;
* Randomized Algorithms II&lt;br /&gt;
* Approximation algorithms&lt;br /&gt;
* Combinatorial Optimization&lt;br /&gt;
* Biological Sequence Analysis&lt;br /&gt;
* Algorithms in Molecular Biology&lt;br /&gt;
* Special Topics in Discrete Algorithms&lt;br /&gt;
* Seminar on Applied Discrete Algorithms&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
* Seminar in Experimental Algorithmics&lt;br /&gt;
&lt;br /&gt;
===Machine Learning Algorithms -kurssipaketti===&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Advanced Course in Machine Learning&lt;br /&gt;
* Probabilistic Models&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* Bayesian Inference&lt;br /&gt;
* Advanced Statistical Inference&lt;br /&gt;
* Advanced Course in Bayesian Statistics&lt;br /&gt;
* High Dimensional Statistics&lt;br /&gt;
* Spatial Modelling and Bayesian Inference&lt;br /&gt;
* Machine Learning in Molecular Biology&lt;br /&gt;
* Special Topics in Machine Learning Algorithms&lt;br /&gt;
* Seminar: Deep learning for Natural Language Processing&lt;br /&gt;
&lt;br /&gt;
= Datatieteen maisteriohjelma=&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/programmes/master/data-science Datatieteen maisteriohjelma] käsittelee koneoppimisen, hajautetun laskennan ja tilastollisten metodien opintoja. Opinnot voivat suuntautua joko teoriaan tai soveltamiseen. Toisien sanoen, voit joko opiskella kehittämään uusia metodeja tai soveltamaan olemassaolevaa erilaisissa tilanteissa.&lt;br /&gt;
&lt;br /&gt;
Opinnot koostuvat ydinkursseista (vähintään 35 op), valinnaisista kursseista (vähintään 20 op), Pro Gradu -tutkielmasta (30 op) sekä muista opinnoista.&lt;br /&gt;
&lt;br /&gt;
==Ydinkurssit==&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Distributed Data Infrastructures&lt;br /&gt;
* Statistical Data Analysis (substitutes Bayesian Inference)&lt;br /&gt;
* Data Science Seminar&lt;br /&gt;
* Data Science Project&lt;br /&gt;
* Academic Skills for Data Science&lt;br /&gt;
* Data Science Fest&lt;br /&gt;
&lt;br /&gt;
==Valinnaiset kurssit==&lt;br /&gt;
Valinnaiset kurssit jakautuvat useaan eri paketiin, mutta opinnot vai valita useammasta paketista. Osa kursseista järjestetään vain joka toinen vuosi.&lt;br /&gt;
&lt;br /&gt;
===Machine Learning===&lt;br /&gt;
* Advanced Course in Machine Learning&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* Probabilistic Models&lt;br /&gt;
&lt;br /&gt;
===Statistical data science===&lt;br /&gt;
* Advanced Course in Bayesian Statistics&lt;br /&gt;
* Computational Statistics I&lt;br /&gt;
* High Dimensional Statistics&lt;br /&gt;
* Spatial Modelling and Bayesian Inference&lt;br /&gt;
* Inverse Problems 1: Convolution and Deconvolution &lt;br /&gt;
&lt;br /&gt;
===Data science infrastructures===&lt;br /&gt;
* Introduction to Big Data Management&lt;br /&gt;
* Big Data Frameworks&lt;br /&gt;
* Cloud and Edge Computing&lt;br /&gt;
* Tools of High Performance Computing&lt;br /&gt;
* Scientific Computing III&lt;br /&gt;
&lt;br /&gt;
===Computers and cognition===&lt;br /&gt;
* Introduction to Artificial intelligence&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Computational Creativity&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Cognition &amp;amp; Brain Function&lt;br /&gt;
* Perception, Communication and Cognition&lt;br /&gt;
&lt;br /&gt;
===Algorithmic Data science===&lt;br /&gt;
* Design and Analysis of Algorithms&lt;br /&gt;
* Network Analysis (new course)&lt;br /&gt;
* Data Compression Techniques&lt;br /&gt;
* String Processing Algorithms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Life Science Informatics -maisteriohjelma=&lt;br /&gt;
Life Science Informatics -maisteriohjelman opiskelijat käyttävät laskennallisia menetelmiä biologian, ekologian, ja lääketieteen ongelmien ratkaisuun. Opinnot koostuvat kuudesta opintosuunnasta, joista kuhunkin liittyy vuosittain järjestettävä johdantokurssi. Tutkintoon vaaditaan johdantokurssit vähintään kolmelta opintosuunnalta, yhden opintosuunnan kaikki kurssit, Pro Gradu -tutkielma (30 op) sekä seminaari (5 op).&lt;br /&gt;
&lt;br /&gt;
Opintosuunnat ovat&lt;br /&gt;
* Applied bioinformatics&lt;br /&gt;
* Algorithmic bioinformatics&lt;br /&gt;
* Biomathematics&lt;br /&gt;
* Biostatistics and bioinformatics&lt;br /&gt;
* Eco-evolutionary informatics&lt;br /&gt;
* Systems biology and medicine&lt;br /&gt;
&lt;br /&gt;
Lisätietoja maisteriohjelman [https://www.helsinki.fi/en/programmes/master/life-science-informatics/studying/programme-structure sivuilta]&lt;br /&gt;
&lt;br /&gt;
=Teoreettisten ja laskennallisten menetelmien maisteriohjelma= &lt;br /&gt;
&lt;br /&gt;
Kts. https://www.helsinki.fi/en/programmes/master/theoretical-and-computational-methods&lt;br /&gt;
&lt;br /&gt;
=Matematiikan ja tilastotieteen maisteriohjelma=&lt;br /&gt;
&lt;br /&gt;
Kts. https://www.helsinki.fi/en/programmes/master/mathematics-and-statistics&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12051</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12051"/>
		<updated>2024-08-08T09:57:07Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Removed attendance requirements and moved them to page Etäopinnot ja läsnäolovaatimukset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Et%C3%A4opinnot_ja_l%C3%A4sn%C3%A4olovaatimukset&amp;diff=12050</id>
		<title>Etäopinnot ja läsnäolovaatimukset</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Et%C3%A4opinnot_ja_l%C3%A4sn%C3%A4olovaatimukset&amp;diff=12050"/>
		<updated>2024-08-08T09:48:49Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Copied contents from page Kurssitarjonta &amp;amp; tutkintorakenteet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== In-person attendance requirements / fully online courses ==&lt;br /&gt;
{{hatnote|Note that online/remote attendance may be required on some courses. The requirements may also be negotiable or change between different instances of the same course.}}&lt;br /&gt;
&lt;br /&gt;
=== Fully online courses ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Programming Parallel Computers&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
* Data Warehousing and Business Intelligence&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
&lt;br /&gt;
=== In-person teaching available, but still possible to complete fully online ===&lt;br /&gt;
&lt;br /&gt;
* Data Science Study Skills&lt;br /&gt;
* Academic Writing 1&lt;br /&gt;
* Engineering of Machine Learning Systems&lt;br /&gt;
* Network Analysis&lt;br /&gt;
* Information Retrieval&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Human-Computer Interaction&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Master&#039;s Thesis&lt;br /&gt;
&lt;br /&gt;
=== Additional requirements for skipping in-person attendance ===&lt;br /&gt;
{{hatnote|For example, an additional exercise may be required for skipping the final presentation}}&lt;br /&gt;
&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Seminar: Topics in Recommender Systems&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required only at the end of the course ===&lt;br /&gt;
{{hatnote|For example, attending an exam or presentation in person is required}}&lt;br /&gt;
&lt;br /&gt;
* Statistics for Data Science&lt;br /&gt;
* Sustainability in Computer and Data Sciences II&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required during course ===&lt;br /&gt;
&lt;br /&gt;
* Sustainability in Computer and Data Sciences I&lt;br /&gt;
* Helsinki Digital Humanities Hackathon&lt;br /&gt;
* Seminar on History of Computing&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksiwiki&amp;diff=12049</id>
		<title>Fuksiwiki</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksiwiki&amp;diff=12049"/>
		<updated>2024-08-08T09:45:04Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Lisätty linkki sivulle Etäopinnot ja läsnäolovaatimukset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height: 0.6em&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; colspan=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;clear: both;&amp;quot;&lt;br /&gt;
| style=&amp;quot;margin: 0; padding: 0 0.6em 0 0; vertical-align: top;&amp;quot; |&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 1.1em; border: 1px dashed #CCCCCC; background: #F5F5F5;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Fuksiwiki on tarkoitettu fuksien, ja miksei muidenkin opiskelijoiden, opintojen tueksi.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Ensisijaisena tarkoituksena on koota &#039;&#039;&#039;Helsingin yliopiston tietojenkäsittelytieteen&#039;&#039;&#039; opiskelijoita askaruttavat asiat ja neuvot yksiin kansiin. Informaatiota on melko paljon, mutta kaikkea ei ole tarkoitus ahmia heti. Uuden opiskelijan olisi hyvä lukaista ainakin &amp;quot;Fuksisyksyn krittisimmät&amp;quot; ja &amp;quot;Ohjeita ja opastusta&amp;quot; -kohtien tekstit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Fuksiwikin muokkausoikeudet ovat kaikilla sisäänkirjautuneilla. Sisäänkirjautuminen tapahtuu TKO-älyn jäsentunnuksilla.&#039;&#039;&#039; Fuksiwikin ylläpidosta vastaa [http://tko-aly.fi TKO-äly ry].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
Tällä hetkellä wikissä on &amp;lt;strong&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]]&amp;lt;/strong&amp;gt; artikkelia.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color: red&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; HUOM! Puuttuuko wikistä hyödyllistä infoa? Lisää ideat tänne: {{Link|Fuksiwikin puutelista}}&amp;lt;/translate&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.5em; border: 1px dashed #CEF2E0; background: #F1FFF1;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; 🌐 &#039;&#039;&#039;The Fresher wiki is also available in [[Fuksiwiki/en|English]].&#039;&#039;&#039; You can also change the language from the upper left (for this page) and upper right (entire wiki) corner of the page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEF2E0; background: #F1FFF1;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3BFB1; background: #CEF2E0; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; Fuksisyksyn kriittisimmät&amp;lt;/translate&amp;gt;&amp;lt;/h2&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Fuksin selviytymispaketti|Fuksin selviytymispaketti}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Syksyn aikataulu|Syksyn aikataulu}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[https://tko-aly.fi/fuksipassi/ Fuksipassi]&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Tuutorit|Syksyn tuutorit}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Opintovastaavat}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Fuksisyksyn mallilukujärjestys}}&#039;&#039;&#039;&lt;br /&gt;
* {{Link|Opintotuki}}&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Fuksien kysymää}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[https://it.cs.helsinki.fi/fi/fuksilaitteet/ Fuksiläppärit]&#039;&#039;&#039;&lt;br /&gt;
* {{Link|Linkkejä|Tärkeimmät linkit}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEF2E0; background: #F1FFF1;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3BFB1; background: #CEF2E0; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; Ohjeita ja opastusta&amp;lt;/translate&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|TKO-älyn jäsenyys}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|TKO-älyn virat}}&#039;&#039;&#039;&lt;br /&gt;
* [[TKO-älyn sähköiset palvelut|&#039;&#039;&#039;TKO-älyn sähköiset palvelut&#039;&#039;&#039;]]&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Keskustelukanavat}}&#039;&#039;&#039; / Telegram-channels&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Käyttölupien aktivointi}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Kursseille ilmoittautuminen}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Ohjeet tapahtuman järjestämiselle}}&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Häirintäyhdyshenkilöt kampuksella}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|TKO-älyn yleinen keskusteluohjesääntö}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[https://goo.gl/forms/xaFHEvoKE1ZEmJ6v2 TKO-älyn yleinen palautelomake]&lt;br /&gt;
* {{Link|Opiskelijaedut | Lista erinäisistä opiskelijaeduista}}&lt;br /&gt;
* {{Link|Ainejärjestön esittely | TKO-älyn esittely}}&lt;br /&gt;
* {{Link|Gurulan esittely}} ja 24h mikroluokat&lt;br /&gt;
* [[Yökäyttöavain]]&lt;br /&gt;
* {{Link|Reittiopas}}&lt;br /&gt;
* {{Link|Tapahtumapaikat}}&lt;br /&gt;
* {{Link|Yliopisto–suomi -sanakirja}}&lt;br /&gt;
* {{Link|Kurssien nimilyhenteet}}&lt;br /&gt;
* {{Link|Exactumin kartta}}&lt;br /&gt;
* &#039;&#039;&#039;[https://www.tko-aly.fi/attachments/files/248/TKO__lyn_turvallisemman_tilan_pe.pdf?1552475408 TKO-älyn turvallisemman tilan periaatteet]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;45%&amp;quot; style=&amp;quot;margin: 0; padding: 0; vertical-align: top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; Opiskelu&amp;lt;/translate&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
* {{Link|Kurssitarjonta &amp;amp; tutkintorakenteet}}&lt;br /&gt;
* {{Link|Tietojenkäsittelytieteen opiskelusta}}&lt;br /&gt;
* {{Link|Täydennyksiä opinto-oppaaseen}}&lt;br /&gt;
* {{Link|Opintojen malliaikataulu}}&lt;br /&gt;
* {{Link|Kurssikuvauksia}}&lt;br /&gt;
* {{Link|Opintomateriaaleista}}&lt;br /&gt;
* {{Link|Kokeet ja arvostelu}}&lt;br /&gt;
* {{Link|Kandidaatin tutkielma}}&lt;br /&gt;
* {{Link|Sivuainekuvauksia}}&lt;br /&gt;
* {{Link|Erikoistumislinjat ja maisteriohjelmat}}&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Tärpistö|Tenttiarkisto Tärpistö}}&#039;&#039;&#039;&lt;br /&gt;
* {{Link|Kesäopinnot}}&lt;br /&gt;
* [[Etäopinnot ja läsnäolovaatimukset]]&lt;br /&gt;
* {{Link|Opintojen paketointi ja valmistuminen}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Matematiikkaa&amp;lt;/translate&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;{{Link|Matematiikan sivuaineopinnoista}}&#039;&#039;&#039;&lt;br /&gt;
* {{Link|Matematiikan ja menetelmätieteen opintosuunnitelmia|Ehdotuksia sivuainekokonaisuudesta}}&lt;br /&gt;
* {{Link|Matematiikan kurssit}}&lt;br /&gt;
* {{Link|Apua matematiikkaan|Apua matematiikasta kärsiville}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2;  font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; Tietojärjestelmät&amp;lt;/translate&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
* {{Link|Sähköpostitilit}}&lt;br /&gt;
* {{Link|Yliopiston tarjoamat ohjelmistot}}&lt;br /&gt;
* {{Link|Langattomat verkot}}&lt;br /&gt;
* {{Link|Ongelmatilanteita}}&lt;br /&gt;
* {{Link|Libproxy}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2;  font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt; Muuta&amp;lt;/translate&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
* {{Link|Kiinnostavia kirjoja}}&lt;br /&gt;
* {{Link|Yliopistoliikunta|Mietteitä yliopistoliikunnasta}}&lt;br /&gt;
* {{Link|IRC-ohjeet}}&lt;br /&gt;
* {{Link|MSc Programme FAQ}}&lt;br /&gt;
* {{Link|Data Science Programme FAQ}}&lt;br /&gt;
* {{Link|PhD Student FAQ}}&lt;br /&gt;
* {{Link|Emailing lists}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12033</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12033"/>
		<updated>2024-08-07T12:49:38Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Added some courses&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;== Kurssitarjonta ja tutkintorakenteet ==&lt;br /&gt;
&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
== In-person attendance requirements / fully online courses ==&lt;br /&gt;
{{hatnote|Note that online/remote attendance may be required on some courses. The requirements may also be negotiable or change between different instances of the same course.}}&lt;br /&gt;
&lt;br /&gt;
=== Fully online courses ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Programming Parallel Computers&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
* Data Warehousing and Business Intelligence&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
&lt;br /&gt;
=== In-person teaching available, but still possible to complete fully online ===&lt;br /&gt;
* Data Science Study Skills&lt;br /&gt;
* Academic Writing 1&lt;br /&gt;
* Engineering of Machine Learning Systems&lt;br /&gt;
* Network Analysis&lt;br /&gt;
* Information Retrieval&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Human-Computer Interaction&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Master&#039;s Thesis&lt;br /&gt;
&lt;br /&gt;
=== Additional requirements for skipping in-person attendance ===&lt;br /&gt;
{{hatnote|For example, an additional exercise may be required for skipping the final presentation}}&lt;br /&gt;
&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Seminar: Topics in Recommender Systems&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required only at the end of the course ===&lt;br /&gt;
{{hatnote|For example, attending an exam or presentation in person is required}}&lt;br /&gt;
&lt;br /&gt;
* Statistics for Data Science&lt;br /&gt;
* Sustainability in Computer and Data Sciences II&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required during course ===&lt;br /&gt;
&lt;br /&gt;
* Sustainability in Computer and Data Sciences I&lt;br /&gt;
* Helsinki Digital Humanities Hackathon&lt;br /&gt;
* Seminar on History of Computing&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12032</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12032"/>
		<updated>2024-08-07T11:42:04Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Added some courses&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;== Kurssitarjonta ja tutkintorakenteet ==&lt;br /&gt;
&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
== In-person attendance requirements / fully online courses ==&lt;br /&gt;
{{hatnote|Note that online/remote attendance may be required on some courses. The requirements may also be negotiable or change between different instances of the same course.}}&lt;br /&gt;
&lt;br /&gt;
=== Fully online courses ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Programming Parallel Computers&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
* Data Warehousing and Business Intelligence&lt;br /&gt;
* Seminar on Big Data Management&lt;br /&gt;
&lt;br /&gt;
=== In-person teaching available, but still possible to complete fully online ===&lt;br /&gt;
* Data Science Study Skills&lt;br /&gt;
* Academic Writing 1&lt;br /&gt;
* Engineering of Machine Learning Systems&lt;br /&gt;
* Network Analysis&lt;br /&gt;
* Information Retrieval&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Human-Computer Interaction&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Master&#039;s Thesis&lt;br /&gt;
&lt;br /&gt;
=== Additional requirements for skipping in-person attendance ===&lt;br /&gt;
{{hatnote|For example, an additional exercise may be required for skipping the final presentation}}&lt;br /&gt;
&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Seminar: Topics in Recommender Systems&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required only at the end of the course ===&lt;br /&gt;
{{hatnote|For example, attending an exam or presentation in person is required}}&lt;br /&gt;
&lt;br /&gt;
* Statistics for Data Science&lt;br /&gt;
* Sustainability in Computer and Data Sciences II&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required during course ===&lt;br /&gt;
&lt;br /&gt;
* Sustainability in Computer and Data Sciences I&lt;br /&gt;
* Seminar on History of Computing&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12031</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12031"/>
		<updated>2024-08-07T09:44:51Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Added some courses&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;== Kurssitarjonta ja tutkintorakenteet ==&lt;br /&gt;
&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
== In-person attendance requirements / fully online courses ==&lt;br /&gt;
{{hatnote|Note that online/remote attendance may be required on some courses. The requirements may also be negotiable or change between different instances of the same course.}}&lt;br /&gt;
&lt;br /&gt;
=== Fully online courses ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Programming Parallel Computers&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
* Data Warehousing and Business Intelligence&lt;br /&gt;
&lt;br /&gt;
=== In-person teaching available, but still possible to complete fully online ===&lt;br /&gt;
* Data Science Study Skills&lt;br /&gt;
* Academic Writing 1&lt;br /&gt;
* Engineering of Machine Learning Systems&lt;br /&gt;
* Network Analysis&lt;br /&gt;
* Information Retrieval&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Human-Computer Interaction&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Master&#039;s Thesis&lt;br /&gt;
&lt;br /&gt;
=== Additional requirements for skipping in-person attendance ===&lt;br /&gt;
{{hatnote|For example, an additional exercise may be required for skipping the final presentation}}&lt;br /&gt;
&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Seminar: Topics in Recommender Systems&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required only at the end of the course ===&lt;br /&gt;
{{hatnote|For example, attending an exam or presentation in person is required}}&lt;br /&gt;
&lt;br /&gt;
* Statistics for Data Science&lt;br /&gt;
* Sustainability in Computer and Data Sciences II&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required during course ===&lt;br /&gt;
&lt;br /&gt;
* Sustainability in Computer and Data Sciences I&lt;br /&gt;
* Seminar on History of Computing&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12030</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12030"/>
		<updated>2024-08-06T14:04:31Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Small fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;== Kurssitarjonta ja tutkintorakenteet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
== In-person attendance requirements / fully online courses ==&lt;br /&gt;
{{hatnote|Note that online/remote attendance may be required on some courses. The requirements may also be negotiable or change between different instances of the same course.}}&lt;br /&gt;
&lt;br /&gt;
=== Fully online courses ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
&lt;br /&gt;
=== In-person teaching available, but still possible to complete fully online ===&lt;br /&gt;
* Data Science Study Skills&lt;br /&gt;
* Academic Writing 1&lt;br /&gt;
* Engineering of Machine Learning Systems&lt;br /&gt;
* Network Analysis&lt;br /&gt;
* Information Retrieval&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Human-Computer Interaction&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
&lt;br /&gt;
=== Additional requirements for skipping in-person attendance ===&lt;br /&gt;
{{hatnote|For example, an additional exercise may be required for skipping the final presentation}}&lt;br /&gt;
&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Seminar: Topics in Recommender Systems&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required only at the end of the course ===&lt;br /&gt;
{{hatnote|For example, attending an exam or presentation in person is required}}&lt;br /&gt;
&lt;br /&gt;
* Statistics for Data Science&lt;br /&gt;
* Sustainability in Computer and Data Sciences II&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required during course ===&lt;br /&gt;
&lt;br /&gt;
* Sustainability in Computer and Data Sciences I&lt;br /&gt;
* Seminar on History of Computing&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12029</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12029"/>
		<updated>2024-08-06T13:46:47Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Added category for additional requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;== Kurssitarjonta ja tutkintorakenteet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
== In-person attendance requirements / fully online courses ==&lt;br /&gt;
{{hatnote|Note that online/remote attendance may be required on some courses. The requirements may also be negotiable or change in different instances of the same course.}}&lt;br /&gt;
&lt;br /&gt;
=== Fully online courses ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
&lt;br /&gt;
=== In-person teaching available, but still possible to complete fully online ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Data Science Study Skills&lt;br /&gt;
* Academic Writing 1&lt;br /&gt;
* Engineering of Machine Learning Systems&lt;br /&gt;
* Network Analysis&lt;br /&gt;
* Information Retrieval&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Human-Computer Interaction&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
&lt;br /&gt;
=== Additional requirements for skipping in-person attendance ===&lt;br /&gt;
{{hatnote|For example, an additional exercise may be required for skipping the final presentation}}&lt;br /&gt;
&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Seminar: Topics in Recommender Systems&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required only at the end of the course ===&lt;br /&gt;
{{hatnote|For example, attending an exam or presentation in person is required}}&lt;br /&gt;
&lt;br /&gt;
* Statistics for Data Science&lt;br /&gt;
* Sustainability in Computer and Data Sciences II&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required during course ===&lt;br /&gt;
&lt;br /&gt;
* Sustainability in Computer and Data Sciences I&lt;br /&gt;
* Seminar on History of Computing&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12028</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12028"/>
		<updated>2024-08-06T13:07:47Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Added a section that categorizes courses based on attendance requirements. Removed &amp;lt;/translate&amp;gt; tags to submit changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;== Kurssitarjonta ja tutkintorakenteet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
== In-person attendance requirements / fully online courses ==&lt;br /&gt;
{{hatnote|Note that online/remote attendance may be required on some courses. The requirements may also change in different instances of the same course.}}&lt;br /&gt;
&lt;br /&gt;
=== Fully online courses ===&lt;br /&gt;
{{hatnote|Note that online lectures may be available}}&lt;br /&gt;
&lt;br /&gt;
* Big Data Platforms&lt;br /&gt;
&lt;br /&gt;
=== In-person teaching available, but still possible to complete fully online ===&lt;br /&gt;
&lt;br /&gt;
* Data Science Study Skills&lt;br /&gt;
* Academic Writing 1&lt;br /&gt;
* Introduction to Data Science&lt;br /&gt;
* Introduction to Machine Learning&lt;br /&gt;
* Engineering of Machine Learning Systems&lt;br /&gt;
* Network Analysis&lt;br /&gt;
* Information Retrieval&lt;br /&gt;
* Philosophy of Artificial Intelligence&lt;br /&gt;
* Human-Computer Interaction&lt;br /&gt;
* Interactive Data Visualization&lt;br /&gt;
* Seminar: Topics in Recommender Systems&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required only at the end of the course ===&lt;br /&gt;
{{hatnote|For example, attending an exam or presentation in person is required}}&lt;br /&gt;
&lt;br /&gt;
* Statistics for Data Science&lt;br /&gt;
* Sustainability in Computer and Data Sciences II&lt;br /&gt;
&lt;br /&gt;
=== In-person attendance required during course ===&lt;br /&gt;
&lt;br /&gt;
* Sustainability in Computer and Data Sciences I&lt;br /&gt;
* Seminar on History of Computing&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12027</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12027"/>
		<updated>2024-08-06T12:41:54Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Päivitetty kuolleet linkit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/323?degree_programme_code=KH50_005 Tutkinnon laajuus ja tutkintorakenne]&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_009 Scope and structure of the degree]&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ====&lt;br /&gt;
[https://studies.helsinki.fi/instructions/article/scope-and-structure-degree?degree_programme_code=MH50_010 Scope and structure of the degree]&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ====&lt;br /&gt;
[https://studies.helsinki.fi/ohjeet/node/330?degree_programme_code=KH50_001 Opintotarjonta]&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sisu is the most reliable truth for courses. Other systems fetch data from there. Summer, &amp;quot;V period&amp;quot;, Christmas and one-off courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=12023</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=12023"/>
		<updated>2024-08-05T17:35:55Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Päivitetty aineopintojen rakenne.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Monet kurssien kuvauksista ovat edelleen vanhan opetussuunnitelman (2020-2023) mukaisia. Toisaalta monet kurssit ovat myös pysyneet hyvin samanlaisina, vaikka nimi olisikin muuttunut uudessa opetussuunnitelmassa (2023-2026).&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tietokone ja Internet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tintti}}&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä OhPe}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on Python.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä OhJa}}&lt;br /&gt;
&lt;br /&gt;
Nimensä mukaisesti kurssilla jatketaan siitä, mihin ohjelmoinnin perusteella jäätiin. Opetus järjestetään myös samaan tapaan. Perusasioiden ollessa hallussa, harjoitustehtävien ohjelmat laajenevat ja tulevat entistä mielenkiintoisemmiksi - ja haastavammiksi. Ohjelmoinnin jatkokurssin jälkeen opiskelija pystyy ohjelmoimaan itsenäisesti ja hyödyntämään internetiä ohjelmointitaitojensa kehittämisessä.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tikape}}&lt;br /&gt;
&lt;br /&gt;
Tämä kurssi on murrosvaiheessa, ja kuvauksemme saattaakin olla auttamatta vanhentunut tätä luettaessa. Mutta yritetään! Tietokantojen perusteisiin kuuluu tietokantojen suunnittelu ja lukuisten erilaisten kaavioiden piirrustelu, tietokannan käyttö Javalla, sekä SQL:n käyttö. Toteutukseen kuuluu viikottaisia yksin tai pajassa tehtäviä harjoituksia, sekä jokaviikkoinen ryhmätapaaminen. Lisäksi kurssin aikana tehdään ryhmätyönä tietokantaa hyödyntävä mallisovellus.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit I (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiRa I}}&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
TiRa I käsittelee ensisijaisesti Tirakirjan luvut 1-7. Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Kurssi on sinänsä erikoinen, sillä syksyn ja kevään toteutukset eroavat jonkin verran. Viime vuosina Antti Laaksonen on pitänyt kurssin syksyllä, jolloin ei ole ollut tenttiä. Jyrki Kivinen pitää kurssia keväisin, jolloin tenttiä on järjestetty.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai assaria vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Laskuharjoitukset / Algoritmitehtävät saa ratkaista joko Pythonilla tai Javalla. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;&#039;&#039;&#039;Älä käy tiraa fuksisyksynä! Suorita ensin JYM.&#039;&#039;&#039;&amp;lt;/del&amp;gt; Katso myös [[Fuksisyksyn_mallilukujärjestys]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä JTKT}}&lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoitus on johdatella uudet oppilaat (“fuksit”) tietojenkäsittelytieteen ihmeelliseen maailmaan. Kurssin toteutus elää vuosittain opiskelijapalautteen myötä, mutta suuri osa toteutuksesta tulee olemaan pienryhmässä kirjoitettuja, lyhyitä, viikottaisia esseitä TKT:hen liittyvistä aiheista. Lisäksi samoista aiheista pidetään pieniä esitelmiä, ja opponoidaan muiden vastaavia.&lt;br /&gt;
Bonuksena kurssin fuksitoteutukseen on sisäänleivottu 4 op:ta (eli TKT kanditutkintoon vaadittavat) englannin opintoja, jotka ilmenevät muutaman englanninkielisenä esseenä ja esityksenä. Englannin opinnot suositellaan lämpimästi suoritettavaksi JTKT:n ohessa.&lt;br /&gt;
HUOM! JTKT-toteutetaan useimmista muista kursseista poiketen kahdessa jaksossa!&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiTo}}&lt;br /&gt;
&lt;br /&gt;
Tämä kurssi on perusopinnoista haastavin, mutta ei mitenkään mahdoton! Muihin perusopintoihin poiketen, kurssin luennot ovat tärkeä osa kurssia, joskaan eivät siltikään pakollisia. Olennaista on oppia nopeasti rytmiin, jossa jokin tietokoneen asiakokonaisuus käydään läpi luennolla, sitä opiskellaan viikkotehtäviä (‘laskareita’) tehdessä, ja lopulta kerrataan minikokeeseen. Kun luennolla heprealta kuulostava, vaikea asia on läpikäyty kolmeen kertaan, huomaat kokeeseen tullessasi yhtäkkiä ymmärtäväsi ja osaavasi käyttää konekieltä kuin luennoitsija itse!&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että kurssin loppukokeen voi korvata neljällä kurssin aikana tehtävällä minikokeella.&lt;br /&gt;
&lt;br /&gt;
P.S.&lt;br /&gt;
Kurssista liikkuu jäärien keskuudessa paljon meemejä, mutta parasta on jättää ennakkohype väliin ja mennä kurssille avoimin mielin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit II (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiRa II}}&lt;br /&gt;
&lt;br /&gt;
TiRa II on TiRa I:n jatko-osa. Kurssi jatkaa siitä mihin TiRa I jäi. Kurssi käsittelee Tirakirjan luvut 8-14, joissa aiheina ovat rekursiiviset algoritmit (dynaaminen ohjelmointi, peruuttava haku yms.) ja verkko-algoritmit (Dijkstra, Bellmanin ja Fordin, Floyd Warshall, Ford Fulkerson yms). &lt;br /&gt;
&lt;br /&gt;
Samoin kuin OhJa:ssa niin TiRa II harjoitustehtävät laajenevat ja tulevat entistä mielenkiintoisemmiksi - ja haastavammiksi. Älä sure, jos tehtävät tuntuvat liian vaikealta. Kurssin algoritmit ovat tosi haastavia monelle, etenkin rekursiiviset algoritmit tuntuvat olevan monelle tosi epäselviä ja vaikeasti ymmärrettävissä. Jos koet, että tehtävät ovat liian haastavia, kannattaa ehdottomasti käydä algoritmipajassa!&lt;br /&gt;
&lt;br /&gt;
Kurssi kannattaa suorittaa heti TiRa I:n jälkeen, jolloin TiRa I:n asiat ovat vielä tuoreena muistissa. TiRa II:ssa oletetaan kaikki TiRa I:n asiat tutuksi.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannat ja web-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Lama}}&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Kurssin viikkotehtävissä (&amp;quot;laskareissa&amp;quot;) harjoitellaan paljon todistamista, etenkin ristiriita todistamista. Todistaminen oletetaan tutuksi, joten sitä ei käydä läpi kurssin aikana. Todistaminen voi tuntua tosi hankalalta ja turhauttavalta, etenkin kun sitä on tosi hankalaa opettaa. Kurssikirjassa, Introduction to the Theory of Computation (Michael Sipser), käydään tunnetuimmat todistustekniikat läpi. &lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
Tira:ssa voi pärjätä aika hyvin ilman JYM:ä, mutta Lama:ssa ei. On ehdottomasti suositeltu, että olet käynyt vähintään JYM:n ennen Lamaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietojenkäsittely ja yhteiskunta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Ohtu}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniikka-kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutetaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti-kurssille.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluva miniprojekti on mahdollista hyväksilukea työkokemuksen perusteella. Kts [[Ohtun_ja_ohtuprojektin_hyväksilukeminen]]&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
=== Laskentaympäristöt (5 op) ===&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Artificial Intelligence (5 op) ===&lt;br /&gt;
{{hatnote|Tunnettiin ennen myös nimellä johdatus tekoälyyn (JohTek)}} &lt;br /&gt;
&lt;br /&gt;
Datatieteen maisteriopintojen ensimmäisiä kursseja. Voi suositella myös kandivaiheen opiskelijoille&lt;br /&gt;
&lt;br /&gt;
Tämän kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Teemoina käsitellään niin koneoppimista, perinteistä logiikkaa kuin pelitekoälyjäkin. Kurssista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on käytännön ohjelmointitehtäviä ja teoreettisempi tentti.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistoprojekti (10 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Ohtuprojekti}}&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimuksena on suoritettu Ohjelmistotuotanto-kurssi sekä kaksi aineopintojen harjoitustyötä (kts. alla).&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Koko kurssi on mahdollista hyväksilukea työkokemuksen perusteella. Kts [[Ohtun_ja_ohtuprojektin_hyväksilukeminen]]&lt;br /&gt;
&lt;br /&gt;
=== Kandidaatintutkielma (6 op) + Äidinkieli (3 op) + Tutkimustiedonhaku (1 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan nimellä kandi}}&lt;br /&gt;
&lt;br /&gt;
Tämä kolmen kurssin kokonaisuus on käytännössä yksi iso suoritus. Kandidaatintutkielman kirjoittamisen ohessa opetellaan tieteellistä kirjoittamista, tutkimustiedonhakua sekä esiintymistä. Arvostelu koostuu seuraavista osasuorituksista: 2-4 sivun referaatti, 10 sivun aine, 1.5-2 sivun kypsyysnäyte, 15-20min esitelmä ja ~20 sivun tutkielma. Näistä viimeinen on se varsinainen &amp;quot;kandi&amp;quot;, joka on samalla ainoa arvosanaan vaikuttava komponentti. Muut suoritukset on pakko tehdä, mutta ne arvostellaan binäärisesti &amp;quot;tehty/ei tehty&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Optimaalisessa tilanteessa opiskelija kirjoittaa kurssin aikana yhtä tekstiä, jonka eri vaiheet muodostavat tarvittavat kirjalliset komponentit. Monen tulee kuitenkin *pivotattua* jossain vaiheessa, jolloin siihen mennessä kirjoitetusta iso osa pitää heittää roskiin. Tämän välttää parhaiten ottamalla alun aiheenvalinnan tosissaan.&lt;br /&gt;
&lt;br /&gt;
Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan (yleensä) viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. &lt;br /&gt;
&lt;br /&gt;
Esitelmä (15-20min) pidetään oman pienryhmän kesken omasta aiheesta, yleensä aineen pohjalta. Tätäkään ei kannata stressata liikaa, sillä &amp;quot;arvostelu&amp;quot; on ihan oikeastikin tasolla &amp;quot;suoritettu jos jotain mumisee ryhmän edessä&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Kurssi sisältää ohessa myös ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä. Tämä vastaa teknisesti toisen kotimaisen kielen kurssia sikäli, että kypsyysnäyte on todistus siitä että opiskelija osaa oman äidinkielensä &amp;quot;virkamiestasolla&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. &lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita. Näistä ainakin ensimmäisellä on pakollinen läsnäolo.&lt;br /&gt;
&lt;br /&gt;
==== Kandin aikataulusta ====&lt;br /&gt;
&lt;br /&gt;
Kanditutkielma kurssi kestää yhden lukukauden ja se on tarjolla sekä syksyisin, että keväisin. Usein kandin kirjoittaminen on opiskelijoille se mistä aletaan ensimmäisenä luistamaan, kun periodissa on liikaa tekemistä. Näin kandi jää kesken ja venyy tuskallisen pitkäksi projektiksi. Kesken jäävät kandit siirtyvät yleensä kurssin vastuuhenkilön ohjattaviksi. Tunnetaan myös tapauksia missä opiskelija anoo lisäaikaa, sama ohjaaja säilyy ja opiskelija kirjoittaa tutkielman esim joululomalla valmiiksi.&lt;br /&gt;
&lt;br /&gt;
Osaston tarjotessa niukasti kesäopiskelumahdollisuuksia on kandin kirjoittaminen kesällä laiturin nokassa houkutteleva vaihtoehto. Virallisesti tätä mahdollisuutta ei ole tarjottu, mutta omatoiminen opiskelija voi kirjoittaa tutkielman kesällä ja tehdä esitelmän ym. pakolliset osat syksyn kurssilla. Kannattaa harkita jo kevään luennoilla käyntiä, jos tämä vaihtoehto kiinnostaa..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tilpe}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Käjä}}&lt;br /&gt;
&lt;br /&gt;
Kurssin voi käsittää siltana Tietokoneen toiminta -kurssin ja Ohjelmoinnin perusteet -kurssin välillä. Käsiteltävät asiat sisältävät käyttöjärjestelmien rakenteen ja toimintaperiaatteet, rinnakkaisuuden toteutuksia ja ongelmia, muistinhallintaa ja virtuaalimuistia, prosessorin vuoronantoa jne.&lt;br /&gt;
&lt;br /&gt;
Samoin kuin TiTossa, Käjänkin tentin voi suorittaa neljällä minitentillä kurssin aikana.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
Tästä korista tulee valita yksi suoritus. Sen pitää olla valmiina ennen Ohjelmistoprojektia (kts. yllä).&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikka (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös niemellä Ohte}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tällä kurssilla tehdään myös oma kokonainen ohjelmistoprojekti. Arvosana koostuu projektin loppuarvosanasta, projektin viikkodeadlinesta ja muutaman ensimmäisen viikon laskaritehtävistä.&lt;br /&gt;
&lt;br /&gt;
=== Algoritmit ja tekoäly (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tiralabra}}&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
===Tietoliikenne (4 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tilpelabra}}&lt;br /&gt;
&lt;br /&gt;
Järjestetään toukokuun intensiivijaksolla, Tietoliikenne-kurssin jälkeen. Osallistuminen edellyttää vähintään arvosanaa 3 Tietoliikenteen perusteet -kurssilta. Huonommallakin arvosanalla saattaa päästä mukaan jos osaa selittää vakuuttavasti.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyössä ei lähtökohtaisesti ohjelmoida mitään, vaan enemminkin määritellään jokin tutkimusongelma johon etsitään itse vastaus. Perusratkaisu on analysoida jonkinlaista verkkoliikennettä. Muunkinlaisia projekteja on kuitenkin hyväksytty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tsoha tai Tsohalabra}}&lt;br /&gt;
&lt;br /&gt;
Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla, tai Ruby on Railssillä, mutta jos intoa (tai aiempaa osaamista) löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
Osaston kurssitarjonta muuttuu valinnaisten kurssien osalta jatkuvasti, tarkista ajantasainen kurssitarjonta esim. Weboodista tai https://studies.helsinki.fi/opintotarjonta .&lt;br /&gt;
&lt;br /&gt;
Aineopintoihin tulee sisällyttää vähintään 5 op tietojenkäsittelytieteen valinnaisia aineopintoja tai tietojenkäsittelytieteen syventäviä opintoja eli maisterikursseja. Tutkintorakenteessa on listattu seuraavat esimerkit:&lt;br /&gt;
&lt;br /&gt;
* BSCS2011 Programming for Performance 5 op&lt;br /&gt;
* CSM13401 Human Computer Interaction 5 op&lt;br /&gt;
* TKT21003 Web-palvelinohjelmointi Ruby on Rails 5 op&lt;br /&gt;
* TKT21004 Computer Architecture 5 op&lt;br /&gt;
* TKT21012 Algoritmit ongelmanratkaisussa 10 op&lt;br /&gt;
* TKT21018 Elements of AI: Tekoälyn perusteet 2 op&lt;br /&gt;
* TKT21026 Network Programming 5 op&lt;br /&gt;
* TKT21029 Functional Programming I 5 op&lt;br /&gt;
* TKT21030 Functional Programming II 5 op&lt;br /&gt;
* TKT21031 Tekoälyn etiikka: Johdanto 2 op&lt;br /&gt;
* TKT21032 Kilpaohjelmoinnin harjoittelu 1 3 op&lt;br /&gt;
* TKT21033 Kilpaohjelmoinnin harjoittelu 2 2 op&lt;br /&gt;
* TKT21034 Kilpaohjelmoinnin harjoittelu 3 3 op&lt;br /&gt;
* TKT21035 Kilpaohjelmoinnin harjoittelu 4 2 op&lt;br /&gt;
* TKT21036 DevOps with Docker 1 op&lt;br /&gt;
* TKT21037 DevOps with Docker: docker-compose 1 op&lt;br /&gt;
* TKT21038 DevOps with Docker: security and optimization 1 op&lt;br /&gt;
* TKT21039 Core 5G and Beyond 2 op&lt;br /&gt;
* TKT21040 Test-Driven Development 4 op&lt;br /&gt;
* TKT21041 Test-Driven Development: Full Stack 1 op&lt;br /&gt;
* CSM141081 Full Stack -websovelluskehitys 5 op&lt;br /&gt;
* DATA11001 Introduction to Data Science 5 op&lt;br /&gt;
* DATA20041 AI in Society: Introduction 1.5 op&lt;br /&gt;
* DATA20042 AI in Society: AI and Discrimination 0.5 op&lt;br /&gt;
* DATA20049 AI in Society: AI, Justice and Security 0.5 op&lt;br /&gt;
* DATA20050 AI in Society: AI and Democracy 0.5 op&lt;br /&gt;
* TKT210241 Ohjelmointihaasteita 1 1 op&lt;br /&gt;
* TKT210242 Ohjelmointihaasteita 2 1 op&lt;br /&gt;
* TKT210243 Ohjelmointihaasteita 3 1 op&lt;br /&gt;
* TKT210281 Elements of AI: Building AI - Intermediate 1 op&lt;br /&gt;
* TKT210282 Elements of AI: Building AI - Advanced 1 op&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cyber security with F-Secure (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Titu}}&lt;br /&gt;
&lt;br /&gt;
Suoritetaan verkkokurssina, jolla käsitellään kyberturvallisuutta, operatiivista tietoturvaa, turvallisen web-ohjelmiston kehitystä, web-ohjelmistojen tyypillisiä haavoittuvuuksia ja niiden korjaamista sekä vastatoimia.&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) [Deprekoitu] ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä C}}&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
===Programming for Performance (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä PFP}}&lt;br /&gt;
&lt;br /&gt;
===Algoritmit ongelmanratkaisussa (10 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Alon}}&lt;br /&gt;
&lt;br /&gt;
Kurssi on valinnainen opintojakso ja toimii periaatteessa TiRa:n jatkokurssina (virallinen jatkokurssi TiRa:lle on DAA - Design &amp;amp; Analysis of Algorithms). Kurssi on tarkoituksella tosi haastava ja työläs. Kurssin pitäjä, Antti Laaksonen, on jopa väittänyt, että kurssi on kandivaiheen (koko Suomen?) vaikein kurssi. &lt;br /&gt;
&lt;br /&gt;
Nimi paljastaa ehkä jo, että kurssilla käsitellään siis algoritmeja. Alon:ssa kerrotaan vähän TiRa asioita, mutta tällä kertaa C++ -kielellä, joka on kurssin ensisijainen ohjelmointikieli (tehtäviä voi myös ratkaista Haskell:lla tai Rust:lla). Lähtökohtaisesti oletetaan, että TiRa on tosi hyvin hallussa, sillä kurssilla käsitellään samoja tekniikoita kuten TiRa:ssa, esim. rekursio, verkko-algoritmeja ja tietorakenteita, mutta paljon pintatasoisemmin. Tarkoitus on enemmänkin, että opiskelija itse ymmärtää, miten erilaisia tekniikoita sovelletaan. Kurssin päätarkoitus on nimenomaan kehittää opiskelijan ongelmanratkaisukykyä. Kurssilla on 14 viikkoa, jokaisella viikolla 6 tehtävää. Kaikki tehtävät ovat lähtökohtaisesti vaikeita. Viikon ensimmäinen tehtävä saattaa olla helpompi kuin muut ja viimeinen tehtävä toimii vähän kuin &amp;quot;bonustehävänä&amp;quot;, joka on, lähes aina, erittäin haastava.&lt;br /&gt;
&lt;br /&gt;
===Computer Organization II (5 op)===&lt;br /&gt;
&lt;br /&gt;
===Full Stack -websovelluskehitys (3-7 op)===&lt;br /&gt;
&lt;br /&gt;
===Full Stack -websovelluskehitys harjoitustyö (1-10 op)===&lt;br /&gt;
	&lt;br /&gt;
===Introduction to Game Programming (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä IGP}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla tutustutaan peliohjelmoinnin maailmaan. Kurssilla käsitellään peliohjelmointia teoreettisella tasolla, pelimoottoreiden alkeita ja erilaisia peliohjelmoinnin paradigmoja, C#-kielen ominaisuuksia ja Unity-pelimoottorin perusominaisuuksia. Kurssin nimi saattaa olla harhaanjohtava, sillä kurssilla ei ohjelmoida ollenkaan.&lt;br /&gt;
&lt;br /&gt;
===Johdatus funktionaaliseen ohjelmointiin (5 op)===&lt;br /&gt;
	&lt;br /&gt;
===Ohjelmointihaasteita I (1-3 op)===&lt;br /&gt;
		&lt;br /&gt;
===Web-palvelinohjelmointi Java (5 op)===&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio}}&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
===Akateemiset taidot (1-2 op)===&lt;br /&gt;
	&lt;br /&gt;
===Opiskelijan digitaidot: orientaatio (2 op)===&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=12022</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=12022"/>
		<updated>2024-08-05T14:47:30Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Päivitetty perusopintojen rakenne opetussuunitelman 2023-2026 mukaiseksi. TODO: päivitä sisällöt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
=== Tietokone ja Internet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tintti}}&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä OhPe}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on Python.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä OhJa}}&lt;br /&gt;
&lt;br /&gt;
Nimensä mukaisesti kurssilla jatketaan siitä, mihin ohjelmoinnin perusteella jäätiin. Opetus järjestetään myös samaan tapaan. Perusasioiden ollessa hallussa, harjoitustehtävien ohjelmat laajenevat ja tulevat entistä mielenkiintoisemmiksi - ja haastavammiksi. Ohjelmoinnin jatkokurssin jälkeen opiskelija pystyy ohjelmoimaan itsenäisesti ja hyödyntämään internetiä ohjelmointitaitojensa kehittämisessä.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tikape}}&lt;br /&gt;
&lt;br /&gt;
Tämä kurssi on murrosvaiheessa, ja kuvauksemme saattaakin olla auttamatta vanhentunut tätä luettaessa. Mutta yritetään! Tietokantojen perusteisiin kuuluu tietokantojen suunnittelu ja lukuisten erilaisten kaavioiden piirrustelu, tietokannan käyttö Javalla, sekä SQL:n käyttö. Toteutukseen kuuluu viikottaisia yksin tai pajassa tehtäviä harjoituksia, sekä jokaviikkoinen ryhmätapaaminen. Lisäksi kurssin aikana tehdään ryhmätyönä tietokantaa hyödyntävä mallisovellus.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit I (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiRa I}}&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
TiRa I käsittelee ensisijaisesti Tirakirjan luvut 1-7. Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Kurssi on sinänsä erikoinen, sillä syksyn ja kevään toteutukset eroavat jonkin verran. Viime vuosina Antti Laaksonen on pitänyt kurssin syksyllä, jolloin ei ole ollut tenttiä. Jyrki Kivinen pitää kurssia keväisin, jolloin tenttiä on järjestetty.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai assaria vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Laskuharjoitukset / Algoritmitehtävät saa ratkaista joko Pythonilla tai Javalla. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;&#039;&#039;&#039;Älä käy tiraa fuksisyksynä! Suorita ensin JYM.&#039;&#039;&#039;&amp;lt;/del&amp;gt; Katso myös [[Fuksisyksyn_mallilukujärjestys]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;Vanha opetussuunitelma (2020-2023):&amp;lt;/strong&amp;gt;&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä JTKT}}&lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoitus on johdatella uudet oppilaat (“fuksit”) tietojenkäsittelytieteen ihmeelliseen maailmaan. Kurssin toteutus elää vuosittain opiskelijapalautteen myötä, mutta suuri osa toteutuksesta tulee olemaan pienryhmässä kirjoitettuja, lyhyitä, viikottaisia esseitä TKT:hen liittyvistä aiheista. Lisäksi samoista aiheista pidetään pieniä esitelmiä, ja opponoidaan muiden vastaavia.&lt;br /&gt;
Bonuksena kurssin fuksitoteutukseen on sisäänleivottu 4 op:ta (eli TKT kanditutkintoon vaadittavat) englannin opintoja, jotka ilmenevät muutaman englanninkielisenä esseenä ja esityksenä. Englannin opinnot suositellaan lämpimästi suoritettavaksi JTKT:n ohessa.&lt;br /&gt;
HUOM! JTKT-toteutetaan useimmista muista kursseista poiketen kahdessa jaksossa!&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiTo}}&lt;br /&gt;
&lt;br /&gt;
Tämä kurssi on perusopinnoista haastavin, mutta ei mitenkään mahdoton! Muihin perusopintoihin poiketen, kurssin luennot ovat tärkeä osa kurssia, joskaan eivät siltikään pakollisia. Olennaista on oppia nopeasti rytmiin, jossa jokin tietokoneen asiakokonaisuus käydään läpi luennolla, sitä opiskellaan viikkotehtäviä (‘laskareita’) tehdessä, ja lopulta kerrataan minikokeeseen. Kun luennolla heprealta kuulostava, vaikea asia on läpikäyty kolmeen kertaan, huomaat kokeeseen tullessasi yhtäkkiä ymmärtäväsi ja osaavasi käyttää konekieltä kuin luennoitsija itse!&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että kurssin loppukokeen voi korvata neljällä kurssin aikana tehtävällä minikokeella.&lt;br /&gt;
&lt;br /&gt;
P.S.&lt;br /&gt;
Kurssista liikkuu jäärien keskuudessa paljon meemejä, mutta parasta on jättää ennakkohype väliin ja mennä kurssille avoimin mielin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit II (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä TiRa II}}&lt;br /&gt;
&lt;br /&gt;
TiRa II on TiRa I:n jatko-osa. Kurssi jatkaa siitä mihin TiRa I jäi. Kurssi käsittelee Tirakirjan luvut 8-14, joissa aiheina ovat rekursiiviset algoritmit (dynaaminen ohjelmointi, peruuttava haku yms.) ja verkko-algoritmit (Dijkstra, Bellmanin ja Fordin, Floyd Warshall, Ford Fulkerson yms). &lt;br /&gt;
&lt;br /&gt;
Samoin kuin OhJa:ssa niin TiRa II harjoitustehtävät laajenevat ja tulevat entistä mielenkiintoisemmiksi - ja haastavammiksi. Älä sure, jos tehtävät tuntuvat liian vaikealta. Kurssin algoritmit ovat tosi haastavia monelle, etenkin rekursiiviset algoritmit tuntuvat olevan monelle tosi epäselviä ja vaikeasti ymmärrettävissä. Jos koet, että tehtävät ovat liian haastavia, kannattaa ehdottomasti käydä algoritmipajassa!&lt;br /&gt;
&lt;br /&gt;
Kurssi kannattaa suorittaa heti TiRa I:n jälkeen, jolloin TiRa I:n asiat ovat vielä tuoreena muistissa. TiRa II:ssa oletetaan kaikki TiRa I:n asiat tutuksi.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikka (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös niemellä Ohte}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tällä kurssilla tehdään myös ensimmäinen oma kokonainen ohjelmistoprojekti. Arvosana koostuu projektin loppuarvosanasta, projektin viikkodeadlinesta ja muutaman ensimmäisen viikon laskaritehtävistä.&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Lama}}&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Kurssin viikkotehtävissä (&amp;quot;laskareissa&amp;quot;) harjoitellaan paljon todistamista, etenkin ristiriita todistamista. Todistaminen oletetaan tutuksi, joten sitä ei käydä läpi kurssin aikana. Todistaminen voi tuntua tosi hankalalta ja turhauttavalta, etenkin kun sitä on tosi hankalaa opettaa. Kurssikirjassa, Introduction to the Theory of Computation (Michael Sipser), käydään tunnetuimmat todistustekniikat läpi. &lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
Tira:ssa voi pärjätä aika hyvin ilman JYM:ä, mutta Lama:ssa ei. On ehdottomasti suositeltu, että olet käynyt vähintään JYM:n ennen Lamaa.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (6 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Ohtu}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniikka-kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutetaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti-kurssille.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluva miniprojekti on mahdollista hyväksilukea työkokemuksen perusteella. Kts [[Ohtun_ja_ohtuprojektin_hyväksilukeminen]]&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Käjä}}&lt;br /&gt;
&lt;br /&gt;
Kurssin voi käsittää siltana Tietokoneen toiminta -kurssin ja Ohjelmoinnin perusteet -kurssin välillä. Käsiteltävät asiat sisältävät käyttöjärjestelmien rakenteen ja toimintaperiaatteet, rinnakkaisuuden toteutuksia ja ongelmia, muistinhallintaa ja virtuaalimuistia, prosessorin vuoronantoa jne.&lt;br /&gt;
&lt;br /&gt;
Samoin kuin TiTossa, Käjänkin tentin voi suorittaa neljällä minitentillä kurssin aikana.&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tilpe}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (10 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Ohtuprojekti}}&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimuksena on suoritettu Ohjelmistotuotanto-kurssi sekä kaksi aineopintojen harjoitustyötä (kts. alla).&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Koko kurssi on mahdollista hyväksilukea työkokemuksen perusteella. Kts [[Ohtun_ja_ohtuprojektin_hyväksilukeminen]]&lt;br /&gt;
&lt;br /&gt;
=== Kandidaatintutkielma (6 op) + Äidinkieli (3 op) + Tutkimustiedonhaku (1 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan nimellä kandi}}&lt;br /&gt;
&lt;br /&gt;
Tämä kolmen kurssin kokonaisuus on käytännössä yksi iso suoritus. Kandidaatintutkielman kirjoittamisen ohessa opetellaan tieteellistä kirjoittamista, tutkimustiedonhakua sekä esiintymistä. Arvostelu koostuu seuraavista osasuorituksista: 2-4 sivun referaatti, 10 sivun aine, 1.5-2 sivun kypsyysnäyte, 15-20min esitelmä ja ~20 sivun tutkielma. Näistä viimeinen on se varsinainen &amp;quot;kandi&amp;quot;, joka on samalla ainoa arvosanaan vaikuttava komponentti. Muut suoritukset on pakko tehdä, mutta ne arvostellaan binäärisesti &amp;quot;tehty/ei tehty&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Optimaalisessa tilanteessa opiskelija kirjoittaa kurssin aikana yhtä tekstiä, jonka eri vaiheet muodostavat tarvittavat kirjalliset komponentit. Monen tulee kuitenkin *pivotattua* jossain vaiheessa, jolloin siihen mennessä kirjoitetusta iso osa pitää heittää roskiin. Tämän välttää parhaiten ottamalla alun aiheenvalinnan tosissaan.&lt;br /&gt;
&lt;br /&gt;
Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan (yleensä) viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. &lt;br /&gt;
&lt;br /&gt;
Esitelmä (15-20min) pidetään oman pienryhmän kesken omasta aiheesta, yleensä aineen pohjalta. Tätäkään ei kannata stressata liikaa, sillä &amp;quot;arvostelu&amp;quot; on ihan oikeastikin tasolla &amp;quot;suoritettu jos jotain mumisee ryhmän edessä&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Kurssi sisältää ohessa myös ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä. Tämä vastaa teknisesti toisen kotimaisen kielen kurssia sikäli, että kypsyysnäyte on todistus siitä että opiskelija osaa oman äidinkielensä &amp;quot;virkamiestasolla&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. &lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita. Näistä ainakin ensimmäisellä on pakollinen läsnäolo.&lt;br /&gt;
&lt;br /&gt;
==== Kandin aikataulusta ====&lt;br /&gt;
&lt;br /&gt;
Kanditutkielma kurssi kestää yhden lukukauden ja se on tarjolla sekä syksyisin, että keväisin. Usein kandin kirjoittaminen on opiskelijoille se mistä aletaan ensimmäisenä luistamaan, kun periodissa on liikaa tekemistä. Näin kandi jää kesken ja venyy tuskallisen pitkäksi projektiksi. Kesken jäävät kandit siirtyvät yleensä kurssin vastuuhenkilön ohjattaviksi. Tunnetaan myös tapauksia missä opiskelija anoo lisäaikaa, sama ohjaaja säilyy ja opiskelija kirjoittaa tutkielman esim joululomalla valmiiksi.&lt;br /&gt;
&lt;br /&gt;
Osaston tarjotessa niukasti kesäopiskelumahdollisuuksia on kandin kirjoittaminen kesällä laiturin nokassa houkutteleva vaihtoehto. Virallisesti tätä mahdollisuutta ei ole tarjottu, mutta omatoiminen opiskelija voi kirjoittaa tutkielman kesällä ja tehdä esitelmän ym. pakolliset osat syksyn kurssilla. Kannattaa harkita jo kevään luennoilla käyntiä, jos tämä vaihtoehto kiinnostaa..&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen vaihtoehtoisen osan valintakori ==&lt;br /&gt;
&lt;br /&gt;
Aineopintoihin tulee sisällyttää vähintään yksi kurssi tästä korista.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Artificial Intelligence (5 op) ===&lt;br /&gt;
{{hatnote|Tunnettiin ennen myös nimellä johdatus tekoälyyn (JohTek)}} &lt;br /&gt;
&lt;br /&gt;
Datatieteen maisteriopintojen ensimmäisiä kursseja. Voi suositella myös kandivaiheen opiskelijoille&lt;br /&gt;
&lt;br /&gt;
Tämän kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Teemoina käsitellään niin koneoppimista, perinteistä logiikkaa kuin pelitekoälyjäkin. Kurssista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on käytännön ohjelmointitehtäviä ja teoreettisempi tentti.&lt;br /&gt;
&lt;br /&gt;
===Cyber security with F-Secure (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Titu}}&lt;br /&gt;
&lt;br /&gt;
Suoritetaan verkkokurssina, jolla käsitellään kyberturvallisuutta, operatiivista tietoturvaa, turvallisen web-ohjelmiston kehitystä, web-ohjelmistojen tyypillisiä haavoittuvuuksia ja niiden korjaamista sekä vastatoimia.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
Tästä korista tulee valita kaksi opintosuoritusta. Näiden pitää olla valmiina ennen Ohjelmistotuotantoprojektia (kts. yllä).&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tiralabra}}&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (4 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Tsoha tai Tsohalabra}}&lt;br /&gt;
&lt;br /&gt;
Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla, tai Ruby on Railssillä, mutta jos intoa (tai aiempaa osaamista) löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
===Tietoliikenteen harjoitustyö (4 op)===&lt;br /&gt;
{{hatnote|Järjestetään toukokuun intensiivijaksolla, Tietoliikenne-kurssin jälkeen}}&lt;br /&gt;
&lt;br /&gt;
Osallistuminen edellyttää vähintään arvosanaa 3 Tietoliikenteen perusteet -kurssilta. Huonommallakin arvosanalla saattaa päästä mukaan jos osaa selittää vakuuttavasti.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyössä ei lähtökohtaisesti ohjelmoida mitään, vaan enemminkin määritellään jokin tutkimusongelma johon etsitään itse vastaus. Perusratkaisu on analysoida jonkinlaista verkkoliikennettä. Muunkinlaisia projekteja on kuitenkin hyväksytty.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
Osaston kurssitarjonta muuttuu valinnaisten kurssien osalta jatkuvasti, tarkista ajantasainen kurssitarjonta esim. Weboodista tai https://studies.helsinki.fi/opintotarjonta .&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) [Deprekoitu] ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä C}}&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
===Programming for Performance (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä PFP}}&lt;br /&gt;
&lt;br /&gt;
===Algoritmit ongelmanratkaisussa (10 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Alon}}&lt;br /&gt;
&lt;br /&gt;
Kurssi on valinnainen opintojakso ja toimii periaatteessa TiRa:n jatkokurssina (virallinen jatkokurssi TiRa:lle on DAA - Design &amp;amp; Analysis of Algorithms). Kurssi on tarkoituksella tosi haastava ja työläs. Kurssin pitäjä, Antti Laaksonen, on jopa väittänyt, että kurssi on kandivaiheen (koko Suomen?) vaikein kurssi. &lt;br /&gt;
&lt;br /&gt;
Nimi paljastaa ehkä jo, että kurssilla käsitellään siis algoritmeja. Alon:ssa kerrotaan vähän TiRa asioita, mutta tällä kertaa C++ -kielellä, joka on kurssin ensisijainen ohjelmointikieli (tehtäviä voi myös ratkaista Haskell:lla tai Rust:lla). Lähtökohtaisesti oletetaan, että TiRa on tosi hyvin hallussa, sillä kurssilla käsitellään samoja tekniikoita kuten TiRa:ssa, esim. rekursio, verkko-algoritmeja ja tietorakenteita, mutta paljon pintatasoisemmin. Tarkoitus on enemmänkin, että opiskelija itse ymmärtää, miten erilaisia tekniikoita sovelletaan. Kurssin päätarkoitus on nimenomaan kehittää opiskelijan ongelmanratkaisukykyä. Kurssilla on 14 viikkoa, jokaisella viikolla 6 tehtävää. Kaikki tehtävät ovat lähtökohtaisesti vaikeita. Viikon ensimmäinen tehtävä saattaa olla helpompi kuin muut ja viimeinen tehtävä toimii vähän kuin &amp;quot;bonustehävänä&amp;quot;, joka on, lähes aina, erittäin haastava.&lt;br /&gt;
&lt;br /&gt;
===Computer Organization II (5 op)===&lt;br /&gt;
&lt;br /&gt;
===Full Stack -websovelluskehitys (3-7 op)===&lt;br /&gt;
&lt;br /&gt;
===Full Stack -websovelluskehitys harjoitustyö (1-10 op)===&lt;br /&gt;
	&lt;br /&gt;
===Introduction to Game Programming (5 op)===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä IGP}}&lt;br /&gt;
&lt;br /&gt;
Kurssilla tutustutaan peliohjelmoinnin maailmaan. Kurssilla käsitellään peliohjelmointia teoreettisella tasolla, pelimoottoreiden alkeita ja erilaisia peliohjelmoinnin paradigmoja, C#-kielen ominaisuuksia ja Unity-pelimoottorin perusominaisuuksia. Kurssin nimi saattaa olla harhaanjohtava, sillä kurssilla ei ohjelmoida ollenkaan.&lt;br /&gt;
&lt;br /&gt;
===Johdatus funktionaaliseen ohjelmointiin (5 op)===&lt;br /&gt;
	&lt;br /&gt;
===Ohjelmointihaasteita I (1-3 op)===&lt;br /&gt;
		&lt;br /&gt;
===Web-palvelinohjelmointi Java (5 op)===&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1 op) ===&lt;br /&gt;
{{hatnote|Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio}}&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
===Akateemiset taidot (1-2 op)===&lt;br /&gt;
	&lt;br /&gt;
===Opiskelijan digitaidot: orientaatio (2 op)===&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12021</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=12021"/>
		<updated>2024-08-05T14:28:06Z</updated>

		<summary type="html">&lt;p&gt;Pniko: Lisätty datatieteen malliaikataulu. TODO: CSM malliaikataulu (ei löytynyt oman ohjelmansa vastaavasta osoitteesta)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong style=&amp;quot;color:red;font-size:1rem&amp;quot;&amp;gt;TÄMÄ SIVU ON VANHENTUNUT, KATSO MALLIAIKATAULU YLIOPISTON SIVUILTA ALLA OLEVISTA LINKEISTÄ&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestykset löytyvät osaston sivuilta: &lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/fi/koulutusohjelmat/tietojenkasittelytieteen-kandiohjelma/opiskelu/tietojenkasittelytieteen-opintojen-rakenne-ja-aikataulu Tietojenkäsittelytieteen kandiohjelma]&lt;br /&gt;
&lt;br /&gt;
[https://www.helsinki.fi/en/degree-programmes/data-science-masters-programme/studying/course-and-teaching-information-2024-2025 Master&#039;s Programme in Data Science]&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
{{katso myös|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Matematiikka opettaa formaalia ajattelua, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseilla. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö pärjäisi opinnoissasi, vaikka et olisikaan matikkavelho.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska koululla ei ole pakko käydä montakaan kertaa kurssin aikana.&lt;br /&gt;
&lt;br /&gt;
Pajoissa järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Paja-ajat ja käytännöt sovitaan kurssi kohtaisesti, joten niitä hyödyntääkseen pitää itse lukea kurssisivulta infot. &lt;br /&gt;
&lt;br /&gt;
Mikäli ensimmäisen syksyn keskeiset kurssit takkuavat, ei kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on tärkeää, jos mielii valmistua kolmessa vuodessa luonnontieteiden kandidaatiksi (LuK) ilman vaikeuksia. Kurssien välisistä riippuvuuksista ei tällä hetkellä ole tarjolla virallista ja täysin ajantasaista versiota. Lähes virheetön kaavio löytyy osoitteesta [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet täältä]. &#039;&#039;&#039;Kaaviota lukiessa tulee huomata, että kurssin johdatus tekoälyyn sijaan siinä kohdassa kuuluisi lukea: &amp;quot;johdatus tekoälyyn tai tietoturvan perusteet&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Digitaidot + Tietokone työvälineenä + Akateemiset taidot || I || 3-4&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 10&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Katso myös [[Fuksisyksyn_mallilukujärjestys]]&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden keväänä on myös hyvä suorittaa tietokantasovellus -harjoitustyö (4 op) ja/tai toinen kotimainen kieli (3 op).&lt;br /&gt;
Suunnitellessaan opintojaan on hyvä tarkistaa harjoitustöiden esitietovaatimukset.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || II ||  5 + 1&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || IV || 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Toisen vuoden aikana on viimeistään tehtävä ensimmäinen harjoitustyö, eikä ole huono idea suorittaa toistakin. &lt;br /&gt;
Jos toisen ja kolmannen vuoden välisenä kesänä on aikaa eli ohjelmistotuotantoprojektin suorittaminen silloin ole hassumpi ajatus.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tekoälyyn / Tietoturvan perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I, II tai I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma + Tutkimustiedonhaku + Äidinkieli || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
{{katso|Fuksisyksyn mallilukujärjestys}}&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Raja-arvot, on harkitsemisen arvoinen vaihtoehtoja, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Matikan perusfuksikurssina nämä opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto.&lt;br /&gt;
** Tilastotiede ja R tutuksi 1, jos kiinnostaa datatiede, machine learning tai algo puoli (Suosittelen useita tilastotieteen kursseja jos nämä linjat kiinnostavat.)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2&lt;br /&gt;
*** Differentiaalilaskenta. (Yleishyödyllistä melkein kaikilla linjoilla)&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka 1 ja 2, 5 op/kpl&lt;br /&gt;
** Tai Tilastollinen päättely (IV),&lt;br /&gt;
** Tai todennäköisyyslaskenta 1 (III), 5 op.  (Tilastollinen päättely ja todennäköisyyslaskenta erittäin tärkeitä datatieteessä ja machine-learning opinnoissa).&lt;br /&gt;
** Integraalilaskenta (III) ja sarjat (IV)&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikkaa datatieteeseen ja tekoälyyn ==&lt;br /&gt;
&lt;br /&gt;
=== Pakolliset ===&lt;br /&gt;
&lt;br /&gt;
Jos siirryt tkt:ltä Datatieteen maisteriohjelmaan sinun täytyy sisällyttää kanditutkintoosi (tarkistettu 03.09.2019):&lt;br /&gt;
&lt;br /&gt;
* MAT12003 Todennäköisyyslaskenta (5 op) I &lt;br /&gt;
* 5 op tilastotiedettä&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Vaatimuksena on, että kanditutkintoon on sisällytetty MAT12003 Todennäköisyyslaskenta (5 op) I ja 5 op tilastotiedettä (esimerkiksi MAT12001 Tilastotiede tutuksi ja R-ohjelmisto tai MAT12004 Tilastollinen päättely I).&#039;&#039; [https://guide.student.helsinki.fi/fi/node/405?degree_programme_code=KH50_005 lähde]&lt;br /&gt;
&lt;br /&gt;
=== Epävirallisia suosituksia ===&lt;br /&gt;
&lt;br /&gt;
Monelle on tullut maisterivaiheen kursseihin siirtyessä yllätyksenä se, kuinka paljon matematiikkaa ja tilastotiedettä on osattava, jotta voi pärjätä datatiede- ja koneoppimislinjoilla. Siksi tähän on koostettu lista kursseista joiden avulla saa varmistettua riittävän osaamistason. Tällaista kokonaisuutta ei ole missään aiemmin ollut listattuna. Kurssilistaus on luotu perustuen keskusteluihin DS/AI (Datatiede ja tekoäly) linjojen opiskelijoiden, yhden sen linjan professorin ja yhden tilastotieteen professorin kanssa. Vaikka otsikon mukaisesti ohje on erityisesti datatieteen ja tekoälyn opiskeluun tähtääville, valmistaa tällaisen kokonaisuuden opiskelu useampaankin maisterivaiheen linjaan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DISCLAIMER: &#039;&#039;&#039; Tämä lista ei tarkoita sitä, että &amp;quot;nämä kaikki on pakko käydä tai tulet failaamaan, jos tähtäät data science -maisterilinjalle. Näistä kursseista on hyötyä data science aiheiden ymmärtämisessä. Erityisesti tilastotieteen kurssit ovat hyödyllisiä. Matematiikkaa taas tarvitaan tilastotieteen kurssien syvällisempään ymmärtämiseen. Tätä listaa on tarkoitus tarkentaa lisäämällä kunkin kurssin kohdalle jonkinlaista infoa kurssin tärkeydestä: ts. &amp;quot;ihan hyödyllinen&amp;quot; vai &amp;quot;puoli-pakollinen&amp;quot;. Myös kurssien aiheiden suhteista Data Scientistin työssä vastaantuleviin haasteisiin on keskusteltu ja suunnitelmissa on rakentaa jonkinnäköinen materiaali, joka vastaa kysymyksiin, kuten &#039;&#039;&amp;quot;Mihin tätä linistä/raja-arvoja/sarjoja/jne oikein tarvii?&amp;quot;&#039;&#039;. Opintovastaavat auttavat osoitteissa #tkt-apu tai opintovastaava@tko-aly.f, jos askarruttaa.&lt;br /&gt;
&lt;br /&gt;
* DATE-opintokokonaisuus DAtatieteeseen ja TEkoälyyn&lt;br /&gt;
** Johdatus yliopistomatematiikkaan (kaikille pakollinen)&lt;br /&gt;
** Algebran kurssit&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 1&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta 2&lt;br /&gt;
*** Algebralliset rakenteet 1&lt;br /&gt;
*** Algebralliset rakenteet 2&lt;br /&gt;
** Analyysin kurssit&lt;br /&gt;
*** Raja-arvot&lt;br /&gt;
*** Differentiaalilaskenta&lt;br /&gt;
*** Integraalilaskenta&lt;br /&gt;
*** Sarjat&lt;br /&gt;
*** Vektorianalyysi 1&lt;br /&gt;
** Tilastotieteen kurssit&lt;br /&gt;
*** Tilastotiede ja R tutuksi 1 (Tilastotiede)&lt;br /&gt;
*** Tilastotiede ja R tutuksi 2 (Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 1 (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2a (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Todennäköisyyslaskenta 2b (Matematiikka / Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 1 (Tilastotiede)&lt;br /&gt;
*** Tilastollinen päättely 2 (Tilastotiede)&lt;br /&gt;
&lt;br /&gt;
Jotta esitiedot ovat riittävän hyvin hallussa, kannattaa kurssit suorittaa tietyssä järjestyksessä. Perusperiaatteena on, että JYM, Algebran kurssit ja Analyysin kurssit voi suorittaa rinnakkain, kuitenkin niin että Vektorianalyysi edellyttää Lineaarialgebran osaamista. Tilastotiede ja R tutuksi sopii käytäväksi milloin vain mahtuu lukujärjestykseen (esitietona jonkinlainen lukiomatematiikan osaaminen). Todennäköisyyslaskenta 1, jonka osaamisen on oltava hallussa ennen muita mainittuja tilastotieteen kursseja, sopii parhaiten suoritettavaksi kun matematiikka on muuten hallussa.&lt;br /&gt;
&lt;br /&gt;
=== Aikataulu ===&lt;br /&gt;
&lt;br /&gt;
Seuraava taulukko (erään opiskelijan hops-excelistä) voi olla avuksi opintojen suunnittelussa:&lt;br /&gt;
&lt;br /&gt;
* Tässä siis haluttu suorittaa matematiikan analyysin kurssit putkeen sekä tilastotieteen perusopinnot samaan tapaan.&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:Mathstat_perusopinto_aikataulut.png|none|frame|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HUOM:&#039;&#039;&#039; Datatieteen maisterin tutkinnossa (2019) tilaa 35op &amp;quot;Muille opinnoille&amp;quot;, mitkä voivat olla sekä kandi että maisteritason kursseja. TKT maisterissa vastaavasti 40op.&lt;br /&gt;
&lt;br /&gt;
== Kaavio DATE-kurssien välisistä riippuvuuksista ==&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:DATE_opinnot_v3.png|none|800px]]&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12020</id>
		<title>Kurssitarjonta &amp; tutkintorakenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssitarjonta_%26_tutkintorakenteet&amp;diff=12020"/>
		<updated>2024-08-05T14:12:12Z</updated>

		<summary type="html">&lt;p&gt;Pniko: /* Kurssitarjonta */ Kandi: lisätty tutkintorakenne ja poistettu kuolleet linkit. TODO: yhdistä vanha ja uusi galleria.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Vaatii_päivityksen]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: rgba(255, 25, 25, 0.1); border: 2px dashed red; padding: 1rem; color: red; width: max-content; margin-block-end: 1rem;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-weight: bold; font-size: 1rem;&amp;quot;&amp;gt;Tämä sivu vaatii päivitystä. This page needs updating.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size: 1rem&amp;quot;&amp;gt;Voit käyttää sivua pohjana omalle tutkinnalle, mutta huomioithan että jotkin tiedot ovat vanhentuneita.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size: 1rem&amp;quot;&amp;gt;You can use this page as a starting point for exploration, but note that some of the information is outdated.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kurssitarjonta == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
You can browse the department courses from many sources:&lt;br /&gt;
&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Tutkintorakenne kandi.png|[https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c Tutkintorakenne]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Tiedosto:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_005 Opetussuunnitelma guidessa]&lt;br /&gt;
Tiedosto:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 kurssihaku]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Maisteri / Masters ==== &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista interaktiivinen.png|[https://guide.student.helsinki.fi/en/node/1118 Interactive list]&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_009 Syllabus in guide]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/search/results/field_imp_organisation/hy-faculty-of-science-mltdk-942/field_imp_organisation/masters-programme-in-computer-science-1929/field_imp_organisation/bachelors-programme-in-computer-science-1922?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
File:Kurssilista weboodi.png|[https://weboodi.helsinki.fi/hy/vl_kehys.jsp?MD5avain=&amp;amp;Kieli=1&amp;amp;Opas=6210&amp;amp;Org=116738259&amp;amp;vl_tila=1&amp;amp;AukAikMaar=1 weboodi]&lt;br /&gt;
File:Kurssilista kaikkivanhat.png|[https://www.cs.helsinki.fi/courses/all pre-2018 courselist]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Data science ==== &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista interaktiivinen.png|[https://guide.student.helsinki.fi/en/node/1119 Interactive list]&lt;br /&gt;
File:Kurssilista interaktiivinen.png|[https://guide.student.helsinki.fi/en/node/810 Interactive list 2]&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=MH50_010 Syllabus in guide]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Math / Stat ==== &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Kurssilista opetussuunnitelma.png|[https://guide.student.helsinki.fi/fi/node/330?degree_programme_code=KH50_001 syllabus]&lt;br /&gt;
File:Kurssilista haku.png|[https://courses.helsinki.fi/fi/search/results/field_imp_organisation/matemaattisten-tieteiden-kandiohjelma-1920?&amp;amp;search=&amp;amp;academic_year=2018%20-%202019 course search]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
WebOodi is the most reliable truth for courses. Other systems fetch data from there. Summer-, &amp;quot;V period&amp;quot;-, chrismas- and one-of-courses might appear there quite late. Follow your email for info of these!&lt;br /&gt;
&lt;br /&gt;
== Tutkintorakenne / Degree structure == &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
generic link https://guide.student.helsinki.fi/fi/artikkeli/tutkinnon-rakenne-ja-laajuus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
==== Kandi / Bachelors ====&lt;br /&gt;
* cs bachelors [https://guide.student.helsinki.fi/fi/node/323?degree_programme_code=KH50_005 in guide]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
==== Maisteri / Masters ====&lt;br /&gt;
* cs masters [https://guide.student.helsinki.fi/fi/node/323?degree_programme_code=MH50_009 in guide]&lt;br /&gt;
* cs masters [https://www.helsinki.fi/en/programmes/master/computer-science/studying/structure-of-the-programme in helsinki.fi]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
==== Data Science ====&lt;br /&gt;
* ds masters [https://guide.student.helsinki.fi/fi/node/323?degree_programme_code=MH50_010 in guide]&lt;br /&gt;
* ds masters [https://www.helsinki.fi/en/programmes/master/data-science/degree-structure in helsinki]&lt;br /&gt;
 &lt;br /&gt;
Tags: pakolliset, pakollinen, compulsory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Tiedosto:Tutkintorakenne_kandi.png&amp;diff=12019</id>
		<title>Tiedosto:Tutkintorakenne kandi.png</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Tiedosto:Tutkintorakenne_kandi.png&amp;diff=12019"/>
		<updated>2024-08-05T14:05:45Z</updated>

		<summary type="html">&lt;p&gt;Pniko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kuvankaappaus koulutusohjelman rakenteen esittelevästä sivusta: https://studies.helsinki.fi/tutkintorakenne/koulutusohjelma/otm-5cd5c961-a961-4bd9-a067-61a4baf61d2c&lt;/div&gt;</summary>
		<author><name>Pniko</name></author>
	</entry>
</feed>