Prospectus

nl en

Programming Techniques

Course
2016-2017

Toegangseisen

Programmeermethoden.

Beschrijving

Het college Programmeertechnieken is het vervolg op het college Programmeermethoden. Het doel van het college is de programmeervaardigheden van de studenten verder te ontwikkelen en de studenten uit te rusten met gereedschappen die zij nodig hebben bij de geavanceerdere colleges in de latere studiejaren en hun latere professionele loopbaan. In het eerste deel van het college wordt dieper ingegaan op de principes van object-georienteerd programmeren. Hierbij wordt voortgebouwd op de C++ kennis die is opgedaan in het college Programmeermethoden. Onderwerpen die zullen worden behandeld zijn onder andere: inheritance, polymorphism, const correctness, interfaces, templates/generics, operator overloading en gebruik van de C++ standard template libraries: STL & Boost. De principes zullen zo veel mogelijk op een abstract niveau worden gepresenteerd, tevens zal er aandacht worden geschonken aan het gebruik van diagrammen als hulpmiddel bij het object-georienteerd programmeren. Het tweede deel van de cursus richt zich op het ontwikkelen van vaardigheden voor het werken aan grote softwaresystemen. Ten eerste zal er uitgebreid worden stilgestaan bij memory management in C/C++. Memory management is een kritiek deel van elk C/C++ programma en vaak de bron van fouten. Geheugenallocatie, geavanceerde pointer manipulatie, valkuilen van memory management en hulpmiddelen voor debugging zullen nader worden bekeken. Ten tweede zal er aandacht zijn voor het gebruik van bestaande bibliotheken (libraries) in eigen software, het zelf ontwikkelen van bibliotheken om software te modulariseren, het testen van software, build systemen en gebruik van scripttalen. In het derde en laatste deel verschuift de focus naar het ontwerpen van softwaresystemen en het werken met uitgebreide bestaande Application Programming Interfaces (APIs) en moderne ontwikkelomgevingen. Gebaseerd op de vergaarde kennis over de basisprincipes van object-georienteerd programmeren zullen elementaire design patterns worden bestudeerd. Na een korte introductie tot Java zullen de studenten in een uitdagende eindopdracht praktijkervaring opdoen door een web service en bijbehorende Android applicatie te ontwikkelen.

Leerdoelen

Het kunnen uitleggen en gebruiken van standaard constructies uit het object-georienteerd programmeren. Gebruik kunnen maken van de C++ standard template library. Het kunnen interpreteren van eenvoudige klassendiagrammen. Het kunnen toepassen van geavanceerde pointermanipulatie en hulpmiddelen voor het debuggen van memory errors. Bestaande bibliotheken (shared libraries) kunnen gebruiken en zelf nieuwe bibliotheken kunnen schrijven. Simpele scripts kunnen schrijven die gebruik maken van bestaande modules. Een plan van aanpak kunnen voorstellen om software te testen. Kunnen omgaan met build systems en zelf complexe software kunnen compileren. Verschillen tussen C++ en Java syntax en semantiek kunnen benoemen. In staat zijn gebruik te maken van Java package imports en (Java) ontwikkelomgevingen. Het kunnen ontwerpen en implementeren van softwarecomponenten binnen een gestandaardiseerd framework. Het kunnen duiden en toepassen van elementaire design patterns. Een nieuwe klassenhierarchie kunnen ontwerpen op basis van best practices en design patterns en deze kunnen implementeren.

Rooster

Het meest recente rooster is te vinden op de LIACS website

Onderwijsvorm

hoorcollege, practicum

Toetsing

De toetsing van het vak omvat een uitgebreid practicum gedurende het gehele semester. Het practicum bestaat uit een viertal opdrachten. Een mondeling interview over de ingeleverde eindopdracht maakt deel uit van de beoordeling van de eindopdracht. Tevens zullen er gedurende het semester drie huiswerkopdrachten moeten worden ingeleverd. Het eindcijfer is het gewogen gemiddelde van de resultaten van de vier practicumopdrachten. De gewichten behorende bij de opdrachten worden bij aanvang van het college bekend gemaakt op de website van het vak. Om te kunnen slagen voor het vak moeten (1) de resultaten van alle practicumopdrachten ten minste een voldoende zijn, (2) alle huiswerkopdrachten moeten naar behoren zijn ingeleverd. Merk op dat de resultaten van de huiswerkopdrachten niet meewegen in het eindcijfer.

Literatuur

Wordt nog bekend gemaakt.

Aanmelden

Aanmelden via Usis: Selfservice > Studentencentrum > Inschrijven
Activiteitencodes te vinden via de facultaire website

Contact

Onderwijscoördinator Informatica, Riet Derogee

Website

programmeertechnieken