Skip to content

Latest commit

 

History

History
73 lines (59 loc) · 2.7 KB

Esimerkkeja-aiheista.md

File metadata and controls

73 lines (59 loc) · 2.7 KB

Esimerkkejä aiheista

Hyvän aiheen ominaisuudet

  • Itseäsi kiinnostava aihe

    • Innostava aihe auttaa huonoinakin hetkinä
  • "Riittävän laaja"

    • Vältä eeppisiä aiheita, aloita riittävän pienestä. Yksi periodi on yllättävän lyhyt aika
    • Valitse kuitenkin aihe, jota saa laajennettua sopivasti
    • Hyvässä aiheessa on muutamia logiikkaluokkia, tiedostonkäsittelyä ja logiikasta eriytetty käyttöliittymä
  • Kurssilla pääpaino on Ohjelmoinnin Perusteissa ja Jatkokurssilla opitussa asioissa

    • Käytettävyys
    • Toimivuus ja varautuminen virhetilanteisiin
    • Luokkien vastuut
    • Ohjelman selkeä rakenne
    • Laajennettavuus ja ylläpidettävyys
  • Tällä kurssilla ei ole tärkeää:

    • Tekoäly
    • Grafiikka
    • Tietoturva
    • Tehokkuus
  • HUOMIO! Kannattaa yrittää välttää aiheita, joissa pääpaino on tiedon säilömisessä tai käyttöliittymässä. Paljon tietoa säilövät sovellukset ovat vaikeita testata tämän kurssin esitietovaatimusten puitteissa, ja ne sopivat yleensä paremmin Tietokantasovellus-kurssille. Käyttöliittymäkeskeisissä aiheissa (esim. tekstieditori) voi olla vaikea keksiä sovelluslogiikkaa, joka on enemmän tämän kurssin painopiste (myös siksi koska käyttöliittymää ei tällä kurssilla testata ja testaus on kurssin keskeinen aihe - jos ei ole sovelluslogiikkaa, on vaikea myös kirjoittaa sille testejä)

Esimerkkejä aiheista

Oman aiheen ei ole pakko olla allaolevasta listasta. Listassa on kuitenkin erilaisia esimerkkejä, joista voi toteuttaa oman versionsa.

  • Hyötyohjelmat

    • Aritmetiikan harjoittelua
    • Tehtävägeneraattori, joka antaa käyttäjälle tehtävän sekä mallivastauksen (esim. matematiikkaa, fysiikkaa, kemiaa, ...)
    • Opintojen seurantajärjestelmä
    • IRC- tai Slack-botti
    • Code Snippet Manageri
    • Laskin, funktiolaskin, graafinen laskin
    • Budjetointi-sovellus
    • HTML WYSIWYG-editor (What you see is what you get)
  • Reaaliaikaiset pelit

    • Tetris
    • Pong
    • Pacman
    • Tower Defence
    • Asteroids
    • Space Invaders
    • Yksinkertainen tasohyppypeli, esimerkiksi The Impossible Game
  • Vuoropohjaiset pelit

    • Tammi
    • Yatzy
    • Miinaharava
    • Laivanupotus
    • Yksinkertainen roolipeli tai luolastoseikkailu
    • Sudoku
    • Muistipeli
    • Ristinolla (mielivaltaisen kokoisella ruudukolla?)
  • Korttipelit

    • En Garde
    • Pasianssi
    • UNO
    • Texas Hold'em
  • Omaan tieteenalaan, sivuaineeseen tai harrastukseen liittyvät hyötyohjelmat

    • Yksinkertainen fysiikkasimulaattori
    • DNA-ketjujen tutkija
    • Keräilykorttien hallintajärjestelmä
    • Fraktaaligeneraattori

Voit katsoa myös vanhat esimerkkiaiheet, jotka tosin ovat suurimmaksi osaksi samoja.