Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Human Computer Interaction Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Computationeel denken

Vakcode:INFOB1CODE
Studiepunten:7.5 ECTS
Periode:periode 2 (week 46 t/m 5, d.w.z. 11-11-2019 t/m 31-1-2020; herkansing week 16)
Timeslot:D
Deelnemers:zie Osiris Docent
Rooster:De officiële roosters staan in Osiris
Docenten:
vormgroeptijdweekzaaldocent
college          Marijn Schraagen
Frans Wiering
innovatie          Marijn Schraagen
Frans Wiering
werkcollege groep 1        Federica Vinella
Alexander Bancken
David Schaareman
groep 2        Metehan Doyran
David Schouten
Merel van den Berg
groep 3        Niels Kwadijk
Victor Severijns
Inhoud: LET OP: dit vak is nog in ontwikkeling. Onderdelen van deze beschrijving kunnen nog veranderen tot de start van blok 2 op 11 november 2019.

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 deze cursus verwerft, kun je door je hele opleiding verder inzetten, bij voorbeeld bij het maken van prototypes en het uitvoeren van analyses. Mocht je hierbij 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 afsluitende opdracht van het werkcollege: zelf een kleine zoekmachine programmeren in Python.

Leerdoelen

Na afloop van dit vak 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 de afzonderlijke stappen te implementeren,
  6. een eenvoudige gebruikersinterface implementeren,
  7. geteste, gedocumenteerde en onderhoudbare Pythonprogramma's opleveren.

Deelname

Dit vak is uitsluitend bestemd voor studenten Informatiekunde, Liberal Arts en Sciences met hoofdrichting Informatiekunde, en studenten die de minor Informatiekunde volgen. Andere studenten met een interesse in Python en/of computationeel denken kunnen zich aanmelden voor de cursus Programmeren in Python (BETA-B1PYT) in periode 3.
Literatuur:Voor dit vak hoeft geen verplichte literatuur te worden aangeschaft. De leerstof bestaat uit de inhoud van de hoorcolleges, plus een aantal artikelen en boekhoofdstukken die online beschikbaar zijn.
Werkvorm:Twee keer per week hoorcollege. Twee keer per week werkcollege. Bij het werkcollege geldt aanwezigheidsplicht (minimaal 80%). Het werkcollege wordt afgesloten met een project dat je met een klein team uitvoert.
Toetsvorm:Het vak kent twee toetsen, die elk voor 25% meetellen voor het eindcijfer. Om te slagen voor het vak, dient het gemiddelde van de toetscijfers ten minste een onafgeronde 5,5 te zijn.

Voor het praktische gedeelte van het vak worden twee cijfers gegeven. De opgaven tellen voor 30% mee voor het eindcijfer, en het eindproject voor 20%. Om te slagen voor het vak dient het gewogen gemiddelde van opgaven en eindproject ten minste een onafgeronde 5,5 te zijn.

Inspanningsverplichting voor aanvullende toets:De uitslag voor het vak dient tenminste een (onafgeronde) vier of AANV te zijn. Bovendien moet aan de aanwezigheidsplicht bij de werkcolleges zijn voldaan.
wijzigen?