Tämä on vuoden 2018 hakemistossa.
Ohjelmointi 1, C#, syksy 2018 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)
- 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 2018
- Mitä pitää osata kunkin viikon jälkeen
Syksyn 2018 aikataulu ja aiheet sekä videot
- tarkista että luennon jälkeen videon osoitteessa on 2018s (ei siis 2017?), 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 27.11.2018 klo 14:15-16:00: Kertausluento, Luentokysymyksiä
- luento pidetään TIMin luentokyselyillä
- luennolle tarvitaan tietokone/täppäri/älypuhelin, koittakaa pariutua
- Javan ja C#:in vertailua
- Katso luento 24 pohja
- Pallot.cs - alkuperäinen versio
- attribuutien poistoa - kurssin taidoilla
- Pallot.cs - käytetään ref-parametrin välitystä (erona alkuperäiseen)
- Pallot.cs - alkuperäinen versio
- Luennolle tehdyt koodit versionhallinnassa
- 24. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
23. luento: ma 26.11.2018 klo 12:15-14:00: Graafisen käyttöliittymän tekeminen
- Autolaskuri
- Katso luento 23 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
- Main.xaml - 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
- 23. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
22. luento: ti 20.11.2018 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: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
21. luento: ma 19.11.2018 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
21. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
Videoiden katsojana on ok jos siirrät kysymykset toiselle ruudulle ja katson ne eri paikasta.
—20. luento: ti 13.11.2018 klo 14:15-16:00: Poikkeukset, Delegaatti ja Lambda-lauseke, ohjelman suoritusaika
- rekurssion käyttökohteita
- 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
- 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
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 20. luento videona: Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
19. luento: ma 12.11.2018 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 6.11.2018 klo 14:15-16:00: Tiedoston lukeminen ja käsitely
- 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
- Aika.cs - esimerkki, jossa yhdistetään kahden erilaisen tiedoston sisältöä
- 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 Osa 2 MP4 alkuperäinen, MP4 kännykkäversio
- 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
- 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 5.11.2018 klo 12:15-14:00: Pelin tekeminen
- Vuoden 2015 esimerkki: Hirsipuu
- Vuoden 2013 esimerkki: AmebaDanceWars refaktorointi, if-lauseiden vähentäminen olioita käyttämällä
- AmebaDanceWars: ks: s2013 luennot
- 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 30.10.2018 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
- Jypelin toiminta:
- Jypelin "arkkitehtuurikuva"
- Jypelin suoritus -kaavio miten oma koodi on suhteessa Jypelin-koodiin (Framework)
- 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 29.10.2018 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ä) - Listat.cs
- Listat.cs - luennolla taulukoista listoiksi muutettu esimerkki
- Käytiin läpi
- Tekstuuri neliölle (ohje NPO-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 23.10.2018 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.
- Matriisit.cs - luennolla tehty esimerkki kokonaislukumatriisista
- Pisteitä (
Vector
) listassa: - Kehitettiin AngryLego-peliä, luennon aikana tehdyt muutokset
- TileMap.cs - katso Insert-metodin toteutusta
- Jypelin "arkkitehtuurikuva"
- Jypelin suoritus -kaavio miten oma koodi on suhteessa Jypelin-koodiin (Framework)
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 14. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
Heippa! Onko mahdollista saada näiden luentojen aloitus koodit jostain? Kun yritän kopioda sitä valmiista koodista ja poistella sitten tehdyt asiat niin rikkihän se menee.
VL: Esim luento 14 saa tuolta:
https://trac.cc.jyu.fi/projects/ohj1/log/esimerkit/2017s/luennot/live14
kun klikkaa sitä alinta versiota aina.
—13. luento: ma 22.10.2018 klo 12:15-14:00: Merkkijonojen paloittelu. Harjoitustyön aloittaminen.
Muu sisältö: pelikenttä merkkijonosta
- M: 17. Merkkijonojen paloittelu
- Elävän elämän esimerkki: Raportista pitää poista tuhansia rivejä: Suodata.cs
- MjPilkkominen.cs
- Vuoden 2017 13. luento videona, jossa merkkijonojen pilkkominen: MP4 alkuperäinen
- Pelikenttä merkkijonosta:
- Matriisit.cs - matriisiesimerkkejä
- 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 16.10.2018 klo 14:15-16:00: Moniulotteiset taulukot
- TIM-lisäsivut: 1-ulotteiset taulukot
- Kutsuminen.cs - esimerkkejä 1-ulotteisen taulukon käyttämisestä
- SuurinJaPienin.cs - mm. suurimman ja pienimmän sekä tietyn luvun etsiminen
- LumiukotTaulukolla.cs - lumiukon pallot taulukkoon
- TIM-lisäsivut: 2-ulotteiset taulukot
- M: 15.5 Moniulotteiset taulukot
- Matriisit.cs -esimerkki 2-ulotteisesta taulukosta
- MoniulotteisetTaulukot.cs - muista esimerkkejä 2D-taulukoista, esim. merkkijonotaulukko
- KentanMuokkaus.cs, moniulotteisten taulukkojen hyödyntäminen käytännössä
- 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 15.10.2018 klo 12:15-14:00: Olioviitteet (Insitu-luento)
Muu sisältö: Aliohjelmien tekeminen, taulukot, silmukat, if-lauseet, etsiminen, debuggaus
- Alkukysely
- muista animaatiot
- 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)
- 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
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 11. luento videona: Osa 1 ja2 MP4 alkuperäinen, MP4 kännykkäversio
- Katso alkuosassa myös kutsunäytelmän videota
- luentoseinä
10. luento: ti 9.10.2018 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 8.10.2018 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 02.10.2018 klo 14:15-16:00: Ehtolauseet
Muu sisältö: String, StringBuilder, ehtolauseet, ComTest
- Pahasti Pihalla
- M: 13. Ehtolauseet
- Lue demoja varten myös: Aliohjelminen kutsuminen
- Tee omatoimisesti Pong-tutoriaalin vaiheet 1-3. Demoissa tehdään sitten 4-7.
- Voit tehdä myös Läpsylintu-tutoriaalin
- Lukuja.cs - esimerkki funktiosta jossa if-lause
- Jypeli-esimerkkipelien lataaminen SVN-palvelimelta
- 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ä
Korjasin tuon 8.luennon linkin tämän vuoden luentoa vastaavaksi.
—7. luento: ma 01.10.2018 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
- Aliohjelmat
- Ohjelman synty ja testaaminen:
- Kolmion metsästyksen versiot
- Sisällön tuominen peliin
- Kolmiota.cs - luennon ohjelma valmiina. Sisältää mm. Kysy-metodin.
- KolmionMetsastysMono.cs - valmis 50% versio
- ComTest for Windows, ComTest for Mac and Linux
- 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 25.09.2018 klo 14:15-16:00: Aihe: aliohjelman paluuarvo,
funktio ja parametrin välitys (luentokysymyksiä)
- Visual Studion käyttö jatkuu...
- 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 25.09.2018 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
- 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
4. luento: ti 18.9.2018 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
- Esimerkki binääriluvun muuttamisesta 10-järjestelmään ja toisinpäin
- Khan Academy - esimerkkejä JavaScriptillä (kannattaa tehdä oheisharjoituksina)
- M: 7. Muuttujat
- LumiukkoAli.cs - lumiukko jossa myös pallot piirretään aliohjelmalla
- 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ä
Lumiukko tyhmästi = väärin?
Voiko ohjelmia tehdä tyhmästikin, vai onko se absoluuttisesti väärin?
- VL: voi tehdä tyhmästi, mutta silti toimii. Esim ylläpidon kannalta ratkaisut voivat olla huonoja.
3. luento: ma 17.9.2018 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
- Luennon koodit versionhallinnassa
- 3. luento videona Osa 1 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
Koska tulee 2019s luentojen videot näkyviin?
—2. luento: ti 11.9.2018 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 (versio 4).
- Näppäinoikoteitä näppäimistön käyttöä nopeuttamaan (NPO wikissä)
- Tiedoston sisältö binäärisenä
- Luennolla tehdyt koodit
- 2. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
1. luento: ma 10.9.2018 klo 12:15-14:00: Aihe: Alkubyrokratia, komentorivi, yksinkertaisin C#-ohjelma
- 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 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 em .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
- Julkkiskin haluaa pysyä ajan hermolla
- 1. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- Jos haluat katsoa luentovideoita, niin tiedostoja ei tarvitse välttämättä ladata, vaan videoita voi streamata (suoratoisto).
- luentoseinä
Syksyn 2017 luennot
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.