Luennot
Jos haluat katsoa viime kevään luentoja (vaikkapa tutustua aiheeseen etupainotteisesti), niin ne löytyvät alapuolelta.
Kevään 2022 luennot
Luentojen aiheet sekä luentotallenteiden linkit ilmestyvät tähän.
#
luento01
1. luento: Alkubyrokratia, komentorivi, yksinkertaisin C#-ohjelma
- 📺 Katso tallenne
- Kalvot
- Opintojakson rakenne, kotisivut ja pelisäännöt
- Komentorivi
- Vastaa kurssin esitietokyselyyn
- 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
- Monisteen täydennys: Mitä ohjelmointi on
Miten luentojen mallikoodit ladataan omalle koneelle? Vastaavasti kuin demot, mutta gitlab-varaston osoite on https://gitlab.jyu.fi/tie/ohj1/2022k/esimerkit.git.
#
luento02
2. luento: Graafinen C#-ohjelma
- 📺 Katso tallenne
- Kalvot
- M: 2. Ensimmäinen C#-ohjelma
- M: 4. Yksinkertainen graafinen C#-ohjelma
- Lumiukko.cs copy-pastettamalla palloja
- Tutustuttiin 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ä)
- Luennon koodit
3. luento: Lumiukko, aliohjelmat
- 📺 Katso tallenne
- 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.
- Luennon koodit
#
luento04
4. luento: Visual Studio, aliohjelmat, muuttujat
- 📺 Katso tallenne
- Kalvot
- M: 6. Aliohjelmat, M: 6.5 Aliohjelman kuormittaminen
- M: 7. Muuttujat, M: 7.5 Muuttujien näkyvyys
- M: 26.1. -- 26.3 Binääriluvut: 10-järjestelmä ja 2-järjestelmä, lukujen esitys tietokoneessa
- Lue omatoimisesti ylläolevat monisteen luvut 26.1 -- 26.3.
- Luennon koodit
#
luento05
5. luento: muuttujat, operaattorit, funktio ja aliohjelman paluuarvo
- 📺 Katso tallenne
- 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
#
luento06
6. luento: Funktio, ehtolause
- 📺 Katso tallenne
- Kalvot
- M: 9. Aliohjelman paluuarvo, eli funktiot
- Jatkettiin funktioiden käsittelyä
- Katso myös aiempi vastaava Funktioita.cs
- Vakioista: Muista, että vakiot merkitään
const
avainsanalla. Vakioiden nimeäminen, esim.const int VARPAITA = 5;
taiconst double OBJEKTIIVIN_POLTTOVALI_MM = 27.2;
- Harjoitustyön aikataulutus.
- Suunnitelma palautettava demo 5 mennessä deadlinea edeltävään perjantaihin mennessä.
- M: 13. Ehtolauseet
- Luennon koodit
#
luento07
7. luento: Testaaminen, ComTest, merkkijonot
- 📺 Katso tallenne
- M: [11. Testaaminen]
- M: 12. Merkkijonot
String
-luokan MSDN-dokumentaatio- NimikirjaimetEsim.cs (*vuoden 2019 esimerkki)
- Luennon koodit
#
luento08
8. luento: Merkkijonot, ehtolauseet, ComTest
- 📺 Katso tallenne
- Kalvot
- M: 11. Testaaminen
- M: 13. Ehtolauseet
- M: 16. Toistorakenteet
- Katso aikaisemman vuoden koodeista
PieninJaSuurin.cs
- esimerkki funktiosta jossaif
-lause.- miten laitetaan lumiukko liikkeelle (mm. kontrollit, ajastin, painovoiman muutos)
- Tutki omatoimisesti miten käytetään Jypelin tasohyppelypeli-projektimallia, sekä miten lisätään kuva projektiin.
- Luennon koodit
#
luento9
9. luento: Debuggaus, taulukot
- 📺Katso tallenne
- Kalvot
- M: 15. Taulukot
- Debuggaus. Opiskele Debuggaus-materiaali ja lue monisteen Debuggaus-luku.
- Luennon koodit
#
luento10
10. luento: StringBuilder, arvo- ja viitetyypit
- 📺Katso tallenne
- Kalvot
- M: 12.3 Muokattavat merkkijonot: StringBuilder
- Merkkijonoja.cs
- (Lue myös StringBuilder-luokan MSDN-dokumentaatio)
String
- jaStringBuilderin
(tehokkuus-)erot merkkijonojen toistuvassa yhdistelyssä
- Olioviitteet, pino ja keko
- M: 8.3 Oliotietotyyppien ja alkeistietotyyppien ero
- Luennon koodit
#
luento11
11. luento: Olio-ohjelmointi
- 📺Katso tallenne
- Kalvot
- Johdatus olio-ohjelmointiin.
- Luennon koodit
#
luento12
12. luento: Olio-ohjelmointi
#
luento13
13. luento: Matriisit
- 📺 Katso tallenne
- Moniulotteiset taulukot
- M: 15.5 Moniulotteiset taulukot
- Lue 2D-taulukot luentomonisteen täydennyksistä
- Luennon koodit
#
luento14
14. luento: Kokoelma-tietorakenteet: Lista, Sanakirja
- 📺 Katso tallenne
- Vapaaehtoista lisälukemista: MjPilkkominen.cs (Kevät 2014)
- Mallikoodeissa myös "Pelottava peli", jota ei ehditty luennolla tehdä.
- Luennon koodit
#
luento15
15. luento: Näkyvyysalueet, arvo- ja viitepohjaiset muuttujat
#
luento16
16. luento: Funktion toteutusstrategiat, rekursio
- 📺 Katso tallenne
- Kalvot
- 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.
- SierpinskiKolmio.cs - versio jossa kolmiot piirretään viivoina
- Luennon koodit
#
luento17
17. luento: Rekursio
- 📺 Katso tallenne
- M: 22. Rekursio
- [SierpinskinMatto.cs]
- [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 18. Tällä ratkaisulla ei ole kuitenkaan mahdollista ratkaista "isoja" puita (esim. 100 riviä, ks. Euler 67). Tehokkaan algoritmin tekeminen jätetään harjoitustehtäväksi.
- Tutustu omatoimisesti viime vuoden mallikoodeihin:
- PallojaKarkuun.cs
- Hienot räjähdykset käyttäen ExplosionSystem-luokkaa (muita efektejä ovat liekki (Flame), savu (Smoke), valo (Light)
- Luennon koodit
Tulevat luennot
Tulevien luentojen aiheet ilmestyvät tähän pari päivää ennen luentoa.
#
luento18
18. luento: Kertaus1
- 📺 Katso live/tallenne
- Kertausta: Siirra.cs - Funktio, joka siirtää merkkejä alkuperäisestä jonosta toiseen jonoon.
- Lue omatoimisesti:
- Luennon koodit
Kevään 2021 luennot
Alla on listattu edellisen vuoden luentoja. Voit halutessasi tutustua näihin omatoimisesti.
#
luento15
15. luento: Lähin piste hiirestä
- 📺 Katso tallenne
- Lue omatoimisesti: Muiden tekemän koodin käyttämisestä omassa koodissa ja yleisesti akateemisesta rehellisyydestä
- Tehtiin Lähin rage hiirestä -peli
- Luennon koodit
#
luento16
16. luento: Olioviitteet, Dictionary
- 📺 Katso tallenne
- Lue omatoimisesti: Kertaus muuttujien näkyvyydestä ja parametrin välityksestä
- Dictionary-tietorakenne
- Luennon koodit
#
luento17
17. luento: Palloja karkuun
- 📺 Katso tallenne
- Tehtiin Anagrammi-tehtävän ratkaisu.
- Tehtiin Palloja Karkuun-peli
- Kiinnostuneille: MonoJypelin lähdekoodia pääset tutkimaan täällä. Voit myös ladata lähdekoodin koneellesi samaan tapaan kuin luentojen esimerkit, https://github.com/Jypeli-JYU/Jypeli
- Luennon koodit
#
luento20
20. luento: Kertaus
- 📺 Katso live/tallenne
- Kertausta: Siirra.cs - Funktio, joka siirtää merkkejä alkuperäisestä jonosta toiseen jonoon.
- 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
- Lue omatoimisesti:
- Luennon koodit
#
luento21
21. luento: Liukuluvut, kertaus
- 📺 Katso live/tallenne
- Tentistä vielä: Tenttialueena on
- moniste kokonaisuudessaan (''paitsi'' jypeli-spesifiset luvut ja syntaksin kuvaamiseen liittyvä luku), ja lisäksi
- monisteen täydennysten kohdat Muuttujat, Aliohjelmat, Taulukot, Syntaksi
- Aikaisempia tenttejä voi ja kannattaa katsella täältä.
- 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
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.