Structuur van Computerprogramma's II
Titularis
Coen De Roover
- Office:
- 10 F 735
- Tel.:
- +32 2 629 3492
- E-mail:
- cderoove@vub.ac.be
- Homepage
- http://soft.vub.ac.be/~cderoove
Assistent
Dries Harnie
- Office:
- 10F731
- Tel.:
- +32 2 629 3956
- E-mail:
- dharnie@vub.ac.be
- Homepage
- http://soft.vub.ac.be/~dharnie
OO codes: 4556, 9549
AIV codes: WE-DINF-4556, WE-DINF-4556a
Planning
| Theorie (HOC) |
|---|
Vrijdag 11u00 - 13u00, week 3-7, 10-14
Lokaal: F.4.103
Opmerkingen:
- Geen theorieles in week 2
- In week 8 geen theorieles wegens Wapenstilstand
- In week 9 geen theorieles wegens Verhaegenherdenking
Vervangingslessen zullen ingelast worden.
| Oefeningen (WPO) |
|---|
Woensdag 16u00-18u00, week 2-6, 8-14
Lokaal: E.1.4
Vrijdag 9u00-11u00, week 2-7, 10-14
Lokaal: E.1.7
Verplicht Studiemateriaal
Het handboek is "Introduction to multi-paradigm programming using C++" (Dirk Vermeir). Dit boek is beschikbaar bij Infogroep
De slides zijn van de hand van Dirk De Ridder, gebaseerd op de originelen van Dirk Vermeir die gebruikt werden in vorige jaren. Voor het examen zijn de nieuwe slides het referentiepunt. Deze bevatten veel nieuw materiaal waardoor het ten sterkste af te raden is om de oude slides te gebruiken.
| Description | Download |
|---|---|
| Chapter 0 - Basic Information | |
| Chapter 1 - Introduction | Download PDF |
| Chapter 2 - Types and Functions | Download PDF |
| Chapter 3 - User-Defined Types | Download PDF |
| Chapter 3b - User-Defined Types Example + Exceptions | Download PDF |
| Chapter 4 - Built-in Type Constructors | Download PDF |
| Chapter 4b - Built-in Type Constructors Advanced | Download PDF |
| Chapter 5 - User-Defined Type Constructors | Download PDF |
| Chapter 5b - User-Defined Type Constructors | Download PDF |
| Chapter 6 - Generic Programming using the STL | Download PDF |
| Chapter 6b - Generic Programming using the STL | Download PDF |
| Chapter 7 - Subtypes and Inheritance | Download PDF |
| Chapter 11 - Introduction to Program Design | Download PDF |
Voor de oefeningensessies is er een eigen website voorzien: http://soft.vub.ac.be/~dharnie
Examen
Het eindcijfer wordt als volgt bepaald: 60% op de taken en het project, 40% op het schriftelijk examen.
- 20% voor taak 1 (5%), taak 2 (5%), taak 3 (10%)
- 40% voor taak 4 (project)
- 40% voor het schriftelijk examen. Er is een mondelinge voortzetting. De voortzetting kan de eindscore van het vak met maximum 20% beïnvloeden (positief/negatief)
Indien de score voor een onderdeel (taken, project, of schriftelijk examen) minder is dan 8/20 dan zal het eindcijfer voor het vak het minimum zijn van de scores behaald op de diverse onderdelen. In het andere geval wordt het gewogen gemiddelde genomen volgens de hogervermelde percentages. Het is dus zeker belangrijk om alle taken alsook het project met de nodige zorg af te werken !
De eerste drie taken bouwen voort op elkaar, een standaardoplossing zal vrijgegeven worden zodat je - indien nodig - deze als basis kan nemen om verder te werken.
Het schriftelijk examen zal voornamelijk bestaan uit kennisvragen. Dit wil zeggen dat we kennis toetsen over de aangereikte concepten in de cursus (bijv. illustreer call by reference, wat is het resultaat van dit programma, geef de implementatie van klasse X).
De mondelinge voortzetting bestaat enerzijds uit een bespreking van de projectresultaten (wat was er goed, wat was er slecht, hoe zou je een bepaalde extra vereiste integreren, …) en anderzijds uit een aantal creatieve en inzichtsvragen.
Optioneel Studiemateriaal
Technische Tutorials
Boeken
- Aangeraden en vrij beschikbaar uit The C++ programming language (3rd edition):
Tijdens de les aangehaalde websites
- Uit The C++ FAQ Lite:
- Uit Learn C++:
- Relevante artikels op Wikipedia:
- Vaak voorkomende fouten:
- Over het gevaar van side-effects in compound expressions:
- Over memory management:
- Smart Pointers op Wikipedia: auto_ptr in C++; unique_ptr, shared_ptr, weak_ptr in C++11
- Over Templates:
- C++ templates: Creating a compile-time higher-order meta-programming language Halloween Lecture by Matthew Might, compile-time interpreter for lambda calculus
- Over late binding
- Over Patronen, idiomen en stijl:
- Over C++11:
- C++ and Beyond 2011: Why C++? (video) met bijhorende slides
