wiki:k2015/luennot
Last modified 19 months ago Last modified on 2015-09-09 10:29:20
» Luennot » Demot » Ohjaukset » Harjoitustyö » Oppimateriaali

HUOM!! NÄMÄ OVAT VANHAN KURSSI-INSTANSSIN SIVUT. MENE TÄSTÄ UUDEMMILLE SIVUILLE.

source:/luentomonistecs/kuvat/lumiukko3.png

Ohjelmointi 1 » Luentojen aikataulu, aiheet ja materiaali, luentovideot

(Tämä sivu päivittyy kurssin mittaan.)

Kevät 2015

HUOM!! NÄMÄ OVAT VANHAN KURSSI-INSTANSSIN SIVUT. MENE TÄSTÄ UUDEMMILLE SIVUILLE.

22. luento: Liukulukujen esittäminen tietokoneessa, kertausta (Video: HD, SD)

21. luento: Kertausta: Tapaus SiirraKirjaimet (Video: HD, SD)

  • Debuggausnäyte annettava ennen kurssin loppua (ohjaukset, tai varaa aika)
  • 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
  • Tentti perjantai 24.4. kello 12:00. Ilmoittaudu Korpissa.
  • Mobiili jatko-osa ITKP106, tietoa lähipäivinä, mutta voit jo nyt alkaa tekemään.
  • Siirra.cs - Tehtiin luennolla funktio, joka siirtää vokaalit (tai mitkä tahansa muut merkit) toiseen jonoon
  • Luennon koodit versionhallinnassa

20. luento: Rekursio (2014 video: HD, SD)

19. luento: Dictionary-tietorakenne ("sanakirja"), rekursio (Video: HD, SD)

  • Tutustuttiin Dictionary<TKey, TValue>-tietorakenteeseen (dokumentaatio), johon voi tallentaa avain-arvo-pareja. DictionaryEsimerkki.cs
  • Tehtiin Demo 9 guru-tehtävä, missä laskettiin lukujen esiintymistiheyksiä, Dictionary-tietorakenteen avulla.
    • LukujenEsiintymiskerrat.cs
    • LaskeEsiintymat-funktiossa järjestettiin argumenttina saadut luvut, jonka ansiosta tiheyksien laskeminen on huomattavan nopeaa verrattuna LaskeEsiintymat2-funktioon, jossa lukuja ei järjestetty. En saanut luennolla tuota tehtyä, mutta ylläolevassa mallissa on tehty molemmat (sortattu ja ei-sortattu) sekä ajastettu kumpikin tilanne. Kuten sanottu, alkioiden järjestelyyn menee aikaa O(n log n), jonka jälkeen algoritmin aikavaativuus on O(n), joten koko funktion asymptoottinen aikavaativuus on O(n log n).
    • Sen sijaan sorttaamaton versio vie O(n^2). Peukalosääntönä voi sanoa että aikavaativuudeltaan O(n^2) luokkaa olevan algoritmin suoritusaika kasvaa erittäin paljon nopeammin kuin O(n log n) aikavaativuusluokkaa olevat algoritmit.
    • Tein myös kaveriksi LaskeEsiintymat3-funktion, jossa on käytetty C#:n LINQ:ta ja lambda-lausekkeita. Suosittelen tuota "guruille" tai jotka ovat kiinnostuneita C#:n funktionaalisista ominaisuuksista.
  • M: 21. Rekursio
  • Kertoma on yksi esimerkki jossa määritelmä (eli mikä kertoma on) voidaan antaa itsensä avulla (= rekursiivinen määritelmä)
  • Luennon koodit versionhallinnassa

18. luento: Palloja karkuun (Video: HD, SD)

17. luento: Johdatus olio-ohjelmointiin (Video: HD, SD)

16. luento: EI LUENTOA AGORALLA. Funktioiden kutsuminen, taulukot, dynaamiset tietorakenteet: lista

15. luento: Listat. Video: HD, SD)

14. luento: Satunnaisluvut, pelikenttä merkkijonosta, törmäykset, ym. (Video: HD, SD)

13. luento: Pelikenttä merkkijonosta, törmäykset, tägit, ym. (Video: HD, SD)

12. luento: Debuggaus, moniulotteiset taulukot (Video: HD, SD)

11. luento: Ajastin (Jypeli), laskuri (Jypeli), attribuutit (Video: HD, SD)

  • Tehtiin alku peliin CatchHeads (ks. YouTube)
  • Julkisia (public) attribuutteja (englanniksi field, suomeksi käytetään myös sanaa kenttä), jotka toimivat ohjelmassa usein globaalien muuttujien tavoin, pitää välttää. Silloin kun niitä ehdottomasti tarvitaan, niin merkitään ne private-määreellä, jolloin muista luokista ei päästä ilman lupaa käyttämään niitä. Periaate pitäisi olla, että niitä tarvitaan vain poikkeustapauksissa.
  • Jos tarvit pelissäsi vakioita (esimerkiksi pelitasojen lukumäärä tms) niin tee siitä julkinen muuttumatton kenttä (const, tai readonly-määre tyypin eteen)
  • Luennon koodit versionhallinnassa

10. luento: Taulukot, String vs StringBuilder, olioviitteet (Video: HD, SD)

9. luento: String, StringBuilder, taulukot, silmukat (Video: HD, SD)

8. luento: String, ehtolauseet, ComTest (Video: HD, SD)

7. luento: Merkkijonot, muuttujat, funktiot (Video: HD, SD)

6. luento: Aliohjelman paluuarvo, funktio ja parametrin välitys (Video: HD, SD)

5. luento: muuttujat, operaattorit, funktio ja aliohjelman paluuarvo (Video: HD, SD)

4. luento: Visual Studio, aliohjelmat, muuttujat (Video: HD, SD)

3. luento: Lumiukko, aliohjelmat, muuttujat (Video: HD, SD)

2. luento: ke 14.1.2015 klo 10-12 (Auditorio 3): Graafinen C#-ohjelma, aliohjelma (Video: HD, SD)

1. luento: ti 13.1.2015 klo 12:15-14:00 (Agora Auditorio 3): Alkubyrokratia, komentorivi, yksinkertaisin C#-ohjelma (Video: HD, SD)

Kevät 2014 (voit tutkailla mitä aikaisemmalla kurssilla tehtiin)

Vastaava sivu aiemmilta kursseilta