204
muokkausta
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 | 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 | 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 | 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! | ||
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ää | 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 | 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 ( | 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 | 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)=== |