Ero sivun ”Kurssikuvauksia” versioiden välillä

Ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa
Rivi 1: Rivi 1:
== Pakollisia kursseja ==
== Pakollisia kursseja ==


Tietojenkäsittelytieteen laitoksen tutkintouudistus astuu voimaan lukukaudelle 08-09, monista asioista on vielä epäselvyyttä eikä uusista kursseista ole voitu vielä kirjoittaa kuvauksia. Lisäksi opetuskieli on mahdollisesti vaihtumassa Javasta Scalaksi.
=== Johdatus tietojenkäsittelytieteeseen (4 op) ===
 
* 1. ja 2. periodissa
 
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä ja oppimispäiväkirjoja pienryhmissä. Koska kurssilla ei ole koetta, näihin tehtäviin osallistuminen on välttämätlntä.
 
Kurssi sisältää kattavan yleiskatsauksen tietojenkäsittelytieteeseen ja sen olisi ainakin tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Teksteistä tosin opiskelija ei tässä vaiheessa ymmärtäne vielä puoliakaan.


=== Tietokone työvälineenä (4 op) ===
=== Tietokone työvälineenä (4 op) ===
Rivi 10: Rivi 16:
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. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin
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. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin
tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.
tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.
=== Johdatus tietojenkäsittelytieteeseen (4 op) ===
* 1. ja 2. periodissa
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä ja oppimispäiväkirjoja pienryhmissä. Koska kurssilla ei ole koetta, näihin tehtäviin osallistuminen on välttämätlntä.
Kurssi sisältää kattavan yleiskatsauksen tietojenkäsittelytieteeseen ja sen olisi ainakin tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Teksteistä tosin opiskelija ei tässä vaiheessa ymmärtäne vielä puoliakaan.


=== Ohjelmoinnin perusteet (5 op) ===
=== Ohjelmoinnin perusteet (5 op) ===
Rivi 38: Rivi 36:


Kurssia seuraava erillinen harjoitustyö (4 op) on syytä suorittaa mahdollisimman pian näiden kurssien jälkeen. Huomaa kuitenkin, että harjoitustyön saa aloittaa vasta, kun nämä kurssit on suoritettu (eli siis niistä on suoritusmerkintä)! Ohjelmointityökaluihin liittyvät asiat kannattaa myös opetella jo ohjelmoinnin peruskursseilla, ettei harjoitustyössä mene sormi suuhun - siellä kun ei ole enää aikaa opetella ohjelmointiympäristöjä ja työkaluja.
Kurssia seuraava erillinen harjoitustyö (4 op) on syytä suorittaa mahdollisimman pian näiden kurssien jälkeen. Huomaa kuitenkin, että harjoitustyön saa aloittaa vasta, kun nämä kurssit on suoritettu (eli siis niistä on suoritusmerkintä)! Ohjelmointityökaluihin liittyvät asiat kannattaa myös opetella jo ohjelmoinnin peruskursseilla, ettei harjoitustyössä mene sormi suuhun - siellä kun ei ole enää aikaa opetella ohjelmointiympäristöjä ja työkaluja.
=== Ohjelmistojen mallintaminen (4 op) ===
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 hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovellus kurssin dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.


=== Ohjelmoinnin harjoitustyö (4 op) ===
=== Ohjelmoinnin harjoitustyö (4 op) ===
Rivi 59: Rivi 61:


Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.
=== Ohjelmistojen mallintaminen (4 op) ===
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 hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovellus kurssin dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.


=== Tietokantojen perusteet (4 op) ===
=== Tietokantojen perusteet (4 op) ===
Rivi 74: Rivi 72:
palvelevaksi. Pelkällä erilliskokeella kurssien läpäiseminen voi onnistua, mutta vaatii jonkun verran hyvää pohjatietoa aiheesta. Harjoituksia kannattaa tehdä huolella. Laiskottelu näillä kursseilla voi kostautua myöhemmin tehtävässä harjoitustyössä "Tietokantasovellus", jossa opiskelijoiden oletetaan osaavan käyttää oikeita apuvälineitä.
palvelevaksi. Pelkällä erilliskokeella kurssien läpäiseminen voi onnistua, mutta vaatii jonkun verran hyvää pohjatietoa aiheesta. Harjoituksia kannattaa tehdä huolella. Laiskottelu näillä kursseilla voi kostautua myöhemmin tehtävässä harjoitustyössä "Tietokantasovellus", jossa opiskelijoiden oletetaan osaavan käyttää oikeita apuvälineitä.


