Ohjelmointi 1, kesä 2024, luento01
Olin tällä sivulla luennon aikana Agorassa
Please
Please
Please
Please
Olin tällä sivulla luennon aikana Zoomissa
Olin tällä sivulla videon katsomisen aikana
Katson sivua etukäteen
Ohjelmointi 1
Syksy 2023
Vesa Lappalainen
vesal@jyu.fi
Menkää selaimella osoitteeseen
r.jyu.fi/ohj1
ATK
- voidakseen käsitellä tietoa automaattisesti pitää ensin osata käsitellä sitä itse!
Mikä huipputekninen väline on tärkein kurssilla?
Puuttunut aikaisempina vuosina!
Mikä huipputekninen väline on tärkein kurssilla?
Puuttunut aikaisempina vuosina!
- taulukot, viitteet
Mitä muuta tarvitaan?
Ja vielä? n. 15 h/viikko!
Mikä on vaikeinta ohjelmoinnissa?
uskoa että sen opiskeluun tarvitaan AIKAA
uskoa että sen opiskeluun tarvitaan TYÖTÄ
etämoodissa haasteeksi tulee vielä itsekuri
- demotehtäviä ei saa aloittaa ennen kuin muut viikon tehtävät on tehty
Kurssin osat
- (luento)monisteen lukeminen ennen luentoa
- luennot (ma, ti, 11 viikkoa, live/zoom/video)
- (pääte)ohjaukset (ke-pe, joulukuun puoleenväliin)
- demot (viikkotehtävät, 11 viikkoa)
- demot kotona, palautus TIMiin
- demojen vastaukset (ma 14 tai 16, live/zoom/video)
- omien vastausten täydentäminen oikeiksi
- debugnäyte (n. kurssin puoliväli)
- harjoitustyö (HT, 3+1 vaihetta, peli tai ei-peli)
- tentti (joulukuun alku)
Harjoitustyö
Aihe keksitään itse (peli tai ei-peli), tehdään suunnitelma ja esitetään se ohjaajalle 30.9 mennessä.
Pääteohjaukset
- pääteohjauksissa harjoitellaan sitä tekniikkaa, mitä luennolla on näytetty. Ohjauksiin liittyvät tehtävät on tehtävä joko ohjausryhmissä tai itsenäisesti
- ohjauksiin ilmoittaudutaan joka viikolle erikseen: Pääte 1
- kun ohjaustehtävät on tehty, voi jatkaa tekemällä demotehtäviä
Demot
- demot (eli viikkotehtävät) ovat viikoittaisia kotitehtäviä, joista saa kurssilla hyvityspisteitä tenttiin
- demot tehdään itsenäisesti tai keskustellen pienryhmissä
- demoihin liittyy palautustilaisuus (ma 14-16 ja 16-18), jossa katsotaan mitä olisi pitänyt vastata ja mitä parannettavaa on tehdyissä vastauksissa
Paina lisää nappia niin näet miten demojen tekeminen vaikuttaa
Open JS-frame
Kun tehtävien vastaukset on julkistettu (esim demopalautuksissa), pitää jokaisen korjata omat vastauksensa niin, että ainakin Tauno ja perustehtävät 1-6 tuottavat vähintään 1p kukin. Eli demon palautuksen jälkeen pitää demosivun näyttää 7 p.
Siis esim. ennen demo 2 tehtävien aloittamista pitää demoista 1 tulla mainittu pistemäärä.
Mistä apua kurssilla?
Jos sinulla on ongelmia, kysyttävää tai muuta askarruttavaa,
- tule pääteohjauksiin,
- ota yhteys ohjaajiin,
- osallistu opiskelijoiden keskustelufoorumiin!
- tee demojen harjoittelutehtäviä
- ÄLÄ lähetä sähköpostilla liitteitä, vaan laita esimerkiksi omaan oppimappiisi mahdollinen koodi ja/tai kuva(t) ja laita sähköpostiin linkki tuonne.
Vaikka kurssi edellyttää sinnikkyyttä ja työtä, älä jää yksin ongelmasi kanssa!
Syksyllä on lisäksi tarjolla tukikanavia:
Kurssin kotisivut
Google ja tekoäly EIVÄT ole ystäväsi!
- ensisijaisesti etsi aina kurssin sivuilta, erityisesti monisteesta, ei Googlesta!
- "tekoäly aloittelijan käsissä on kuin rekka-auto kortittomalla"
- Lue: Tekoälyn käytöstä Ohj1-kurssilla
- älä paina jokaista näkemääsi linkkiä!
TIMin käyttöä:
- punaiset vs keltaiset
- kurssin laittaminen omiin kursseihin
- hampurilaismenu
- ulkoasun muokkaaminen
- kirjanmerkit
- kommentit (jos ongelmia tai epäselvyyksiä kommentoi)
- manage ja muutosten tilaaminen
- velpit
- haku
- kurssin menut
- ÄLÄ paina jokaista näkemääsi linkkiä!
- kun painat linkkiä, niin mieti että samaan vai eri välilehteen (paitsi moniste aukeaa aina eri).
- luentoseinä
- lunttilapun teko, MD ja erityisesti miten koodia lisätään, muokkaus, oppimappi
Sivujen läpikäynti!
Please
Osattava asia | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
Rakenteisen ohjelmoinnin perusajatus | o | |||||
Algoritminen ajattelu | o | |||||
C#-kielen perusteet | o | |||||
Peräkkäisyys | o | |||||
Muuttujat | o | |||||
Aliohjelmat ja funktiot | o | |||||
Parametrin välitys | o | |||||
Ehtolauseet | o | |||||
Silmukat | o | |||||
Taulukot | o | |||||
Tiedostot ohjelmasta käytettynä | o | |||||
Olioiden käyttö | o | |||||
Yksikkötestit (TDD) | o | |||||
Debuggerin käyttö | o | |||||
Lukujärjestelmät, ASCII-koodi | o | |||||
Rekursio | o | |||||
Dokumentointi ja sen lukeminen | o |
Omia muistiinpanoja
Ohjelmia
System.Console.WriteLine("Hello World");
Aja ensin alla oleva koodi painamalla Aja-painiketta. Muuta sitten koodia niin, että pallo on punainen. Aja uudelleen. Muuta vielä tausta siniseksi.
Level.Background.Color = Color.Black; PhysicsObject pallo = new PhysicsObject(200,200,Shape.Circle); pallo.Color = Color.Yellow; Add(pallo);
ball=sphere(pos=vector(4,7,3),radius=2,color=color.green) redbox=box(pos=vector(4,2,3),size=vector(8,4,6),color=color.red)
Tehtävä 3.2 Kaikki alkiot samoiksi
Tee Taunolla ohjelma, jolla kaikki alkiot ovat samoja kuin taulukon vasemmanpuoleisin alkio +2.
Luentojen aiheet
1. luento: ma 4.9.2023 klo 12:15-14:00: Alkubyrokratia, komentorivi, yksinkertaisin C#-ohjelma
- 3 tärkeää asiaa
- Kurssin kotisivujen ja pelisääntöjen läpikäynti
- Vastaa kurssin esitietokyselyyn
- Esimerkkejä mitä ohjelmoinnilla voi tehdä
- 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 (arvosteluja) 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
konvo.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
- Mitä kääntäminen tekee
- Julkkiskin haluaa pysyä ajan hermolla
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 1. luento videona: Osa 1 ja 2 MP4 alkuperäinen
- luentoseinä
Komentorivi ja kääntäminen
Open plugin
- Komentorivi (komentotulkki)
- Ohjelman kääntäminen komentoriviltä
- VLTODO: CSC polkuun, miten
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.