Het practicum bestaat uit drie programmeeropdrachten.
Zodra deze bekend zijn, zullen ze op de
hoofdpagina
van het vak te vinden zijn.
Voor alle drie de opdrachten dient een voldoende gehaald te worden
om een cijfer
voor het vak Algoritmiek te kunnen krijgen. Voor de opdrachten dient zowel
de programmacode als ook een verslag te worden ingeleverd. Zorg dat op beide
duidelijk staat vermeld wie de makers zijn.
De makkelijkste manier om een opdracht op tijd in te leveren is door op tijd
te beginnen met het maken ervan. Als je ervoor zorgt dat je
het programmeerwerk een week voor de deadline klaar hebt, heb je nog
een week de tijd voor het verslag en enige uitloopruimte mocht het
programmeren tegenvallen.
Programmacode
Denk bij het programmeren en inleveren aan de volgende zaken:
Wijze van inleveren:
je programma (.cc en .h) met benodigde bestanden (Makefile, eventueel
invoer- en/of uitvoerbestanden, readme)
een PDF van je verslag (inclusief programmacode!)
Bij elkaar in één .zip, .tgz
of .tar.gz bestand, dat je kunt uploaden in Brightspace.
Zorg dat je code duidelijk en begrijpelijk is door goed commentaar
en begrijpelijke naamgeving.
Code die niet compileert of een segmentation fault geeft,
wordt niet nagekeken.
Waarschuwingen bij het compileren kunnen leiden tot puntaftrek.
Je programma moet werken op de Linux-computers van LIACS.
Huisuilen
Ook als je thuis onder Windows en/of met Codeblocks aan de opdrachten
werkt, moet je voor
inzending controleren of je oplossing werkt onder Linux bij LIACS.
Dat kan door vanuit de terminal thuis te ssh-en naar huisuil01,
b.v. met het commando:
ssh -t -A s0123456@sshgw.leidenuniv.nl ssh huisuil01
Uiteraard zul je hier voor s0123456 je eigen studentnummer in moeten
vullen. Je zal hierbij mogelijk twee keer om een wachtwoord worden gevraagd:
eerst voor de ssh gateway, daarna voor de huisuil zelf.
Vervolgens kom je in je eigen Linux homedir terecht, waar je ook kunt
compileren.
Als je onder Windows werkt, kun je eerst Putty downloaden
(www.putty.org). In de Putty
terminal kun je dan het ssh commando intypen.
Als de huisuil onbereikbaar is, kun je ook rechtstreeks naar een Linux
computer in de computerzalen van het Snellius ssh-en, b.v. met het commando:
ssh -t -A s0123456@sshgw.leidenuniv.nl ssh u0030324
Het laatste argument is de naam van de betreffende computer. Je kunt ook
de naam / het nummer van een andere computer gebruiken natuurlijk.
Om je bestanden tussen je thuiscomputer en je Linux homedir te verplaatsen,
kun je gebruik maken van sftp (onder Linux en MacOS) of WinSCP
(onder Windows). Een mogelijk sftp commando naar je Linux homedir is:
sftp s0123456@sftpgw.leidenuniv.nl:/vol/home/s0123456
Vervolgens kun je met put en get bestanden verplaatsen naar je Linux homedir
of eruit ophalen.
Verslag
Naast de code dient ook een verslag te worden ingeleverd.
Het verslag dient in LaTeX te worden gemaakt. Speciaal hiervoor is
een LaTeX-bestand gemaakt dat jullie kunnen gebruiken als basis voor
het verslag. Dit bestand en alle hulpbestanden zijn
hier
te vinden.
Uitpakken kan (onder Linux) met tar xvfz verslag_template.tgz.
Zowel voor Linux als voor Windows zit er een ReadMe-bestand in dit pakketje.
Wijzig de tekst in paper.tex en compileer.
Onder Linux kun je met het commando make in één moeite de tekst
compileren
en er een pdf-file van maken.
Het resultaat van het basisverslag is
hier
te vinden.
Verdere tips met betrekking tot het verslag zijn:
Zorg dat het verslag netjes is en vermijd spel-, typ- en grammaticafouten.