=== Tietokantasovellus (4 op) ===
=== Tietoliikenteen perusteet (4 op) ===


* Ryhmiä melkein joka periodissa sekä kesäisin
* Tunnetaan myös nimellä Tilpe
* 3. periodissa


Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokanntaa 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ä.
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee käymällä lävitse 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.


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.
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-ruuhkanhallintamekanismien). 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. Asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.


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 löytyy jonkin eksoottisemman ympäristön opettelemiseen niin sekin onnistuu.
=== Tietoturvan perusteet (4 op) ===


=== Tietokoneen toiminta (4 op) ===
* 4. periodissa


* Tunnetaan myös nimellä TiTo
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät tulisi toteuttaa hyökkäysten vaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen hyväksytysti ei tosin takaa että opiskelija osaisi käyttää näitä. Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle varmasti mielenkiintoista luettavaa.
* 2. periodissa


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
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.
paljon tekemistä oikeiden assemblerien (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ä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.
 
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 tietokoneen toimintaan liittyvät yksityiskohdat voisi välttää. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu.


=== Tietorakenteet (8 op) ===
=== Tietorakenteet (8 op) ===
Rivi 122: Rivi 117:


Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.
=== Johdatus tekoälyyn (4 op) ===
* 1. periodissa
Johdatus tekoälyyn -kurssin järjestely muuttuu syksylle 2010, eikä tarkempaa tietoa toistaiseksi ole. Aiemmin kurssi on koostunut pakollisista luennoista ja niiden pohjalta laadittavista oppimispäiväkirjoista. Luennoitsijat ovat olleet vierailevia. Kurssin sisältönä on nimensä mukaisesti tekoälyyn liittyviin ongelmien pintaraapaisu.


=== Laskennan mallit (6 op) ===
=== Laskennan mallit (6 op) ===
Rivi 136: Rivi 137:
Ä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ää ("meni kokeessa oikein, en tiedä mitä tein"). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi 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.
Ä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ää ("meni kokeessa oikein, en tiedä mitä tein"). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi 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.


=== Tietoliikenteen perusteet (4 op) ===
=== Tietokantasovellus (4 op) ===


* Tunnetaan myös nimellä Tilpe
* Ryhmiä melkein joka periodissa sekä kesäisin
* 3. periodissa


Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee käymällä lävitse 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.
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokanntaa 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ä.


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-ruuhkanhallintamekanismien). 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. Asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.
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.


=== Tietoturvan perusteet (4 op) ===
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 löytyy jonkin eksoottisemman ympäristön opettelemiseen niin sekin onnistuu.


* 4. periodissa
=== Tietokoneen toiminta (4 op) ===


Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät tulisi toteuttaa hyökkäysten vaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen hyväksytysti ei tosin takaa että opiskelija osaisi käyttää näitä. Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle varmasti mielenkiintoista luettavaa.
* Tunnetaan myös nimellä TiTo
* 2. periodissa


Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.
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ä oikeiden assemblerien (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ä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.


=== Johdatus tekoälyyn (4 op) ===
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 tietokoneen toimintaan liittyvät yksityiskohdat voisi välttää. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu.
 
* 1. periodissa
 
Johdatus tekoälyyn -kurssin järjestely muuttuu syksylle 2010, eikä tarkempaa tietoa toistaiseksi ole. Aiemmin kurssi on koostunut pakollisista luennoista ja niiden pohjalta laadittavista oppimispäiväkirjoista. Luennoitsijat ovat olleet vierailevia. Kurssin sisältönä on nimensä mukaisesti tekoälyyn liittyviin ongelmien pintaraapaisu.


=== Rinnakkaisohjelmointi (6 op) ===
=== Rinnakkaisohjelmointi (6 op) ===