|
terug naar index |
TECH7-S3+p, programmeren in C++ |
PROGRAMMEREN IN C++, GAME DESIGN JAAR 1, 8 weken, Pieter.
LEERDOELEN:
==========
kennis: - Functioneel inzicht.
- Object-georienteerd ontwerp.
- Beheersing van de (platform-onafhankelijke)
basis-syntax van ANSI/ISO-C en C++.
vaardigheden: - Ervaring met moderne compilers en ontwikkel-
omgevingen (zie lesmateriaal).
- Research en presentatie.
houding: - Creatief en inventief.
- Maar ook analytisch en nauwkeurig!
- Slagvaardigheid en doorzettingsvermogen.
WERKVORM: - 40% hoorcollege.
========= - 20% discussie en presentaties door studenten.
- 40% individuele begeleiding (practicum).
week 1 t/m 4: - Kleine programmeer-opdrachtjes, lezen uit
leerboek C/C++.
week 5 t/m 8: - Student moet nu zichzelf bezig houden door
zichzelf een _passende_ eindopdracht te geven;
(samen) werken aan een klein eindproject en
daarover rapporteren in de werkgroep.
ONDERWERPEN:
============
- Binnenin de machine: processor, geheugen, I/O, binaire talstelsel, logica,
compilers, assemblers, interpreters, procedurele en functionele talen,
object-code, source-code, virtuele machines etc. (geschiedenis en
achtergronden dus). Esthetische code, spaghetti-code, compromissen
tussen leesbaarheid, ontwikkelsnelheid en uiteindelijke uitvoer-snelheid
(welke taal/ontwikkelomgeving past het beste). Porteerbaarheid.
- Datatypes (int, short, long, char, double, typedefs, structs, strings etc).
- Binaire en logische operatoren.
- Iteratie en recursie (bijv. fractals, zoekmethoden, etc).
- Geheugen-management, statische en dynamische allocatie, pointers
in geval C/C++, datastructuren (linked-lists), objecten, file I/O, etc.
- Topics.
EINDTERMEN:
===========
- De student is in staat zelfstandig of in teamverband kleine "console-
applicaties" in C/C++ te ontwikkelen.
De student toont aan de hand van een kleine applicatie aan dat zij de
basis-syntax van C/C++ beheerst. Student krijgt gelegenheid om vast te
lopen in een hoop "spaghetti-code" want leertraject is belangrijker
dan 't uiteindelijke product. Doel is ervaring met (on)gestructureerd
programmeren.
BEOORDELING:
============
- Tenminste 80% aanwezigheid bij de lessen.
- Aantoonbare zelfstudie (tijd besteden aan de opdrachten!).
- Individuele progressie.
- Presentatie in de werkgroep van een klein eindprojectje
(een eenvoudig spelletje, een mini-database, een of ander
rekenkundig probleempje of iets met statistiek, etc, etc).
LESMATERIAAL:
=============
pc: - UNIX (Linux) met C/C++ compiler (GNU freeware),
- WINDOWS met Microsoft Visual C++ of Borland compiler.
- MAC met CodeWarrior versie 4.0 of 5.0 of Symantec Think C
versie 5 (C) of versie 7 (C++) of hoger).
Docent zal af en toe wat meenemen om te lezen (fotocopieen) en
een enkele maal zal video-materiaal, opgenomen van de engelse
Open University (BBC2) worden getoond.
LITERATUUR:
===========
- Beslist onmisbaar is de bij de compiler behorende handleiding:
- UNIX: man-pages over C/C++ (free from GNU).
- WINDOWS: Microsoft of Borland C/C++ manuals.
- MAC: Symantec Think of CodeWarrior C/C++ manuals.
- BESLIST noodzakelijk is een leerboek C/C++:
- "Aan de slag met C++", Gertjan Laan, uitg. Pim Oets. ISBN 9072260937.
- "Programming in C", Stephan G. Kochan, Hayden Books. ISBN 0-672-48420-X (oud).
- "Programming in ANSI C", Stephan G. Kochan, Hayden Books. ISBN 0-672-48408-0.
- "C++ Primer", 2nd edition, Stanley B. Lippman, Addison Wesley. ISBN 0-201-54848-8.
- "Het C++ boek" J.C van Winkel en L. Willems, Academic Service. ISBN 90-395-0028-2.
- Uitgeverij O'Reilly & Associates, Inc. heeft veel goed recent werk!