Ohjelmointi 1, C#, syksy 2021 Luennot
Luennot ovat alempana käänteisessä aikajärjestyksessä. Yleensä kaksi tulevaa odottamassa ja sen alapuolella jo pidetyt luennot ja vielä sen alapuolella edellisenä vuonna pidetyt luennot. Kunkin luennon kohdalla on tieto luennolla käsitellyistä asioista sekä linkkejä mahdollisiin ohjelmalistauksiin joita luennolle/luennolla on tehty. Ja aina kunkin luennon kohdan lopussa linkki luentojen videointeihin.
Linkkejä
- Live luennolle kirjaantuminen: http://r.jyu.fi/ohj1 - tee tämä aina salissa luennon aluksi.
- Luennot: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
- Luentotallenteet (pelkkä ääni MP3)
- Luentotallenteet Moniviestimessä tekstitettynä (automaatti, lähinnä vitsi), videoita kannattaa katsoa tällä sivulla alempaa kunkin luennon kohdalta
- Luentovideot TIM-sivuna - tässä voi muuttaa nopeutta, mutta niin voi alla olevissa videon kuvalla varustetuissa kohdissakin samoin kuin itse kunkin luennon sivulla :-)
- Demotehtävät ja vastaukset omalla sivullaan
- Videoiden hakemisto aihepiireittäin 2021
- Mitä pitää osata kunkin viikon jälkeen
- vuosien 2011-2020 videohakemistot
- Videoiden hakemisto aihepiireittäin 2018
- Videoiden hakemisto aihepiireittäin 2018
- Videoiden hakemisto aihepiireittäin 2018
- Videoiden hakemisto aihepiireittäin 2017
- Videoiden hakemisto aihepiireittäin 2016
- Videoiden hakemisto aihepiireittäin 2015
- Videoiden hakemisto aihepiireittäin 2014
- Videoiden hakemisto aihepiireittäin 2013
- Videoiden hakemisto aihepiireittäin syksy 2012
- Videoiden hakemisto aihepiireittäin syksy 2011
Syksyn 2021 aikataulu ja aiheet sekä videot
- tarkista että luennon jälkeen videon osoitteessa on 2021s (ei siis 2020?), silloin video on päivittynyt uudeksi. Yleensä aikaisintaan 2 tuntia ko. tapahtuman jälkeen. Jos vuosi on väärin, korjaa oikea siihen tilalle. Ennen luentojen pitämistä videolinkeissä on edellisen vuoden vastaava luento.
- videon nimi on muotoa luentoXXy.mp4, jossa XX on luennon numero, esim 01 ja y=a jos ensimmäinen luennon puolisko (tai luento pidetty kokonaan yhteen) ja y=b jos luennon toinen puolisko. Videon mobiiliversio on nimellä luentoXXy_m.mp4.
Tulossa
Pidetty
24. luento: ti 23.11.2021 klo 14:15-16:00: Graafisen käyttöliittymän tekeminen
Katsotaan yhdessä videolta ja Vesa vastailee kysymyksiin
- Autolaskuri
- Katso luento 24 ohjeet
- MainPage.xaml.cs - varsinainen ohjelma
- MainPage.xaml - ohjelman ulkoasu
- AutolaskuriProp
- MainPage.xaml.cs - versio, jossa KA ja HA propertyinä
- MainPage.xaml - ulkoasun kuvaus
- AutolaskuriBind
- MainPage.xaml.cs - versio, jossa laskurit liitettävinä (bind) komponetteina
- MainPage.xaml - ulkoasun kuvaus
- BindLaskuri.cs - laskuri joka voidaan liittää (bind)
- AutolaskuriAndroid
- Xamarin forms
- MainActivity.cs - varsinainen ohjelma
- activity_main.xml - ulkoasu (vielä todella vaatimaton)
- Tuomarikone
- Testisivu - Silverlightilla tehty testisivu (toimii vain Windows ja sielläkin IE).
- MainPage.xaml.cs - SL-version ohjelma
- MainPage.xaml - SL-version ulkoasu
- MainPage.xaml.cs - WP7-ohjelma
- MainPage.xaml - WP7-ulkoasu
- CycloLite
- taulukonharjoittelu
- Luennolle tehdyt koodit versionhallinnassa -
- Luennon koodit versionhallinnassa
- 24. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
23. luento: ma 22.11.2021 klo 12:15-14:00: Kertausluento, Luentokysymyksiä
- luento pidetään TIMin luentokyselyillä
- luennolle tarvitaan tietokone/täppäri/älypuhelin, koittakaa pariutua
- Javan ja C#:in vertailua
- Katso luento 23 pohja
- Pallot.cs - alkuperäinen versio
- attribuutien poistoa - kurssin taidoilla
- Pallot.cs - käytetään ref-parametrin välitystä (erona alkuperäiseen)
- Luennolle tehdyt koodit versionhallinnassa
- Pallot.cs - alkuperäinen versio
- 23. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
22. luento: ti 15.11.2021 klo 14:15-16:00: Liukulukujen esittäminen tietokoneessa, kertausta
- M: 26.6 Liukuluku (floating-point)
- Reaalilukujen esittäminen:
- intel16.txt - reaaliluvut Intelin prosesorissa
- desimaal.c - c-ohjelma, jolla voidaa tulostaa lukujen esitysmuoto
- Tarkkuus.cs - esimerkki miten reaaliluvut eivät ole tarkkoja
- esimerkit itse ajettavana koodina
- int-, long-, float- ja double-lukujen esityskyvyn rajat
- IntDoubleYms.cs
- Luennolle tehdyt koodit versionhallinnassa -
- Luennon koodit versionhallinnassa
- 22. luento videona. Luenon alkuosa: MP4 alkuperäinen, MP4 kännykkäversio
- 22. luento videona. Loput katsotaan vuoden 2019 videolta: MP4 alkuperäinen, MP4 kännykkäversio (aloita n. kohdasta 6:40)
- luentoseinä
21. luento: ma 14.11.2021 klo 12:15-14:00: Kertausta - Luentokyselyt
- ottakaa laitteet mukaan (kannettava, tabletti, älykännykkä)
- Kalevalasta pitää selvittää kunkin säkeen kolme 1. vokaalia
- Siirra.cs - luennolle tehty versio, jossa InSitu -kysymykset
- Siirra.cs - luennolla tehty versio, jossa jossa pelkkä vastaus
- Luennolle tehdyt koodit versionhallinnassa -
- Luennon koodit versionhallinnassa
- 21. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
20. luento: ti 09.11.2021 klo 14:15-16:00: Poikkeukset, Delegaatti ja Lambda-lauseke, ohjelman suoritusaika
- Poistot.cs - esimerkki delegaatista ja Lambda-lausekkeesta
- M: 24. Poikkeukset
Idea:
try { // poikkeusalttiit lauseet } catch(Poikkeusluokka p) { // lauseet poikkeuksen sattuessa } finally { // Lauseet jotka tehdään aina }
- TiedostoIsoksi.cs - poikkeus mikäli tiedostoa ei ole.
- Poikkeus.cs - esimerkkissä ComTestissä
#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. - finally
- Maarat.cs (värillinen versio) - käytiin läpi
- muita nopeustestejä
- Demo 9 G1-2 tehtävän erilaisia ratkaisuvaihtoehtoja ja miten kauan mikäkin veisi suoritusaikaa mm KuvaVertailua.cs
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 20. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
19. luento: ma 08.11.2021 klo 12:15-14:00: Rekursio
- M: 22. Rekursio
- Kertoma - esimerkki jossa määritelmä voidaan antaa itsensä avulla (=rekursiivinen määritelmä)
- Rekursion idea ja kertoma
- Rekursio.cs - luennon versio rekursiivisena ja iteratiivisena (silmukalla, ei saa laskea oikeasti muuten)
- kuvioita rekursion avulla:
- Droste Effect (1, 2)
- Sierpinskin kolmio ja muut fraktaalit
- Mandelbrotin joukko, Kochin lumihiutale
- SierpinskiKolmio.cs - luentomonisteen versio
- SierpinskiKolmio2.cs - versio jossa kolmiot piirretään heti Jypelin olioilla
- SierpinskiKolmio3.cs - versio jossa kolmiot piirretään viivoina Canvakselle ja jossa voi animoida syntyä
- SierpinskiMatto.cs
- Wikipedia: Sierpinski triangle, kuva eräästä toteutuksesta
- Haskell esimerkki rekursiosta
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 19. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
18. luento: ti 2.11.2021 klo 14:15-16:00: Tiedoston lukeminen ja käsittely
- M: 25. Tietojen lukeminen ulkoisesta lähteestä
- MSDN: How to: Read From a Text File
- Isoksi.cs - esimerkki filtteristä, eli joka lukee syötettä ja tulostaa sitä jotenkin muutettuna
- TiedostoIsoksi.cs - esimerkki, joka lukee tiedoston ja tulostaa sen isoilla kirjaimilla
- Kaino.cs - esimerkki, joka muuttaa Kotus-sanaston sanat Hirsipuupeliä varten sopivaksi
- Syksyllä 2011 tehtiin ohjelma, jonka avulla voi korjata luentomonisteen rikkinäiset linkit
- KorjaaMoniste.cs - "valmiiksi" korjattu versio
- KorjaaMoniste.cs - luennon jälkeinen tilanne
- Syksyn 2011 luennon koodit versionhallinnassa
- Syksyn 2011 videot: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- Syksyllä 2019 tehtiin ohjelma, jolla havainnolistetaan ajankäyttöä vs saatuja pisteitä
- Aika.cs - ajankäyttö vs demopisteet, esimerkki, jossa yhdistetään kahden erilaisen tiedoston sisältöä
- Syksyn 2019 videot: Osa 1 MP4 alkuperäinen
- Katsottiin kuvankäsittelyä
- Kuvankasittely
- Konvoluutio kuvan käsittelyyn - lataa ja aja
java -jar konvo.jar
- Kuva.cs - demo9 pohjatiedosto kuvan käsittelylle
- Palapeli.cs - demo9 pohjatiedosto palapelille
- Hirsiauta.cs - apuohjelma hirsipuun pelaamiseksi
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 18. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
17. luento: ma 1.11.2021 klo 12:15-14:00: Pelin tekeminen
- Vuoden 2015 esimerkki: Hirsipuu
- Vuoden 2012 esimerkki: Lumiukot oliolla:
- ks: s2012 luennot
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 17. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
16. luento: ti 26.10.2021 klo 14:15-16:00: Oliot
Muu sisältö: listat, silmukat, muuttujien näkyvyys, hiiren kuuntelu (Jypeli)
- Kuvatiedosto
- Muuttujien näkyvyys
- M: 23. Dynaamiset tietorakenteet
- Hiiren kuuntelu
- Oliot (ei kurssiasiaa, mutta voi auttaa harjoitustyössä selkeyttämään)
- Yksinkertaisesti pikkuluokkia
- Elaimet.cs - pohjaksi Kissa ja Koira-luokka
- ElaimetPerimalla.cs - toteutettu perinnällä sekä lista Elaimista (polymorfismi)
- sama sovellettuna Jypeliin
- Yksinkertaisesti pikkuluokkia
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 16. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
- PP1. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
15. luento: ma 25.10.2021 klo 12:15-14:00: Dynaamiset tietorakenteet: lista
Muu sisältö: Funktioiden kutsuminen, taulukot
- M: 23. Dynaamiset tietorakenteet
- Käytiin läpi
List<T>
-kokoelman perusteta (List-dokumentaatio MSDN:ssä) - LaskeMatka.cs - luennolla tehdyt muutokset eli pisteet listaksi.
- Listat.cs
- Listat.cs - luennolla taulukoista listoiksi muutettu esimerkki
- Käytiin läpi
- Tekstuuri neliölle (ohje Jypeli-wikissä)
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 15. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
14. luento: ti 19.10.2021 klo 14:15-16:00: Matriisit, Taulukko vektoreista, Törmäysten käsittely (Jypeli), laskurit (Jypeli).
Muu sisältö: moniulotteiset taulukot
- Demopohjan hakeminen
- M: 15.5. Moniulotteiset taulukot.
- M: 16.8.1 break
- Jypeli:
- Jypelin ohjeet
- Jypelin "arkkitehtuurikuva"
- GameObject
- Jypelin suoritus -kaavio miten oma koodi on suhteessa Jypelin-koodiin (Framework)
- Kehitettiin AngryLego-peliä,
- TileMap.cs - katso Insert-metodin toteutusta
- Matriisit.cs - luennolla tehty esimerkki kokonaislukumatriisista
- Pisteitä (
Vector
) listassa: - Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 14. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
13. luento: ma 18.10.2021 klo 12:15-14:00: Merkkijonojen paloittelu. Harjoitustyön aloittaminen.
- M: 17. Merkkijonojen paloittelu
- Pelikenttä merkkijonosta:
- Matriisit.cs - matriisiesimerkkejä
- KentanMuokkaus - muutetaan taulukko merkkijonoksi, erot luennon 12 versioon
- AngryLego.cs - peli aluille, kenttä merkkijonosta (ks: ruutukenttä)
- Katso myös video GalaxyTripin tekemisestä ja sen lähdekoodi.
- Muita "livenä tehtyjä" harjoitustyön tasoisia "pelejä":
- Tiernapoikapeli yliopiston pikkujouluja varten 2013:
- 2013 esimerkki: AmebaDanceWars refaktorointi, if-lauseiden vähentäminen olioita käyttämällä
- pohjaksi AmebaDanceWars.cs
- koko muutoshistoria
- .cs (diff) - lisätty Ameba-luokka ja omaAmeba osaa tanssia
- .cs (diff) - lisätty !VastusAmeba-luokka, joka osaa arpoa ja tehdä omat liikeensä
- .cs (diff) - lisätty !OmaAmeba-luokka, joka osaa tallettaa omat suoritukset ja periaatteessa laskea pisteet
- .cs (diff) - lisätty !SuoritusValmis-delegaatti -tyyppi, jolla ameba voi ilmoittaa, että pyydetty homma on tehty
- .cs (diff) - vaihdettu luokan nimeksi !TanssiAmeba ja lisätty joukko taustatanssijoita, korjattu myös että arpoo liikkeitä tason mukaan (ennen otti määrän aina Begin-metodin suoritushetkellä).
- muunneltu versio olioilla AmebaDanceWars.cs
- Luennon koodit versionhallinnassa (valmista ohjelmaa varten ota hakemistosta .exe, .dll ja content-kansion kaikki tiedostot).
- luento videona MP4 alkuperäinen, MP4 kännykkäversio
- Kuvaaja.cs - pohja demo 7 tehtäville
- Taulukot.cs - pohja taulukkotehtäville
- AngryLego.cs - luentojen yksinkertaisin versio, muutama seinä, ei vielä liikettä
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 13. luento videona Osa 1 ja2 MP4 alkuperäinen, MP4 kännykkäversio
12. luento: ti 12.10.2021 klo 14:15-16:00: Aliohjelmien kutsuminen, etsiminen taulukosta
- Näytelmä aliohjelmien kutsumisesta
- Näytelmä videona - käynnistä yhtäaikaa katsoessasi luennon videointia.
- Kutsuminen.cs - näytelmässä käytetty koodi
- Kutsuminen.asm - koodi optimoidusti käännettynä konekielelle (näkee kun painaa
Ctrl-Alt-D
debuggauksen aikana)
- Talukoista:
- SuurinJaPienin.cs -taulukon Suurimman ja pienimmän etsiminen
- Matriisit.cs -esimerkki matriiseista
- 1-ulotteiset taulukot
- TIM-lisäsivu 2D-taulukoista
- Kutsuminen.cs - esimerkkejä 1-ulotteisen taulukon käyttämisestä
- SuurinJaPienin.cs -
- suurimman ja pienimmän sekä tietyn luvun etsiminen
- LumiukotTaulukolla.cs - lumiukon pallot taulukkoon
- Tutustu: demo 5 gurutehtävien malliratkaisut.
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 12. luento videona: Osa 1 ja 2 MP4 alkuperäinen MP4 kännykkäversio
- luentoseinä
11. luento. ma 11.10.2021 klo 12:15-14:00: Olioviitteet, 2-ulotteiset taulukot
Muu sisältö: Aliohjelmien tekeminen, taulukot, silmukat, if-lauseet, etsiminen, debuggaus, pelikenttä merkkijonosta
- Alkukysely
- muista animaatiot
- M: 10.3 Debuggaus
- M: 8. Oliotietotyypit, luokat ja oliot
- M: 14. Olioiden ja alkeistietotyyppien ero
- SuurinJaPienin.cs - taulukon Suurimman ja pienimmän etsiminen
- SuurinJaPienin.cs - luennolla tehty versio jossa ei päästy yhtä pitkälle
- TIM-lisäsivut: 2-ulotteiset taulukot
- M: 15.5 Moniulotteiset taulukot
- LumiukotTaulukolla.cs - lumiukon pallot taulukkoon
- Matriisit.cs -esimerkki 2-ulotteisesta taulukosta
- KentanMuokkaus.cs, moniulotteisten taulukkojen hyödyntäminen käytännössä
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 11. luento videona: Osa 1 ja2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
10. luento: ti 5.10.2021 klo 14:15-16:00: Taulukot, silmukat
- TIM lisäsivu taulukoista
- M: 16. Toistorakenteet
while
-silmukka,for
-silmukka,do-while
-silmukka- MontaPalloa.cs
- DoWhile.cs
- M: 15. Taulukot
- TIM-sivu taulukoista
- Pallot.cs - motivointi silmukoihin ja taulukoihin
- Silmukoiden käyttäminen taulukon alkioiden läpikäymiseen (esim. tulostaminen, summaaminen, ...)
- Taulukoita.cs
- Taulukoita.cs- luennolla tehty hieman suppeampi versio
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 10. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
9. luento: ma 4.10.2021 klo 12:15-14:00: Aliohjelmien kutsuminen, String, StringBuilder
Muu sisältö: ehtolauseet, luokan käyttäminen sekä olioviitteet
- Pong-muutokset kurssia varten
- TIM-sivu aliohjelmien kutsumisesta
- AliohjelmienKutsuminen.cs - esimerkkejä aliohjelmien kutsuista
- M: 12.3 Muokattavat merkkijonot: StringBuilder
- StringVsStringBuilder.cs - String vs. StringBuilder nopeus
- IntVsDouble.cs - int vs. double nopeus
- M: 13. Ehtolauseet
- M: 13.6.1 Operaattoreiden totuustaulut
- HUOM! Vertailuoperaattorit == ja != toimivat myös
String
-merkkijonojen ''sisällön'' vertailussa, toisin kuin esimerkiksi Javassa. Mutta eivät toimiStringBuilder
-jonoille! - Totuustaulut
- HUOM! Vertailuoperaattorit == ja != toimivat myös
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 9. luento videona: Osa 1 ja2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
8. luento: ti 28.09.2021 klo 14:15-16:00: Ehtolauseet, String
- Pahasti Pihalla
- M: 13. Ehtolauseet
- Lue demoja varten myös: Aliohjelminen kutsuminen
- Muista aina katsoa välillä C#-pikasyntaksi
- Tee omatoimisesti Pong-tutoriaalin vaiheet 1-3. Demoissa tehdään sitten 4-7.
- Voit tehdä myös Läpsylintu-tutoriaalin
- Voit tehdä myös Läpsylintu-tutoriaalin
- Lukuja.cs - esimerkki funktiosta jossa if-lause
- M: 12. Merkkijonot
- String-luokan MSDN-dokumentaatio
- StringBuilder-luokan MSDN-dokumentaatio
- Merkkijonoja.cs - esimerkkejä merkkijonoista ja kirjaimista sejä merkijonofunktiosta
- Jonoja.cs - esimerkkejä merkkijonofunktioista
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 8. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
7. luento: ma 27.09.2021 klo 12:15-14:00: HT, ehtolauseet (luentokysymyksiä)
Muu sisältö: Visual Studio, parametrin välitys, muuttujat, funktiot, testaaminen
- Katso animaatio funktion kutsumisesta
- Muistutuksia demotehtävien nimeämisistä
- Ei ääkkösiä eikä välilyöntejä tiedostojen, eikä luokkien nimiin
- Luokan nimi samaksi kuin tiedoston nimi. C#:ssa tämä on suositus, Javassa näin on pakko tehdä. Yhtenäisyyden vuoksi toimimme kuitenkin näin.
- Luokkien ja aliohjelmien nimet alkavat isolla, muuttujien (ja siten myös parametrien) pienellä.
- M: 28. Syntaksin kuvaaminen
- Harjoitustyö:
- M: 10. Visual Studio
- Aliohjelmien kirjoittaminen
- Ohjelman synty ja testaaminen:
- Kolmiota.cs - luennon ohjelma valmiina. Sisältää mm. Kysy-metodin.
- Sisällön tuominen peliin
- KolmionMetsastys.cs - valmis 50% versio
- Kolmion metsästyksen versiot
- ComTest for Windows, ComTest for Mac
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 7. luento videona. Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
6. luento: ti 21.09.2021 klo 14:15-16:00: Aihe: aliohjelman paluuarvo, funktio ja parametrin välitys (luentokysymyksiä)
- Visual Studion käyttö jatkuu...
- M: 26.4 Negatiiviset binääriluvut
- M: 7. Muuttujat
- M: 28. Syntaksin kuvaaminen
- M: 9. Aliohjelman paluuarvo
- Keskiarvon laskeminen, funktioesimerkkejä
- Laskuja.cs - luennon esimerkki, jossa edellisen luennon paperitehtävän funktio toteutettu ja testattu.
- Funktioita.cs
- FunktioitaNC.cs - sama ilman kommentteja, jotta rakenne näkyy paremmin
- Esimerkki syntyneestä dokumentaatiosta, jossa ComTest-esimerkit mukana.
- Käyttäjän vuorovaikutus
- LumiukkoVoima.cs - lumiukko jossa käyttäjä voi vaikuttaa "peliin".
- Katso myös Voimia ja sitominen
- Harjoitustyön suunnitelma
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 6. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
5. luento: ma 20.09.2021 klo 12:15-14:00: Aihe: Visual Studio, aliohjelmat, muuttujat (vastaaminen luentokysymyksiin)
- MUISTAKAA TEHDÄ luentovideoista hakemisto
- Ollaan aliohjelmia
- Luentokysymyksiä
- M: 10. Visual Studio
- Aliohjelmat:
- M: 6. Aliohjelmat, metodin kuormittaminen
- Laskuja.cs - yksinkertainen esimerkki funktioaliohjelmasta joka laskee ja PALAUTTAA keskiarvon
- LaskujaTest.cs - ComTestin generoima NUnit-tiedosto
- LumiukkoAli.cs - kuormitettu
PiirraLumiukko
- KaannaTaulukko.cs - taulukon kääntäminen tyhmästi
- KaannaTaulukkoAli.cs - taulukon kääntäminen aliohjelmalla (vielä puuttuu jotakin, mitä???)
- Matka.cs - idean alkua muunnokselle
- Jypelin "arkkitehtuurikuva"
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 5. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
- Itsenäisesti katsottavaksi: tietokoneen toiminnasta:
- Katso myös YouTubesta suurennettu tietokone
Mulla ei äänet toimi luennon 5 S2021 tallenteessa. Voisiko tähän saada äänellisen version?
VL: mulla oli valittu väärä äänilähde ja siksi 2021 videoissa ei ole ääntä :-( Laitan linkit 2020 videoon… Isoin ero on ehkä että “leikissä” vuosi sitten oli roolina “tarkkailija” ja nyt vaihdoin sen lähemmäksi ohjelmointia eli “testaaja”.
—4. luento: ti 14.9.2021 klo 14:15-16:00: Aihe: Aliohjelmat, muuttujat
- M: 26.1 Lukujärjestelmät: 10-järjestelmä ja 2-järjestelmä, lukujen esitys tietokoneessa
- ks esimerkki bitistä TIEP114 -kurssilta
- Khan Academy - esimerkkejä JavaScriptillä (voi tehdä oheisharjoituksina)
- M: 7. Muuttujat
- LumiukkoAli.cs - lumiukko jossa myös pallot piirretään aliohjelmalla
- Muuttujat.cs - esimerkki muuttujista
- Muuttujat.java - sama esimerkki Javalla
- Eri versioiden välinen ero
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 4. luento videona Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
3. luento: ma 13.9.2021 klo 12:15-14:45: Aihe: Yksinkertainen graafinen C#-ohjelma, aliohjelmat, dokumentointi
- osallistu tekemään luentovideoista hakemisto
- Kurssin postilistat ja niiden arkistot
- Kurssin keskustelualue
- faktaa vai fiktiota?
- M: 6. Aliohjelmat
- Lumiukot tyhmästi
- Lumiukko aliohjelmien avulla ja dokumentoituna.
- Lumiukot-koodin dokumentaatio
- M: 2.4 Kommentointi
- Dokumentaatiokommentit tästä eteenpäin oltava jokaisessa luokassa ja jokaisessa aliohjelmassa.
- Esimerkki doxygenin tuottamasta Jypeli-kirjaston dokumentaatiosta.
- M: 7.5 Muuttujien näkyvyys
- Muuttujat.cs - esimerkki muuttujista
- Muuttujat.java - sama esimerkki Javalla
- Matka.cs
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 3. luento videona Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
2. luento: ti 7.9.2021 klo 14:15-16:00: Aihe: yksinkertainen graafinen C#-ohjelma
Muu sisältö: Tekstinkäsittely, näppäinoikotiet
- Demotehtävien tarkastelua
- pääteohjauksiin osallistujien määrän laskeminen
- Excelillä
- AWKilla
- HelloWorld muilla kielillä
- M: 2. Ensimmäinen C#-ohjelma - kerrataan syntaksia ja kääntämistä
- M: 3.5 Peräkkäisyys
- M: 4. Yksinkertainen graafinen C#-ohjelma
- Lumiukko.cs
- Jypeli-kirjasto ja sen asennus. Kirjaston dokumentaatio.
- Näppäinoikoteitä näppäimistön käyttöä nopeuttamaan (NPO wikissä)
- Tiedoston sisältö binäärisenä
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 2. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
1. luento: ma 6.9.2021 klo 12:15-14:00: Aihe: Alkubyrokratia, komentorivi, yksinkertaisin C#-ohjelma
Hirveästi toimimattomia ja tosi vanhoja linkkejä. Nämä pitäisi siivota jos käytetään avoimen kurssilla. -AJL
vl: täähän on syksyn 2021 lainaus ja pitää miettiä miten koko luentoja lainataan, sama koskee seuraavaa kommenttia
Varmaan voi jättää otsikon lainaamatta ja kirjoittaa avoimen toteutukseen oman otsikon. -AJL
VL: silloin tuo mun luentosivu pitää rakennella hieman eri tavalla niin että otsikko on oma lohkonsa ja teksti omanaan että voi lainata eri tavoin. Siksi sitä pitää miettiä molempien perspektiivistä.
—Otsikoissa ei tarvitse päivämääriä eikä kellonaikoja. -AJL
—- 3 tärkeää asiaa
- Kurssin kotisivujen ja pelisääntöjen läpikäynti
- Vastaa kurssin esitietokyselyyn
- Mitä ohjelmoinnilla voidaan tehdä
- Työpaikat
- "Tärkeintä on osata kehittää uutta, ettei vain seuraile muita. Tällöin pitää tuntea olemassa olevat rakennuspalikat ja osata rakentaa niistä jotain uutta." Mika Helenius, toiminnanjohtaja, TIVIA ry.
- Esim. GoogleMaps, Oma kartta
- TIM
- Excel, Word, autojen jarrut + kaikki muu kontrolli
- MS Imagine Cup -kilpailut opiskelijoille.
- MS Imagine Cup 2008, lyhyempi tekstitetty versio
- edellisen pidempi versio joka on koostettu Micropsoftin videoista
- Imagine Cup 2013 voittajat
- "3D-kuvaa 2D-kameralla"
- Työpaikat
- Motivaatio peleihin
- KSML artikkeli leikin vaikutuksesta oppimiseen
- Project Natal Ces http://www.youtube.com/watch?v=Ay9mpb0TN3g
- Esimerkkejä siitä, mitä kurssilla ja Jypeli-kirjastolla voidaan tehdä
- GalaxyTrip, AngryLego (arvosteluja) ja Tankkipeli
- Aikaisempia harkkatöitä ja esimerkkipelejä (jos sinulla ei facebook-tiliä, niin katso täältä)
- Syksy 2014
- Kevät 2012 harjoitustöitä
- Koripallopeli
- Fall Down
- Viimeinen Systeemi
- Esimerkkejä NPO-kurssilta
- Jumpy Jumpie
- Rampege
- Hyppijä
- Palikkatesti WMV
- Auto ja pyörivä ukko, R2->R funktio. (Java-kurssin esimerkkejä) (Seuraava ei enää toimi: Kuinka saat Appletit käyttöön)
- Konvoluutio kuvan käsittelyyn (lataa
konvo.jar
ja käynnistä)
- Käsitekartta vastaavan Java-kurssin asioista, pätee suurimmalta osin tälläkin kurssilla
- Komentorivi
- Ohjelman kääntäminen komentoriviltä
- Mahdollisimman paljon koneen käyttöä muuten kuin hiirellä
- Vuoden 2007 materiaali Windowsin komentorivistä
- Vuoden 2007 materiaali Linuxin käytöstä Jyväskylän yliopistossa.
- Komentorivistä muita linkkejä: Työvälinekurssin moniste
- M: 1. Mitä ohjelmointi on? TIM
- M: 2. Ensimmäinen C#-ohjelma TIM
- Mitä kääntäminen tekee
- Julkkiskin haluaa pysyä ajan hermolla
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 1. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
Syksyn 2020 luennot
Pidetty
Syksyn 2016 luennot
3D. luento: ti 29.11.2016 klo 12:15-12:45 (MaA 102): Matriisit ja 3D-grafiikka
- ks: 3D-grafiikka ja lineearialgebra
- 3D. luento videona
- Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- 2015 versio: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
Syksyn 2015 luennot
M1. luento: ma 30.11.2015 klo 14:15-16:00: Pelin siirtäminen puhelimeen
Ei luentoa, katsotaan alla olevat videot ja tehdään harkka.
- Pelin siirtäminen puhelimeen
- Mobiilin jatko-osan Wiki-sivut
- Koko esimerkkiprojekti
- GalaxyTrip.cs - ennen puhelinmuutoksia (tosin vibrat pitäisi olla vielä poissa)
- GalaxyTrip.cs - puhelinmuutosten jälkeen
- Muutokset puhelimen takia
- Luennolle tehdyt koodit versionhallinnassa
- M1. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- s2013 (VS2012): Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
Syksyn 2013 luennot
M1. luento: ti 3.12.2013 klo 16:00-18:00: Pelin siirtäminen puhelimeen
- Pelin siirtäminen puhelimeen
- Mobiilin jatko-osan Wiki-sivut
- Koko esimerkkiprojekti
- GalaxyTrip.cs - ennen puhelinmuutoksia (tosin vibrat pitäisi olla vielä poissa)
- GalaxyTrip.cs - puhelinmuutosten jälkeen
- Muutokset puhelimen takia
- Luennolle tehdyt koodit versionhallinnassa
- M1. luento videona
- Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
24. luento: ti 26.11.2013 klo 14:15-16:00: Esimerkki pelin tekemisestä
- Tiernapoikapeli laitoksen pikkujouluja varten.
- "Valmis" tiernapoikapeli
- Luennon koodit versionhallinnassa
- Luennolle tehdyt koodit versionhallinnassa
- Tietoturva-asiat
- luento videona
- Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luento videona
- Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
Vanhojen kurssien luentojen aiheet
- Kevät 2016 - C# / Antti-Jussi Lakanen
- Syksy 2015 - C# / Vesa Lappalainen
- Kevät 2015 - C# / Antti-Jussi Lakanen
- Syksy 2014 - C# / Vesa Lappalainen
- Kevät 2014 - C# / Antti-Jussi Lakanen
- Syksy 2013 - C# / Vesa Lappalainen
- Kevät 2013 - C# / Antti-Jussi Lakanen
- Syksy 2012 - C# / Vesa Lappalainen
- Kevät 2012 - C# / Antti-Jussi Lakanen
- Syksy 2011 - C# / Vesa Lappalainen
- Kevät 2011 - C# / Antti-Jussi Lakanen
- Kevät 2010 - C# / Antti-Jussi Lakanen
- Syksy 2010 - Java / Vesa Lappalainen
- Syksy 2009 - Java / Vesa Lappalainen
- Syksy 2008 - Java / Vesa Lappalainen
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.