Inleiding programmeren (C++) - Life Science & Technology
In het voorjaar van 2004 verzorgen
dr. W.A. (Walter) Kosters
en
dr. J.M. (Jeannette) de Graaf
het vak Inleiding Programmeren in C++,
speciaal bestemd voor studenten 
Life Science & Technology.
Het vak levert 3 (drie) ECTS-punten op.
Samengevat: alles bij elkaar ruim tachtig uur werk.
Voorkennis is het college
Algoritmiek voor biologen.
Wegens een verandering in het LS&T-curriculum zal het vak
niet meer gegeven worden!
Diegenen die het tentamen nog niet hebben gehaald
wordt dan ook dringend aangeraden 
contact op te nemen met de studieadviseur.
Roostering:
maandagen, van 11.00 tot 15.30 uur.
Data: 19 en 26 januari, 2, 9, 16 en 23 februari, 1 maart 2004.
Plaats:
zaal 1 van het Gorlaeus Laboratorium, Einsteinweg 55, Leiden;
van 11.00 (precies) tot 13.00 uur;
van 13.30 tot 15.30 uur werkcollege
in de computerzalen LCP 6 en 8.
Bij de werkcolleges wordt assistentie verleend door
Tim Cocx, 
Sven Groot en 
Pascal Haazebroek.
Vragenuur voor tentamen:
woensdag 10 maart 2004, 11.00 uur;
plaats: 
gebouw van Wiskunde en Informatica,
zaal 176 (recht boven de ingang).
Tentamen: vrijdag 12 maart 2004, 14.00 tot 17.00 uur;
plaats: zaal 1, Gorlaeus.
Hertentamen: dinsdag 8 juni 2004, 14.00 tot 17.00 uur;
plaats: zaal 1, Gorlaeus.
Hertentamen: maandag 23 augustus 2004, 14.00 tot 17.00 uur;
plaats: zaal 1, Gorlaeus.
Cijfers afgelopen jaren:
2001/2002
 | 
2002/2003
 | 
2003/2004.
Voor meer over C++: zie het eerstejaars college
Programmeermethoden uit de studie 
Informatica.
Inhoud
Het doel van het vak is het leren omgaan met een computersysteem (Windows 
met Visual C++, en -voor de liefhebbers-
Linux), en meer in het bijzonder het leren programmeren in de
programmeertaal C++.
Allereerst worden de beginselen van C++ uitgelegd,
en kunnen kleinere programma's geschreven worden. Vervolgens
worden ook grotere programma's gefabriceerd; hierbij worden
uiteraard functies gebruikt. Ook komen bijvoorbeeld
sorteeralgoritmen aan de orde. De nadruk
ligt op het schrijven van goed gedocumenteerde en gestructureerde
software.
Inhoud colleges:
  - maandag 19 januari 2004
 Introductie apparatuur, compiler (Visual C++);
      eerste C++-programma's; if-statement.
 Presentatie verkrijgbaar in PowerPoint:
      inleiding;
      een.
 Werkcollege: in computerzaal onder begeleiding
      oefenen met Visual C++.
 Na afloop kan hopelijk iedereen zelf een klein eigen C++-programma op
      de computer maken en compileren, bijvoorbeeld een 
      programma dat een paar getallen vraagt en bij elkaar optelt.
 Huiswerk: Ammeraal Hoofdstuk 1;
      dictaat Hoofdstuk 1, 2 en 3.1;
      dictaat (Hoofdstuk 4) opgaven 1 tot en met 5.
- maandag 26 januari 2004
 Variabelen (int, double, char, bool),
      operatoren en controlestructuren
      (while, for).
 Presentatie verkrijgbaar in PowerPoint:
      twee.
 Werkcollege: in computerzaal onder begeleiding werken aan 
      de eerste programmeeropgave.
 Huiswerk: Ammeraal Hoofdstuk 2 (NIET: p. 23, 2.6);
      dictaat Hoofdstuk 3.2;
      dictaat opgaven 6 tot en met 14 (vooralsnog zonder functies).
- maandag 2 februari 2004
 Functies; files.
 Presentatie verkrijgbaar in PowerPoint:
      drie.
 Inleveren eerste programmeeropgave.
 Werkcollege: in computerzaal onder begeleiding werken aan
      een programma dat functies bevat voor de opgaven:
      9a,b, 10, 11, 13 en 20; wat doet 19?
 Huiswerk: Ammeraal Hoofdstuk 4 (NIET: 4.3, 4.5, 4.7, 4.8)
      en Hoofdstuk 8 (NIET: 8.5);
      dictaat Hoofdstukken 3.3, 3.4 en 3.5 (nog niet: 3.5.3); 
      dictaat opgaven 15 tot en met 28.
