Yläkoulun ohjelmointia!¶
Valmiit oppitunnit¶
Taustaa¶
Keskeneräiset aiheet¶
- Sanasto
- Mitä tehdä, jos DrRacket antaa virheilmoituksia
- Funktioiden suunnittelu ja testaus
- Animaatiot
- Tietueet
- Interaktiivisuus animaatioissa
- Listat ja rekursio
- Algoritmit
- Lamda ja funktiot parametreina
- Puut ja graafit
- Funktion sisäiset määritelmät
- Muuttujat ja silmukat
- Sivuvaikutukset
- Algoritmien laskennallinen vaativuus
- Tiedostojen luku ja kirjoittaminen
- Tiedostojen käsittely listoina
- Tietotyypit
- Liukuluvut
- Tietokoneen rakenne
- Tietoverkot
- Piirtokomennot
- Piirretään sektoreita
- Lisää animaatioista
- Monen kappaleen animointi
- Turtle-grafiikka
- Musiikkia
- Salasanojen vahvuus
- Tekijöihin jako ja alkuluvut
- Tiedon hakeminen suoraan Internetistä
- Funktioiden piirtäminen kuvaajiksi
- Lukujonot
Ohjelmoinnin ydinaiheita¶
- Sanasto
- Mitä tehdä, jos DrRacket antaa virheilmoituksia
- Ensimmäiset askeleet
- Laskujärjestys
- Vakiot
- Omat funktiot
- Ehtolauseet ja boolean-logiikka
- Funktioiden suunnittelu ja testaus
- Animaatiot
- Tietueet
- Interaktiivisuus animaatioissa
- Listat ja rekursio
- Algoritmit
- Lamda ja funktiot parametreina
- Puut ja graafit
- Funktion sisäiset määritelmät
- Muuttujat ja silmukat
- Sivuvaikutukset
- Algoritmien laskennallinen vaativuus
Ohjelmoinnin valinnaisia aiheita¶
Ohjelmoinnin sovelluksia¶
- Piirtokomennot
- Piirretään sektoreita
- Lisää animaatioista
- Monen kappaleen animointi
- Turtle-grafiikka
ympyrä
- Musiikkia
- Salasanojen vahvuus
- Tekijöihin jako ja alkuluvut
- Tiedon hakeminen suoraan Internetistä
- Funktioiden piirtäminen kuvaajiksi
- Lukujonot
Tehtävä vielä
Piirtokomentojen kertauskappale, jossa selitetään ainakin overlay/xy:n ja overlay/offsetin ero.
Tehtävä vielä
Linkit kappaleen alkuun esitietovaatimuksiin ja niiden kertauksiin.
Tehtävä vielä
Kellotaulutehtävä
Tehtävä vielä
Tehtäville voisi luoda oman komennon, jotta niistä saa oman listauksen
Tehtävä vielä
Minne mallivastaukset?
Tehtävä vielä
Racketin builtinit saisi linkattua dokkareihin käyttämällä pygmentsin formatteria, joka wrappaisi lexeriltä tulevat keywordit anchoreiksi ja antaisi ne vasta sitten eteenpäin tavalliselle HtmlFormatterille.
Mikäli haluaisi vielä viilata tarkemmin, pitäisi tehdä uusi lexeri, jossa keywordit ja builtinit olisi korvattu BSL:n vastaavilla muokkaamalla tests/examplefiles/example.rkt ulostuloa
Tehtävä vielä
Linkit tehtävistä yms. aiheista OPS:n. Jokin systeemi, jolla taas OPS-osassa näkee mitkä tehtävät kattavat minkäkin kohdan, ja mitä jää kattamatta.
Tehtävä vielä
Graafi, josta näkee missä järjestyksessä kappaleet pitää käydä. Esim. Gephi voi saattaa tehdä nättejä, jos Graphviziä ei saa säädettyä.
Tehtävä vielä
Algoritmisen ajattelun käsittely
Tehtävä vielä
Ohjelmoijien metakognitiiviset prosessit? Miten lähteä luomaan ohjelmaa. Design recipe auttaa, mutta ei välttämättä tarpeeksi.
Tehtävä vielä
handinilla tehtävien tarkastusta
Tehtävä vielä
EV3-kirjasto, ja drracket plugini helpompaan käyttämiseen
Tehtävä vielä
Kuvat on Safarilla valtavia
Ideoita¶
- “Vahvistetaan ymmärrystä tarkan arvon ja likiarvon erosta sekä pyöristämisestä.”
- “Opitaan neliöjuuren käsite ja käytetään neliöjuurta laskutoimituksissa” Pythagoras kaikissa etäisyyttä vaativissa 2D- ja 3D-animaatioissa
- Livecoding-moduuli extemporella (musiikki)
- Livecoding-moduuli fluxuksella
- Robottimoduuli EV3:lla
- binäärihaku, esimerkiksi funktion nollakohdalle
- jotain numeeristä integrointia trapezoideilla?
- Graafihaku vaikka shakkitehtävä siirroista?
- https://projecteuler.net/problems
- Vaikeaa, mutta parseri joka ymmärtää polynomeja