The referenced paragraph does not exist.
Luennot
Jos haluat katsoa viime kevään luentoja (vaikkapa tutustua aiheeseen etupainotteisesti), niin ne löytyvät alapuolelta.
Kevään 2023 luennot
#
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/2023k/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 "tyhmästi" eli copy-pastettamalla palloja
- Tutustuttiin graafiseen kehitysympäristöön
- 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
- Kalvot
- Katso kysymykset ja vastaukset (päivittyy hiljalleen)
- M: 10. Graafinen kehitysympäristö (luentomonisteessa puhutaan vielä Visual Studiosta)
- 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.
- Lumiukko aliohjelmien avulla
- Luennon koodit
#
luento04
4. luento: Graafinen ohjelmointiympäristö, 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
- Kalvot
- 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
- 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;
- M: 13. Ehtolauseet
- Harjoitustyön aikataulutus: Huomioi suunnitelman palauttamisen aikataulu (ks. etusivu).
- Luennon koodit
#
luento07
7. luento: Testaaminen, ComTest, merkkijonot
- 📺 Katso tallenne. Luentojen ensimmäisellä slaidilla puhutaan luennosta 6 mutta kyllä kyseessä on luento 7 :-).
- Kalvot
- M: [11. Testaaminen]
- M: 12. Merkkijonot
String
-luokan MSDN-dokumentaatio- NimikirjaimetEsim.cs (*vuoden 2019 esimerkki)
- Luennon koodit
#
luento08
8. luento: Toistolauseet (for, while), ComTest, tyyppimuunnos
- 📺 Katso tallenne
- Kalvot
- 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.
- 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: Arvo- ja viitetyypit, StringBuilder
- 📺Katso tallenne
- Kalvot
- M: 8.3 Oliotietotyyppien ja alkeistietotyyppien ero
- M: 12.3 Muokattavat merkkijonot: StringBuilder
- Merkkijonoja.cs (tätä käydään myöhemmin läpi)
- (Lue myös StringBuilder-luokan MSDN-dokumentaatio)
String
- jaStringBuilderin
(tehokkuus-)erot merkkijonojen toistuvassa yhdistelyssä
- Olioviitteet, pino ja keko
- Luennon koodit
#
luento11
11. luento: Johdatus olio-ohjelmointiin (osa 1)
#
luento12
12. luento: Johdatus olio-ohjelmointiin (osa 2)
#
luento13
13. luento: Matriisit
- 📺 Katso tallenne
- Kalvot
- Moniulotteiset taulukot
- M: 15.5 Moniulotteiset taulukot
- Lue 2D-taulukot luentomonisteen täydennyksistä
- Luennon koodit
#
luento14
14. luento: Kokoelma-tietorakenteet: Lista, Sanakirja
- 📺 Katso tallenne
- Kalvot
- Vapaaehtoista lisälukemista: MjPilkkominen.cs (Kevät 2014)
- Mallikoodeissa myös "Pelottava pelin" ominaisuudet, jota ei ehditty luennolla tehdä loppuun
- Luennon koodit
#
luento15
15. luento: Näkyvyysalueet, arvo- ja viitepohjaiset muuttujat
#
luento16
16. luento: Funktion toteutusstrategiat, rekursio
- 📺 Katso tallenne
- Kalvot
- Luennon koodit
- Huomautus: Tein koodiin vielä uuden funktion
MontakoNegatiivista3
, joka on huomattavasti selkeämpi versio luennolla esitettyyn tavan 1 mukaiseen toteutukseen. Jätin kuitenkin alkuperäisen toteutuksen (MontakoNegatiivista
) paikoilleen. Pahoittelut virheestä.
#
luento17
17. luento: Rekursio
- 📺 Katso tallenne
- Kalvot
- 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.
- 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
- 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
#
luento18
18. luento: Kertaus: SiirraMerkit-esimerkki
- 📺 Katso live/tallenne
- Kalvot
- Lue omatoimisesti:
- Luennon koodit
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.