Link Search Menu Expand Document

Oppimistavoitteet

Tällä kurssilla opiskelija perehtyy C++:aan niin, että hallitsee sen perusteet ja osaa luoda C++:lla sovelluksia, jotka on myös kirjoitettu laadukkaasti. Kurssilla opiskelija suorittaa tehtäviä, jotka pohjaavat materiaalin eri osa-alueisiin. Joka viikolla opiskelija suorittaa 10 - 15 tehtävää, joilla testataan oppimista. Kurssin lopuksi opiskelija suorittaa projektimaisen tehtävän.

Kurssin materiaali valmistaa opiskelijaa Pearson Vuen C++ certifikaatin suorittamiseen: “CPA – C++ Certified Associate Programmer Certification” https://cppinstitute.org/cpa-c-certified-associate-programmer-certification

Kurssin sisältö:

  • Johdatus kääntäjään ja ohjelmistojen kehittämiseen C++:lla
  • Perustietotyypit, operaattori, tietovirtojen hallinta, syötteiden käyttö ja tulostaminen, tietotyyppimuunnokset
  • Funktioiden esittely, määrittely, ylimäärittely sekä käyttäminen
  • Tietokokonaisuudet
  • Tekstityyppisten muuttujien käsittely, poikkeusten käsittely, nimiavaruudet
  • Oliopohjainen ohjelmointi ja sen käsitteet
  • Luokkien ja olioiden käsittely, luokkahierarkia ja perintä
  • Ylikuormitettujen operaattoreiden, itse määriteltyjen operaattoreiden, poikkeusten määrittely
  • STL: n perusteet.

Kurssin sisällön kehittämisessä on hyödynnettyä Ciscon Networking Academyn C++ programing kurssin materiaalia sekä MIT:n Introduction to C++ kurssia

Kurssimateriaalin lähteet:

Jesse Dunietz, Geza Kovacs, and John Marrero. 6.096 Introduction to C++. January IAP 2011. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

Cisco Networking Acedemy: CPA Programming Essentials in C++

Lisämateriaaleja:

C++ Language Tutorial (http://cplusplus.com/doc/tutorial/)

Wikiversity: Introduction to C++ (https://en.wikiversity.org/wiki/C%2B%2B/Introduction)

Materiaalin osa Aihealue
Viikko 1 C++ perusteet ja käännösympäristön asentaminen, perusrakenteet
Viikko 2 Ohjausrakenteet
Viikko 3 Funktiot
Viikko 4 Taulukot ja teksti
Viikko 5 Osoittimet
Viikko 6 Luokat, perusteet
Viikko 7 Luokat, perintä, polymorphismi
Viikko 8 Muistinhallinta
Viikko 9 String luokka ja STL
Viikko 10 Edistyneet ominaisuudet
Viikko 11 - 12 Projektin totetuttaminen

Kurssin materiaalit julkaistaan viikoittain, jokaisen viikon perjantaihin mennessä. Osana materiaaleja on tehtäviä, jotka on hyvä tehdä sekä mallivastaukset, tehtäviä ei tarvitse palauttaa.

Arviointi

Opiskelija suorittaa kurssin lopuksi tehtävän, jonka perustella kurssi arvioidaan, tehtävä suorittaminen vaatii n. 20h opiskelijan työtä. Projektitehtävässä opiskelija hyödyntää kattavasti kurssilla opittuja asioita.

Opiskelija voi aloitaa projektin tekemisen viikolla 7. Projektin ensimmäinen vaihe on hyväksyttää projetiehdotus opettajalla.

Projekti voi olla esim. 1. Konsolipohjainen peli, kuten jokin korttipeli 2. Tiedonhallinta sovellus, esim. ajoneuvorekisteri 3. UI:n sisältävä sovellus (UI tehdään QT:llä, vaati opiskelija omaa perehtymistä.)

Opiskelija toteuttaa projektin itsenäisesti ja käyttää sen Git-versionhallintaa koodin jakamiseen opettajalle. Jos Git ei ole tuttu löytyy siitä Heikki Ahosen materiaalia osoitteesta: https://centria.github.io/console/

Projektin vaatimukset

  1. Projektin laajus tulee olla n.20 työtuntia.
  2. Ennen projektin tekemistä aihe pitää olla opettajan hyväksymä.
  3. Projektissa tulee olla seuraavat ominaisuudet:
    • Luokkien / oliota, lisäpisteitä jos perintää käytetään
    • Funktiota
    • Interaktio käyttäjän kanssa konsolion kautta
    • Tiedostoon kirjoitus ja luku
    • STL-kirjaston käyttö
  4. Ulkoisten kirjastojen käyttä kielletty
  5. Helposti luettava koodi
  6. Sovelluksen tulee olla hyvin suunniteltu
  7. Projektissa tulee olla README tiedosto, jossa kerrotaan miten ohjelma toimii ja miten sitä käytetään. README tiedostoon tulee kuvata myös itsearviointi siitä mikä oli haastavaa / helppoa ja mitä tekisit toisin jos tekisit projektin uudestaan.

Projektitehtävän aihe tulee hyväksyttää viikon 8. aikana

Tehtävä arvostellaan arvosanalla 0 - 5, mikä muodostaa myös kurssin arvosanan,

Keskustelu

Centrian Averko osallistujen keskustelukanava löytyy Optimasta