C++ Programming (C0199), 5 op
Basic information
Course name: | C++ Programming C++ ohjelmointi |
Course Winha code: | C0199 |
Kurre acronym: | C++ |
Credits: | 5 |
Type and level of course: | Professional studies |
Year of study, semester or study period: | 3.year |
Implementation: | Spring semester, Autumn semester, 1.period, 2.period |
Semester: | 0708 |
Language of tuition: | English |
Teacher: | Hannu Laine |
Final assessment: | Grading scale (0-5) |
Descriptions
Prerequisites
Ohjelmointi
Algoritmit ja tietorakenteet
Course contents (core content level)
C-kielen ja C++-kielen erot
Olioparadigma ja C++
Luokat ja oliot
C++:n standardiluokat
Konstruktorit ja destruktorit
Funktioiden ja operaattorien ylikuormitus
Periyttäminen ja sen merkitys
Geneerisyys ja polymorfismi
Virtuaalimetodit
Template funktiot ja luokat
STL-kontainerit , iteraattorit ja algoritmit
Poikkeukset
Course contents (additional)
Olioiden vuorovaikutus ja "yhteispeli"
Sovellusrunkojen periaate
Hyödyllisiä suunnittelumalleja (design patterns
Observer-suunnittelumalli
Silta-suunnittelumalli
Core content level learning outcomes (knowledge and understanding)
Opintojakso antaa perusvalmiudet olio-ohjelmoinnin hyväksikäyttöön käytännön ohjelmistotyössä C++-kielellä. Kurssin suoritettuaan opiskelija ymmärtää olio-ohjelmoinnin periaatteet ja tavoitteet Opiskelija ymmärtää luokkien ja olioiden erilaisten suhteiden ominaisuudet ja käyttötavat. Opiskelija ymmärtää myös tehokkaan muistinkäytön merkityksen ja hallitsee tekniikat sen toteuttamiseen myös poikkeuksien yhteydessä.
Core content level learning outcomes (skills)
Kurssin suoritettuaan opiskelija osaa soveltaa edellä mainittuja asioita käytännössä ohjelmistojen suunnittelussa ja toteutuksessa C++-kielellä. Hän osaan valita sopivia, tehokkaita, luotettavia, selkeitä ja uudelleenkäytettäviä ratkaisuja. Lisäksi opiskelija ymmärtää kielen syntaksin ja semantiikan niin hyvin, että hän osaa ilmaista asiat selkeästi C++-kielellä oman ajattelun pohjalta (eikä pääasiassa korjaamalla ilmaisuja kääntäjän virheilmoitusten pohjalta). Opiskelija pystyy kurssin suoritettuaan oppimaan erilaisten luokkakirjastojen ja sovellusrunkojen käytön ohjelmoinnin perustana (esimerkiksi Symbian sovellusrunko).
Recommended reading
Luentomonisteet ja luentokalvot.
Teaching and learning strategies
Luennot, laboratorioharjoitukset ja ryhmätyöprojekti
Teaching methods and student workload
Lectures
Individual research, reading
Exam
Laboratory assignments
Report/project
Assessment weighting and grading
Tentti 80%
Laboratorioharjoitukset ja ryhmätyöprojekti 20%
Related competences of the degree programme
Software Engineering