Luennot
Tänne tulee lista luennoilla käsitellyistä asioista, mallikoodit sekä linkit luentotallenteisiin. Uusin luento tulee ylimmäksi.
Pidetty
22. luento: Liukulukujen esittäminen tietokoneessa, kertausta (Video: HD, SD)
- Tentistä vielä: Tenttialueena on moniste kokonaisuudessaan, myös monisteen täydennykset, ''paitsi'' jypeli-spesifiset luvut ja syntaksin kuvaamiseen liittyvä luku
- Aikaisempia tenttejä voi ja kannattaa katsella täältä.
- Tehtiin SiirraMerkit-funktio loppuun
- M: 27. Lukujen esitys tietokoneessa
- Reaalilukujen esittäminen liukulukuina
- intel16.txt - reaaliluvut Intelin prosesorissa
- Tarkkuus.cs - esimerkki miten reaaliluvut eivät ole tarkkoja
- Liukulukujen esityskyvyn rajat
- FloatDouble.cs
- Luentoesimerkit: Lukujen muuttamista lukujärjestelmästä toiseen
- Jypelin rakenne ja missä vaiheessa kutsutaan mitäkin:
- Luennon koodit
21. luento: Kertausta. (+Merkkijonojen paloittelu.) (Video: HD, SD)
- Kertausta
- Siirra.cs - Aloitettiin tekemään luennolla funktiota, joka siirtää vokaalit (tai mitkä tahansa muut merkit) toiseen jonoon. Tätä jatketaan huomenna.
- HT esittelyt, varaa esitysvuorosi
- HT pitää myös julkisen esittelemisen lisäksi myös virallisesti palauttaa ohjaajalle (ohjauksissa, tai varaa aika), missä katsotaan muodolliset vaatimukset
- Tentti perjantai 7.4. kello 12:00. Ilmoittaudu Korpissa.
- Lue omatoimisesti:
- M: 17. Merkkijonojen paloittelu
- Luennon koodit
20. luento: Palloja karkuun (Video: HD, SD)
M: 21. Rekursio
SuurinPolku.cs - Etsitään "puun" paras reitti (tarkemmin sanottuna reitin alkioiden summa). Tämä voidaan tehdä rekursiivisella algoritmilla. Tehtävä on ns. Eulerin ongelma nro 67. Tällä ratkaisulla ei ole kuitenkaan mahdollista ratkaista "isoja" puita (esim. 100 riviä). Tehokkaan algoritmin tekeminen jätetään harjoitustehtäväksi.
Jatkettiin Palloja Karkuun -peliä
- PallojaKarkuun.cs
- Hienot räjähdykset käyttäen ExplosionSystem-luokkaa (muita efektejä ovat liekki (Flame), savu (Smoke), valo (Light)
19. luento: Rekursio (Video: HD, SD)
- M: 21. Rekursio
- Rekursiivisen funktion idea
- Rekursioharjoituksia.cs: Kertoma, Fibonaccin luvut, Summa, Minimi
- Sierpinskin kolmio ja muut fraktaalit: esim. Mandelbrotin joukko, Kochin lumihiutale
- SierpinskinMatto.cs
- Wikipedia: Sierpinski triangle, kuva eräästä toteutuksesta
- Lisälukemista. Opiskele omatoimisesti / otetaan seuraavalla luennolla aikataulun mukaan
- SierpinskiKolmio.cs - versio jossa kolmiot piirretään viivoina
Canvas
-oliolle. Tässä versiossa mukana myös liukusäädin jolla kolmiota voi zoomata - SierpinskiAnimaatio.cs - versio missä saa kolmioita piirrettyä yksi kerrallaan. Ohje: Enterillä saat lisää kolmioita, välilyönti puolittaa pienimmän kolmion koon.
- Droste Effect: 1, 2
- M: 26. Poikkeukset
- Idea:
- SierpinskiKolmio.cs - versio jossa kolmiot piirretään viivoina
try { // poikkeusalttiit lauseet }
catch(Poikkeusluokka p) { // lauseet poikkeuksen sattuessa }
finally { // Asiat jotka tehdään huolimatta siitä tapahtuiko poikkeuksia }
- Vesan mallikoodit syksyltä liittyen poikkeuksiin:
- Poikkeus.cs - esimerkkiin lisätty luennon jälkeen vielä !ComTestiin #THROWS, eli ko. testirivin PITÄÄ heittää poikkeus tai testi epäonnistuu jos se ei heitä. Tällä on dokumentoitu käytös noissa kahdessa tapauksessa.
- Luennon koodit
18. luento: Palloja karkuun (Video: HD, SD)
Aloitettiin Palloja Karkuun -peli
Jatketaan silloin Palloja Karkuun -peliä
17. luento: Anagrammit, algoritminen ajattelu, Dictionary (Video: HD, SD)
- Tehtiin Anagrammi-tehtävän ratkaisu.
- Dictionary-tietorakenne
- Luennon koodit
16. luento: Lähin piste hiirestä (Video: HD, SD)
- Tehtiin Pelottava peli loppuun
- Luennon koodit
15. luento: Listat (Video: HD, SD)
- Käytiin läpi
List<T>
-kokoelman perusteita (List-dokumentaatio MSDN:ssä) - Tehtiin Lähin rage hiirestä -peli
- MjPilkkominen.cs (Kevät 2014)
- Lue omatoimisesti: Muiden tekemän koodin käyttämisestä omassa koodissa ja yleisesti akateemisesta rehellisyydestä
14. luento: Pelikenttä merkkijonosta, törmäykset, tägit, ym. (Video: HD, SD)
- Aloitettiin PelottavaPeli
- Luennon koodit
- Olioiden
Tag
-ominaisuus - Moniulotteiset taulukot (erityisesti 2-ulotteiset taulukot eli matriisit)
- M: 15.5 Moniulotteiset taulukot
- Lue myös 2D-taulukot luentomonisteen täydennyksistä
- Matriisit.cs
13. luento: Peruttu.
12. luento: Debuggaus, moniulotteiset taulukot (Video: HD, SD)
- Tehtiin CatchHeads-peli loppuun.
- Käytiin Jypelin toimintoja: ajastimet, pistelaskuri
- Lue omalla ajalla: Wiki: Debuggaus
- Luennon koodit
11. luento: Johdatus olio-ohjelmointiin (Video: HD, SD)
- Erittäin lyhyt johdatus olio-ohjelmointiin, erityisesti perintään
- Elain-, Koira- ja Kissa-luokat
- Palikat-peli ja Palikka-luokka
- Luennon koodit
10. luento: String, StringBuilder, olioviitteet (Video: HD, SD)
- M: 12.3 Muokattavat merkkijonot: StringBuilder
- Merkkijonoja.cs
- (Lue myös StringBuilder-luokan MSDN-dokumentaatio)
String
- jaStringBuilderin
(tehokkuus-)erot
- M: Oliotietotyypit, olioviitteet, M: Olioviitteiden ja alkeistietotyyppien ero
- muuttujat-muistiinpanot.txt
- Olioviitteet.cs
- Muistathan että vertailuoperaattorit
==
ja!=
toimivat myösString
-merkkijonojen sisällön vertailussa, toisin kuin esimerkiksi Javassa. - Vapaaehtoista lisälukemista: Viime vuoden kalvot olio-ohjelmoinnista (PDF) - tätä aihetta tullaan kyllä käsittelemään myöhemmällä luennolla, tässä vähän esimakua.
- Aloitettiin Catch Heads -peliä.
- Luennon koodit
9. luento: Taulukot, silmukat (Video: HD, SD)
- M: 16. Toistorakenteet
- Toistorakenteita ovat C#:ssa
while
,for
,do-while
, jaforeach
- Silmukat.cs (
do-while
)
- Toistorakenteita ovat C#:ssa
- M: 15. Taulukot
- Silmukoita voidaan käyttää taulukon alkioiden läpikäymiseen (esim. tulostaminen, summaaminen, ...)
- Taulukoita.cs
- Vapaaehtoista lisälukemista
- Miten luentojen koodi- ja muut tiedostot ladataan omalle koneelle
- Tämän luennon koodit
8. luento: Merkkijonot, ehtolauseet, ComTest (Video: HD, SD)
- M: 13. Ehtolauseet
- M: 16. Toistorakenteet
- Käytiin läpi
while
-toistorakenne. Toistorakenteita kutsutaan kavereiden kesken silmukoiksi. Silmukat.cs
. Kerrotaanluku
-muuttujaa 1.1:llä niin kauan että päästään yli 1000:n.MontaPalloa.cs
- Käytiin läpi
- Katso viime vuoden koodeista
- miten laitetaan lumiukko liikkeelle (mm. kontrollit, ajastin, painovoiman muutos)
PieninJaSuurin.cs
- esimerkki funktiosta jossaif
-lause.LumiukkoRiehuu.cs
- Tutki omatoimisesti miten käytetään Jypelin tasohyppelypeli-projektimallia, sekä miten lisätään kuva projektiin.
- Miten luentojen koodi- ja muut tiedostot ladataan omalle koneelle
- Tämän luennon koodit
6. luento: Aliohjelman paluuarvo, funktio ja parametrin välitys (Video: HD, SD)
- Jatkettiin funktioiden käsittelyä
- Muista: Vakiot merkitään
const
avainsanalla. Vakioiden nimeäminen, esim.const int VARPAITA = 5;
taiconst double OBJEKTIIVIN_POLTTOVALI_MM = 27.2;
- M: 9. Aliohjelman paluuarvo, eli funktiot
- Harjoitustyöstä.
- Katso omatoimisesti viime vuoden video: Versionhallinta ja harkkatyön vieminen versionhallintaan
- M: 12. Merkkijonot
- Luennon koodit
5. luento: muuttujat, operaattorit, funktio ja aliohjelman paluuarvo (Video: HD, SD)
- Heikki Salon (Qvantel Oy) vierailu
- M: 7. Muuttujat ja M: 7.7 Operaattorit
- M: 7.7.4 Aritmeettisten operaatioiden suoritusjärjestys
- Laskutoimituksen lopputulos riippuu tyypeistä, joita operoidaan. Esimerkiksi
4/3
\(\rightarrow\)1
(4
ja3
ovatint
-lukuja \(\rightarrow\) vastaus onint
) mutta(4.0 + 3) / 3
\(\rightarrow\)2.333...
(lausekkeen4.0 + 3
tyyppi ondouble
, jadouble
jaettunaint
-arvolla tuottaadouble
-tyyppisen arvon).
- Laskutoimituksen lopputulos riippuu tyypeistä, joita operoidaan. Esimerkiksi
- Socrative-kysymyksiä.
- M: 9. Aliohjelman paluuarvo, eli funktiot
- Esimerkkejä funktioista: Keskiarvo, Kolmion pinta-ala.
- Luennon koodit
4. luento: Visual Studio, aliohjelmat, muuttujat (Video: HD, SD)
- M: 6. Aliohjelmat, M: 6.5 Aliohjelman kuormittaminen
- Lumiukko.cs - Lumiukko, jolle säde ym. parametrina
- M: 7. Muuttujat
- M: 26.3 Binääriluvut: 10-järjestelmä ja 2-järjestelmä, lukujen esitys tietokoneessa
- Lue omatoimisesti ylläoleva monisteen luku
- Esimerkki: binääriluvun muuttaminen 10-järjestelmään ja toisinpäin
- Luennon koodit
3. luento: Lumiukko, aliohjelmat, muuttujat (Video: HD, SD)
- Katso kysymykset ja vastaukset (päivittyy hiljalleen)
- M: 10. Visual Studio
- Visual Studion asentaminen ja projektin luominen.
- Jos Visual Studio ei laita
public
-sanaa luokan ja aliohjelmien eteen automaattisesti; oletusnäkyvyys aliohjelmille onprivate
. Tällä kurssilla tehdään kuitenkin käytännössä ainapublic
-aliohjelmia, jotenpublic
kirjoitetaan aliohjelmien (ja luokan) eteen aina manuaalisesti. Asiasta lisää Ohjelmointi 2 -kurssilla.
- M: 6. Aliohjelmat, M: 2.4 Kommentointi, erityisesti M: 2.4.1 Dokumentointi
- Dokumentaatiokommentit tästä eteenpäin oltava jokaisessa luokassa ja jokaisessa aliohjelmassa.
- Esimerkki doxygenin tuottamasta Jypeli-kirjaston dokumentaatiosta.
- Lumiukko aliohjelmien avulla ja dokumentoituna.
- M: 7. Muuttujat
- M: 7.5 Muuttujien näkyvyys
- Luennon koodit
2. luento: Graafinen C#-ohjelma, aliohjelma (Video: HD, SD)
- M: 2. Ensimmäinen C#-ohjelma
- M: 4. Yksinkertainen graafinen C#-ohjelma
- Lumiukko.cs "tyhmästi" eli copy-pastettamalla
- Lumiukko aliohjelmien avulla ja dokumentoituna.
- Tutustuttiin myös Visual Studioon
- M: 2.4 Kommentointi ja dokumentointi. Dokumentoi kaikki luokat ja aliohjelmat
- Jypeli-kirjasto ja sen asennus. Kirjaston dokumentaatio.
- Näppäinoikoteitä näppäimistön käyttöä nopeuttamaan (NPO wikissä)
1. luento: Alkubyrokratia, komentorivi, yksinkertaisin C#-ohjelma (Video: HD, SD)
- Käytiin läpi kurssin kotisivut ja pelisäännöt
- Mitä ohjelmointi on
- Mitä ohjelmoinnilla voidaan tehdä
- Esim. GoogleMaps, Excel, Word, autojen jarrut + kaikki muu kontrolli
- MS Imagine Cup -kilpailut opiskelijoille: MS Imagine Cup 2008
- Vuoden 2009 Software design -kategorian voittaja: Upcity
- "3D-kuvaa 2D-kameralla"
- Arkipäiväisten asioiden helpottaminen, esim. monen kuvan koon pienentäminen automaattisesti.
- Komentorivi.
- Vastaa kurssin alkukyselyyn
- Motivaatio peleihin: mm. Project Natal Ces
- Esimerkkejä siitä, mitä kurssilla ja Jypeli-kirjastolla voidaan tehdä
- Aikaisempia harkkatöitä ja esimerkkipelejä 2015 2013, 2012, 2012 (nuorten kesäkurssit)
- Käsitekartta vastaavan Java-kurssin asioista, pätee suurimmalta osin tälläkin kurssilla
- M: 1. Mitä ohjelmointi on?
- M: 2. Ensimmäinen C#-ohjelma
- HelloWorld.cs
Viime vuoden luentoja
Voit tutkia aikaisempaa materiaalia tästä. Huomaa että tämän kevään luennot ja oppimateriaali voivat poiketa viime kevään materiaalista.
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.