Luennot
Jos haluat katsoa viime kevään luentoja (vaikkapa tutustua aiheeseen etupainotteisesti), niin ne löytyvät alapuolelta.
Kevään 2024 luennot
#
luento01
1. luento: Alkubyrokratia, komentorivi, yksinkertaisin C#-ohjelma
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 1. Mitä ohjelmointi on?
- M: 2. Ensimmäinen C#-ohjelma
- Opintojakson rakenne, kotisivut ja pelisäännöt
- Komentorivi
- Vastaa kurssin esitietokyselyyn
- Aikaisempia harkkatöitä ja esimerkkipelejä
- Käsitekartta vastaavan Java-kurssin asioista, pätee suurimmalta osin tälläkin kurssilla
- 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/2024k/esimerkit.git.
#
luento02
2. luento: Graafinen C#-ohjelma
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 2. Ensimmäinen C#-ohjelma
- M: 4. Yksinkertainen graafinen C#-ohjelma
- M: 2.4 Kommentointi ja dokumentointi. Dokumentoi kaikki luokat ja aliohjelmat
- Tutustuttiin graafiseen kehitysympäristöön
- Jypeli-kirjasto ja sen asennus. Jypelin ohjeet Jypelin koodidokumentaatio.
3. luento: Lumiukko, aliohjelmat
- Poikkeuksellisesti ei luentoa livenä, vain videolla.
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- Katso kysymykset ja vastaukset (päivittyy hiljalleen)
- M: 10. Ohjelmoijan työkaluja (IDE)
- Riderin asentaminen ja projektin luominen.
- Oletusnäkyvyys aliohjelmille on
private
. 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.
#
luento04
4. luento: Graafinen ohjelmointiympäristö, aliohjelmat, muuttujat
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 6. Aliohjelmat
- 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.
#
luento05
5. luento: muuttujat, operaattorit, funktio ja aliohjelman paluuarvo
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- 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ä. ei ollut kevällä 2023)
- M: 9. Aliohjelman paluuarvo, eli funktiot
- Lukuisia esimerkkejä funktioista
#
luento06
6. luento: Funktio, aliohjelman kuormittaminen, ehtolause
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 9. Aliohjelman paluuarvo, eli funktiot
- Katso myös aiempi vastaava Funktioita.cs
- M: 6.5 Aliohjelman kuormittaminen
- Vakioista: Muista, että vakiot merkitään
const
avainsanalla. Vakioiden nimeäminen, esim.const int VARPAITA = 5;
taiconst double OBJEKTIIVIN_POLTTOVALI_MM = 27.2;
- M: 13. Ehtolauseet
- Harjoitustyön aikataulutus: Huomioi suunnitelman palauttamisen aikataulu (ks. etusivu).
#
luento07
7. luento: Testaaminen, ComTest, merkkijonot
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: [11. Testaaminen]
- M: 12. Merkkijonot
String
-luokan MSDN-dokumentaatio- NimikirjaimetEsim.cs (*vuoden 2019 esimerkki)
#
luento08
8. luento: Toistolauseet (for, while), ComTest, tyyppimuunnos
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 11. Testaaminen
- M: 16. Toistorakenteet
- Katso aikaisemman vuoden koodeista
- 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.
#
luento09
9. luento: Debuggaus, taulukot
#
luento10
10. luento: Taulukot, arvo- ja viitetyypit
#
luento11
11. luento: Johdatus olio-ohjelmointiin (osa 1)
#
luento12
12. luento: Johdatus olio-ohjelmointiin (osa 2)
#
luento13
13. luento: StringBuilder, Matriisit
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 12.3 Muokattavat merkkijonot: StringBuilder
- (Lue myös StringBuilder-luokan MSDN-dokumentaatio)
String
- jaStringBuilderin
(tehokkuus-)erot merkkijonojen toistuvassa yhdistelyssä
- M: 15.5 Moniulotteiset taulukot
- M täydennykset: 2D-taulukot
#
luento14
14. luento: Kokoelma-tietorakenteet: List, Dictionary. PelottavaPeli loppuun.
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 23 Dynaamiset tietorakenteet
- Vapaaehtoista lisälukemista: MjPilkkominen.cs (Kevät 2014)
#
luento15
15. luento: Näkyvyysalueet, arvo- ja viitepohjaiset muuttujat
#
luento16
16. luento: Funktion toteutusstrategiat, rekursio
#
luento17
17. luento: Rekursio
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- M: 22. Rekursio
- Eulerin ongelma nro 18. Luennolla näytetyn ratkaisun avulla ei ole kuitenkaan mahdollista ratkaista "isoja" puita (esim. 100 riviä, ks. Euler 67). Tehokkaan algoritmin tekeminen jätetään harjoitustehtäväksi.
- Valinnaista 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
- Valinnaista lisälukemista: 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)
#
luento18
18. luento: Kertaus: SiirraMerkit-esimerkki
- 📺 Katso tallenne YouTubessa. 📺 Katso tallenne Moniviestimessä. 📊 Kalvot. 🧾 Koodit.
- Toiveita extra-luennoista/lisämateriaalista? Kirjaa ehdotuksesi tänne.
- Lue omatoimisesti:
Kevään 2023 luennot
Tulevat luennot
Tulevien luentojen aiheet ilmestyvät tähän pari päivää ennen luentoa.
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
#
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
#
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.