Ero sivun ”Kurssikuvauksia” versioiden välillä

p
ei muokkausyhteenvetoa
pEi muokkausyhteenvetoa
Rivi 50: Rivi 50:
Kurssin esitietovaatimus on "Johdatus yliopistomatematiikkaan". 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.  
Kurssin esitietovaatimus on "Johdatus yliopistomatematiikkaan". 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.  


Kurssi on sinänsä erikoinen, sillä syksyn ja kevään toteutukset eroavat jonkin verran. Viime vuosina Antti Laaksonen on pitänyt kurssin syksyllä, ei ole ollut Tenttiä tällöin. Keväisin kurssin pitää Jyrki Kivinen, tällöin tenttiä on järjestetty.
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.


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.  
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.  
Rivi 61: Rivi 61:
* Tunnetaan myös nimellä TiRa II
* Tunnetaan myös nimellä TiRa II


TiRa II, eli TiRa I jatko-osa. Kurssi jatkaa siitä mihin TiRa I jäi. Kurssi käsittelee Tirakirjan luvut 8-14, missä aiheina ovat rekursiiviset algoritmit (dynaaminen ohjelmointi, peruuttava haku yms) ja verkko-algoritmit (Dijakstra, Bellmanin ja Fordin, Floyd Warshall, Ford Fulkerson yms).  
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).  


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 tuntuu olevan monelle tosi epäselviä ja vaikeasti ymmärrettävissä. Jos koet, että tehtävät ovat liian haastavia, niin kannattaa ehdottomasti käydän algoritmipajassa!
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!


Kurssia kannattaa suorittaa heti TiRa I jälkeen, jolloin TiRa I asiat ovat vielä tuoreena muistissa. TiRa II oletetaan kaikki TiRa I asia tutuksi.
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.


=== Ohjelmistotekniikka (5 op) ===
=== Ohjelmistotekniikka (5 op) ===
Rivi 86: Rivi 86:
* Tunnetaan myös nimellä Ohtu
* Tunnetaan myös nimellä Ohtu


Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniika -kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.
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.


Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti-kurssille.


=== Käyttöjärjestelmät (5 op)===
=== Käyttöjärjestelmät (5 op)===
Rivi 203: Rivi 203:
* Tunnetaan myös nimellä Alon
* Tunnetaan myös nimellä Alon


Kurssi on valinnainen opintojakson ja toimii periaatteessa TiRa:n jatkokurssina (virallinen jatkokurssi TiRa:lle on DAA - Design & 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.  
Kurssi on valinnainen opintojakso ja toimii periaatteessa TiRa:n jatkokurssina (virallinen jatkokurssi TiRa:lle on DAA - Design & 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.  


Nimi paljastaa ehkä jo, 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 kanssa 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, verkkoalgoritmeja ja tietorakenteitak, mutta paljon pintatasoisemmin, tarkoitus on enemmäkin, että opiskelija itse ymmärtää miten erilaiset tekniikat sovelletaan, kurssin päätarkoitus on nimenomaan kehittää opiskelijan ongelmanratkaisukykyä. Kurssilla on 14 viikkoa, jokaisessa 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 "bonustehävänä" joka on, lähes aina, erittäin haastava.
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, verkkoalgoritmeja 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 "bonustehävänä", joka on, lähes aina, erittäin haastava.


===Computer Organization II (5 op)===
===Computer Organization II (5 op)===
Rivi 216: Rivi 216:
* Tunnetaan myös nimellä IGP
* Tunnetaan myös nimellä IGP


Kurssilla tutustutaan peliohjelmoinnin maailmaan. Kurssilla käsitellään peliohjelmointia teoreettisellä tasolla, pelimoottoreiden alkeet ja erilaisia peliohjelmointi paradigmoja, C#-kielen ominaisuuksia ja Unity pelimoottorin perus ominaisuudet. Kurssin nimi saattaa olla harhaanjohtava, sillä kurssilla ei ohjelmoida ollenkaan.
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.


===Johdatus funktionaaliseen ohjelmointiin (5 op)===
===Johdatus funktionaaliseen ohjelmointiin (5 op)===
204

muokkausta