- maandag 9 februari 2004
 Arrays.
 Bespreken eerste programmeeropgave.
 Presentatie verkrijgbaar in PowerPoint:
      vier.
 Werkcollege: in computerzaal onder begeleiding werken aan 
      de tweede programmeeropgave, in het bijzonder hints 1/5,
      en Opgave 20.
 Huiswerk: Ammeraal Hoofdstuk 5 (alleen 5.1);
      dictaat Hoofdstuk 3.6;
      dictaat opgaven 29 tot en met 35.
- maandag 16 februari 2004
 Let op: dit college wordt gegeven in de Havinga-zaal
      (langs de bibliotheek van het Gorlaeus lopen, daarna rechtsaf).
 Herhaling files en strings, vervolg arrays.
 Presentatie verkrijgbaar in PowerPoint:
      vijf.
 Werkcollege: in computerzaal onder begeleiding werken aan 
      de tweede programmeeropgave, met name de optie
      Mastermind. Vul ook een array
      met random getallen, en bepaal grootste, op-een-na-grootste,
      en het aantal keer dat een gegeven getal voorkomt.
 Huiswerk: dictaat opgaven 36 tot en met 41.
- maandag 23 februari 2004
 Diverse algoritmen (randomgenerator,
      zoeken, sorteren, ...).
 presentatie verkrijgbaar in PowerPoint:
      zes.
 Werkcollege: in computerzaal onder begeleiding werken aan 
      de tweede programmeeropgave, met name de optie Sorteren.
 Huiswerk: dictaat Hoofdstukken 3.7 en 3.8;
      dictaat opgaven 42 tot en met 46.
- maandag 2 maart 2004
 Life.
      Voor een public domain Windows-versie zie:
      
      Opgaven 19 (eventueel 18), 31 (eventueel 32) en 44a.
      Uitloop.
 Presentatie verkrijgbaar in PowerPoint:
      zeven.
 Inleveren tweede programmeeropgave.
 Werkcollege: in computerzaal onder begeleiding werken aan 
      de tweede programmeeropgave.
De genoemde opgaven komen uit het dictaat, en kunnen in de week aansluitend
op het college in eigen tijd gemaakt worden. 
Een aantal van deze sommen zijn oude tentamenopgaven.
Alle
uitwerkingen
zijn via WWW beschikbaar.Materiaal
- Dictaat:
    Dit is verkrijgbaar tijdens de colleges en ook (in 
    PDF-formaat, 241 kB) 
    via deze webpagina.
 Advies: koop het tijdens het eerste college, dat is goedkoper
    dan het zelf te printen; je hebt dan meteen
    de "juiste" versie. Kosten: € 1.
- Boek:
    L. Ammeraal, Basiscursus C++, derde herziene uitgave,
    Academic Service. Kosten: circa € 18.
 Hieruit: Hoofdstuk 1, Hoofdstuk 2 (NIET: p. 23, 2.6),
    Hoofdstuk 4 (NIET 4.3, 4.5, 4.7, 4.8),
    Hoofdstuk 5 (alleen 5.1)
    en Hoofdstuk 8 (NIET: 8.5).
    De rest van het boek, waaronder Hoofdstuk 3,
    dient als naslagwerk; het is nuttig hiervan
    bepaalde gedeeltes eens door te lezen.
- Uitwerkingen 
    van de opgaven uit het dictaat (ASCII-tekst)
Practicum
Bij het vak moeten diverse C++-programma's worden geschreven,
deels buiten de werkcolleges.
Aanwezigheid bij de werkcolleges is verplicht!
(Eén maal afwezig met kennisgeving is toegestaan.)
Er moeten twee grotere opgaven worden gemaakt, 
één in te leveren halverwege (2 februari,
bij aanvang van het derde college,
dus al twee weken na het begin van de college-serie) en 
één tegen het eind (1 maart, op het laatste werkcollege):
Hiervoor moet veelal in de eigen tijd gewerkt worden!
Deze twee grote opgaven mogen individueel
of in tweetallen (maar niet in drie- of meertallen ...) gemaakt worden.
Het eindcijfer van het practicum is het gemiddelde van 
deze twee opgaven.
Het eindcijfer van het vak 
wordt bepaald door het schriftelijk tentamen (twee-derde)
en het practicumcijfer (een-derde);
het wordt afgerond op een geheel getal. Voor een voldoende eindresultaat moeten
zowel schriftelijk tentamen als 
beide programmeeropgaven voldoende zijn!
Opgaven uit vorige jaren behouden hun geldigheid.
Oude tentamens
De volgende oude tentamens en uitwerkingen zijn beschikbaar:
Vragen en/of opmerkingen kunnen worden gestuurd
naar: kosters@liacs.nl.
12 maart 2004 — http://www.liacs.nl/home/kosters/lst/index.html