Imperatief Programmeren 1

Inleiding

Volgens een systematische methode worden programma's ontworpen en (in C++) geïmplementeerd met behulp van basisdatatypen en samengestelde datastructuren, n.l. rijen en structs. Op het college worden de belangrijkste zaken toegelicht. Bij de basisdatatypen en structuren worden de mogelijke operaties en een aantal ‘standaard-algoritmen' erop besproken en geanalyseerd. Ontwerpen, implementeren, testen en zonodig aanpassen van algoritmen leer je pas echt in het practicum, dit heeft dan ook een belangrijke rol in deze cursus. Practicumopgaven bereid je voor en werk je uit met een vaste practicumpartner. Opgaven worden toegelicht in de vorm van een werkcollege. Er zijn practicumzalen gereserveerd waar je hulp krijgt van student-assistenten. Zij beoordelen ook je uitwerkingen en voorzien deze van constructief commentaar.

Leerdoelen

Na afloop van de cursus kan de student:

  •     De werking van gegeven programma-code doorgronden en expliciteren;
  •     Gegeven algoritmen implementeren;
  •     De voor de oplossing van eenvoudige problemen benodigde datatypen en operaties erop aangeven;
  •     Voor eenvoudige problemen zelf systematisch een algoritme ontwikkelen en de geschiktheid hiervan aannemelijk maken;
  •     Programma's ontwikkelen die aanpasbaar zijn (duidelijke structuur, goede naamgeving, abstractie via typesynoniemen en functies);
  •     De kwaliteit van programma's beoordelen (zowel door redeneren als door testen).

Onderwerpen

  •     Algoritmen, systematische programmaontwikkeling door het opsplitsen van problemen in deelproblemen;
  •     ‘Controlestructuren': opeenvolging, keuzes, voorwaardelijke herhalingen, herhalingen-met-teller, functies en procedures;
  •     Variabelen en constanten, globaal versus lokaal;
  •     Parameteroverdracht: call-by-value, call-by-reference;
  •     Datastructuren: typesynoniemen, enumeratietypes, rijen, structuren; bestanden;
  •     Documenteren van functies d.m.v. pre-condities en post-condities; pre-condities noteren met asserties.

Werkvormen

  • 32 uur computerpracticum
  • 16 uur hoorcollege
  • 8 uur werkcollege
  • 28 uur zelfstudie

Toelichting werkvormen

De cursus is deels taakgericht opgezet. Werkcolleges, zelfstudie en practicum zijn grotendeels gericht op de nieuwe practicumopdracht die uitgewerkt moet worden.

De wekelijkse hoorcolleges zijn vooral bedoeld als introductie op de bijbehorende practicumstof, waarbij telkens nieuwe datatypen en algoritmen worden besproken. De werkcolleges worden voornamelijk gebruikt om practicum-opdrachten voor te bespreken. Tijdens de zelfstudie bestudeer je de besproken collegestof en bereid je ontwerp en implementatie van de practicumopdracht voor.

Op ingeleverde uitwerkingen van practicumopdrachten krijg je expliciete feedback.

Toetsvorm

schriftelijk tentamen, gesloten boek

Vereiste voorkennis

geen

Literatuur

  • Dictaat (in elektronische vorm).
  • Boek: "Problem Solving with C++" van Walter Savitch, 8e druk ISBN: 0-273-75218-9 (in orde is ook het gebruik van druk 7 van dit boek, ISBN: 0-321-53134-5).

Bijzonderheden

De gebruikte ontwikkelmethode kent vijf stappen:
  •     Probleemanalyse: zorg dat het probleem duidelijk is;
  •     Ontwerp van algoritmen en datastructuren;
  •     Reflectie: zal het gaan werken, zal het probleem opgelost worden;
  •     Implementeren: het schrijven van het programma;
  •     Evaluatie: testen, werkt het, is het probleem opgelost.


Deze cursus heeft ook een Engelstalige beschrijving.

Vakcode
NWI-IPC014
Studiepunten
3 ec
Periode
eerste kwartaal

Docenten

Opgenomen in

  • Bachelor Informatica