SluitenHelpPrint
Switch to English
Cursus: INFOB1CODE
INFOB1CODE
Computationeel denken
Cursus informatie
CursuscodeINFOB1CODE
Studiepunten (EC)7,5
Cursusdoelen
Na het succesvol afronden van deze cursus kun je:
  1. programmeren in Python, door correct gebruik te maken van de constructies en syntax van deze taal,
  2. computationeel denken over problemen uit de informatiekunde,
  3. computationeel denken toepassen op het terrein van de information retrieval,
  4. problemen opdelen in de afzonderlijke stappen die nodig zijn om ze op te lossen,
  5. bestaande tools en modules vinden en gebruiken om afzonderlijke stappen te implementeren,
  6. een eenvoudige gebruikersinterface implementeren,
  7. geteste, gedocumenteerde en onderhoudbare Pythoncode opleveren.

Deze cursus is uitsluitend bestemd voor studenten Informatiekunde, Liberal Arts en Sciences met hoofdrichting Informatiekunde, en studenten die de minor Informatiekunde volgen.
Ook kan deze cursus deel uitmaken van een premaster voor de programma's Human Computer Interaction of Business Informatics.
Andere bachelor studenten met een interesse in Python en/of computationeel denken kunnen zich inschrijven voor de cursus Programmeren in Python (BETA-B1PYT) in periode 3.

Toetsvorm

Het vak kent twee toetsen. Elke toets telt mee voor 30% van het eindcijfer (beide toetsen samen dus voor 60%). Om te slagen voor het vak dient het gewogen gemiddelde van de toetscijfers ten minste een onafgeronde 5,5 te zijn.

Voor het praktische gedeelte van het vak worden drie cijfers gegeven voor de drie practicumopdrachten. De eerste practicumopdracht telt mee voor 10% van het eindcijfer, de andere twee practicumopdrachten tellen elk mee voor 15%. De drie opdrachten samen tellen dus mee voor 40% van het eindcijfer. Om te slagen voor het vak dient het gewogen gemiddelde van opgaven en eindproject ten minste een onafgeronde 5,5 te zijn.
 

Om mee te mogen doen aan de aanvullende toets moet de oorspronkelijke uitslag minstens een 4 zijn.
 

Inhoud

Computationeel denken is een van je belangrijkste competenties als informatiekundige. Tijdens en na je studie ben je werkzaam op het raakvlak van mens en informatietechnologie, van organisaties en informatiesystemen, van de fysieke wereld en de digitale data. Als 'architect' van digitale oplossingen dien je je bouwmateriaal (data, algoritmen, programmeertalen, modules, user interfaces) te kennen en er productief en creatief mee om te kunnen gaan. Je kunt bedenken en uitleggen wat mogelijkheden en beperkingen van bepaalde oplossingen zijn. Je bent in staat om te demonstreren waarom een voorgestelde oplossing werkt, door zelf prototypes en demo's te programmeren en door inzicht te tonen in de technische implementatie van prototypes die door anderen geprogrammeerd zijn. Meer en meer wordt er ook van je verwacht dat je kunt voorzien waar technische keuzes maatschappelijk ongewenste gevolgen kunnen hebben.


Zoals al uit de naam van het vak blijkt, is computationeel denken het centrale thema van dit vak. Maar je hebt met bepaalde aspecten al kennis gemaakt in de cursussen Datamodelleren en Mens, Maatschappij en ICT. Veel vakken in de rest van je opleiding dragen bij aan de leerlijn computationeel denken, zoals het Introductieproject, Systeemontwikkelingsmethoden en Data Analytics. De vaardigheden die je in de cursus Computationeel Denken (CODE) verwerft, kun je door je hele opleiding verder inzetten, bij voorbeeld bij het maken van prototypes en het uitvoeren van analyses. Mocht je later een nieuwe programmeertaal willen leren, dan zal je ervaring uit deze cursus maken dat je snel de basisconcepten kunt verwerven.
In deze cursus volgen we de omschrijving van computationeel denken van Denning en Tedre (2019): Computational thinking is the mental skills and practices for (1) designing computations that get computers to do jobs for us, and (2) explaining and interpreting the world as a complex of information processes.

Daarom hebben we ook twee (gerelateerde) lijnen in dit vak aangebracht:
designing: de programmeertaal Python. Python is een 'imperatieve' programmeertaal die in de wetenschap en industrie veel gebruikt wordt om allerlei kleine en grote taken te verrichten, zoals analyse van data en tekst, visualisatie, voor deep learning, en nog veel meer. Er is een wereldwijde community van gebruikers die voor zo ongeveer elke denkbare taak 'modules' beschikbaar stelt, van muziekanalyse tot klimaatwetenschap.
explaining: we behandelen een aantal onderdelen van de information retrieval, het vakgebied dat gaat over de ontwikkeling van zoektechnologie. Hoe kun je teksten, maar ook afbeeldingen en muziek, doorzoekbaar maken? Welke modellen en algoritmen worden hierbij gebruikt? Hoe geeft je een gebruiker het optimale antwoord op zijn/haar zoekvraag?
Beide lijnen komen bij elkaar in de practicumopdrachten: zelf eenvoudige Information Retrieval-toepassingen programmeren in Python.

Werkvorm
Twee keer per week hoorcollege en twee keer per week werkcollege. Tijdens het werkcollege werk je in groepjes van twee studenten aan projectopdrachten. Daarnaast zijn er individuele opdrachten die meetellen voor de inspanningsverplichting.

Literatuur
De inhoud van de hoorcolleges, plus een aantal artikelen en boekhoofdstukken die online beschikbaar zijn.

SluitenHelpPrint
Switch to English