Ero sivun ”Kurssikuvauksia” versioiden välillä

 
(11 välissä olevaa versiota toisen käyttäjän tekemänä ei näytetä)
Rivi 6: Rivi 6:


=== Tietokone ja Internet (5 op) ===
=== Tietokone ja Internet (5 op) ===
{{hatnote|Tunnetaan myös nimellä Tintti}}Kurssilla käsitellään kurssin nimen mukaisesti tietokoneen ja internetin toimintaa. 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.
{{hatnote|Tunnetaan myös nimellä Tintti}}
 
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.


=== Ohjelmoinnin perusteet (5 op) ===
=== Ohjelmoinnin perusteet (5 op) ===
Rivi 40: Rivi 42:
<del>'''Älä käy tiraa fuksisyksynä! Suorita ensin JYM.'''</del> Katso myös [[Fuksisyksyn_mallilukujärjestys]].
<del>'''Älä käy tiraa fuksisyksynä! Suorita ensin JYM.'''</del> Katso myös [[Fuksisyksyn_mallilukujärjestys]].


<div style="border: 1px solid red; padding: 10px; margin: 10px;">
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===
Rivi 61: Rivi 64:
P.S.
P.S.
Kurssista liikkuu jäärien keskuudessa paljon meemejä, mutta parasta on jättää ennakkohype väliin ja mennä kurssille avoimin mielin.
Kurssista liikkuu jäärien keskuudessa paljon meemejä, mutta parasta on jättää ennakkohype väliin ja mennä kurssille avoimin mielin.
</div>


== Pakolliset Aineopinnot ==
== Pakolliset Aineopinnot ==
Rivi 74: Rivi 78:


=== Tietokannat ja web-ohjelmointi (5 op) ===
=== Tietokannat ja web-ohjelmointi (5 op) ===
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 'Tietokantojen perusteet' käytynä. 
'''Huom''' 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.


=== Laskennan mallit (5 op) ===
=== Laskennan mallit (5 op) ===
Rivi 98: Rivi 106:


=== Tietoturvan perusteet (5 op) ===
=== Tietoturvan perusteet (5 op) ===
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 "Tietokanta ja Web ohjelmointi"-kurssia, koska monet kurssin tehtävistä, mukaanlukien loppuprojekti,  sisältävät tietokannan ja selaimen välistä kommunikaatiota ja näihin liittyviä haavoittuvuuksia.


=== Laskentaympäristöt (5 op) ===
=== Laskentaympäristöt (5 op) ===
Rivi 111: Rivi 121:
{{hatnote|Tunnetaan myös nimellä Ohtuprojekti}}
{{hatnote|Tunnetaan myös nimellä Ohtuprojekti}}


Kurssin esitietovaatimuksena on suoritettu Ohjelmistotuotanto-kurssi sekä kaksi aineopintojen harjoitustyötä (kts. alla).
Kurssin esitietovaatimuksena on suoritettu Ohjelmistotuotanto-kurssi sekä yksi aineopintojen harjoitustyö (kts. alla).


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.
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.
Rivi 148: Rivi 158:
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..
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..


<div style="border: 1px solid red; padding: 10px; margin: 10px;">
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>


Rivi 163: Rivi 174:


Samoin kuin TiTossa, Käjänkin tentin voi suorittaa neljällä minitentillä kurssin aikana.
Samoin kuin TiTossa, Käjänkin tentin voi suorittaa neljällä minitentillä kurssin aikana.
</div>


== Aineopintojen harjoitustöiden valintakori ==
== Aineopintojen harjoitustöiden valintakori ==
Rivi 189: Rivi 201:
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.
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.


<div style="border: 1px solid red; padding: 10px; margin: 10px;">
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>


Rivi 199: Rivi 212:


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.
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.
</div>


== Aineopintojen valinnaiset kurssit ==
== Aineopintojen valinnaiset kurssit ==
Rivi 238: Rivi 252:
* TKT210282 Elements of AI: Building AI - Advanced 1 op
* TKT210282 Elements of AI: Building AI - Advanced 1 op


<div style="border: 1px solid red; padding: 10px; margin: 10px;">
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>
<strong style="color:red;font-size:1rem">Vanha opetussuunitelma (2020-2023):</strong>


Rivi 251: Rivi 266:


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.
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.
</div>


===Programming for Performance (5 op)===
===Programming for Performance (5 op)===