4 ECTS credits
115 u studietijd

Aanbieding 1 met studiegidsnummer 1008044ANR voor alle studenten in het 1e semester met een inleidend bachelor niveau.

Semester
1e semester
Inschrijving onder examencontract
Niet mogelijk
Beoordelingsvoet
Beoordeling (0 tot 20)
2e zittijd mogelijk
Ja
Onderwijstaal
Nederlands
Faculteit
Faculteit Ingenieurswetenschappen
Verantwoordelijke vakgroep
Elektronica en Informatica
Onderwijsteam
Jan LEMEIRE (titularis)
Bart JANSEN
Bob ANDRIES
Beerend CEULEMANS
Onderdelen en contacturen
12 contacturen Hoorcollege
36 contacturen Werkvormen en Praktische Oef.
24 contacturen Zelfwerk en -studie
Inhoud

De cursus behandelt elementaire programmeerconcepten met behulp van Python.

1)  Basisbegrippen van programmeren worden aangeleerd in Python. Python is een pedagogisch zeer interessante taal en voldoende laagdrempelig. Een bijkomend voordeel van de keuze van Python is de toepasbaarheid voor het scripten en automatiseren van vele softwarenpakketten, zoals het designpakket “Rinoceros3D” en zijn uitbreiding “Grasshopper”, welke in de latere jaren van de architectuuropleiding uitgebreid aan bod komen.

De inhoudstafel beslaat de basisconcepten van een moderne programmeertaal:

Les 1

Statements 

- uitdrukking/expression 
- toekenning/assignment
- functies (definitie en call)

Types, operatoren en built-in functies 
 
- int, float
- str 
- list 
- tuple 
- bool
 
Les 2
 
Modules 
Objecten en methodes
 
Les 3
 
Control flow statements 
 
- keuzes maken: if 
- iteraties
   o counted loops: for 
   o conditional loops: while
 
Les 4
 
Iteraties onder controle houden 
Recursie 
Werken met bestanden/files 
Fouten opsporen, onder controle houden en debuggen
 
Les 5
 
Algoritmes 
 
- zoeken/search
   o linear search
   o binary search 
- sort/sorteren
   o selection en insertion sort 
   o merge sort
 
Les 6
 
Python Wrap Up 
Een laatste algoritme van naaldje tot draadje

2) In inleidende oefeningensessies worden de syntaxelementen in Python uit het hoorcollege ingeoefend door het maken van eenvoudige oefeningen.  Er zal gebruik gemaakt worden van bibliotheken voor grafische output om de oefeningen en een

3) mini-project in de leefwereld van de architecten te brengen.

Studiemateriaal
Digitaal cursusmateriaal (Vereist) : Slides en bijhorend studiemateriaal, http://www.etro.vub.ac.be/Education/Courses/Python/
Handboek (Vereist) : Practical Programming, An Introduction to Computer Science Using Python, Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson, 2de, The Pragmatic Programmers, 9781937785451
Bijkomende info

De slides en bijhorend studiemateriaal zijn terug te vinden op http://www.etro.vub.ac.be/Education/Courses/Python/

Practical Programming: An Introduction to Computer Science Using Python, Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson

Leerresultaten

Algemene competenties

Kennis en inzicht:
* De student kent de basiselementen van een moderne computer en kan ze duiden in het kader van de computer als informatieverwerkend medium.
* De student kan de basiselementen, de combinatietechnieken en de abstractietechnieken uitleggen die in de programmeertaal Python beschikbaar zijn om computerprogramma's te bouwen.
* De student kan de opbouw van de algoritmen en datastructuren die in de cursus werden behandeld schetsen en de toepassing en schaalbaarheid ervan toelichten.
* De student weet dat er een breed scala van bibliotheken bestaan voor algemene en specifieke taken.
* De student ziet het belang van de opgedane programmeerkennis in voor de vakgebieden van de ingenieurswetenschappen (bouwkunde, mechanica, fysica, chemie, ...). Hij weet zijn creativiteit en inventiviteit in te zetten voor het bedenken van nuttige programma’s in het kader van deze ingenieursdisciplines.

Toepassing van kennis en inzicht:
* De student kan een rekenkundig probleem vertalen naar een algoritme.
* De student beheerst een moderne programmeertaal. Hij kan algoritmen van een gemiddelde complexiteit vertalen naar een python of java programma. Hij kan zijn programma debuggen en testen.
* De student kan een programma van een zekere omvang construeren dat voldoet aan de kwaliteitseisen van gestructureerd programmeren.
* De student kan bestaande bibliotheken gebruiken die instaan voor basisfunctionaliteiten.
* De student kan zijn kennis uit de verscheidene ingenieursdisciplines inzetten voor het implementeren van programma’s.

Oordeelvorming:
* De student kan voor een gegeven opdracht oordelen over de bruikbaarheid van een gegeven programmeertechniek, datastructuur of algoritme en de voor- en nadelen van bepaalde keuzes inschatten.

Communicatie:
* De student kan zowel met informatici als niet-informatici reflecteren over programma’s van een gemiddelde complexiteit. Hij kan de werking van algoritmes duidelijk maken alsook de programmatorische keuzes.
* De student kan in een beperkt team samenwerken aan een programma van een zekere omvang.
* De student kan ervoor zorgen dat de broncode van zijn programma begrijpbaar is door het te structureren, van een goede naamgeving te voorzien en niet-triviale aspecten van commentaar te voorzien.

Leervaardigheden:
* De student kan snel een nieuwe programmeertaal aanleren doordat hij de brug kan slaan met de taalelementen aangeleerd in deze cursus.
* De student kan het gebruik van nieuwe bibliotheken aanleren op basis van de beschikbare documentatie.

Beoordelingsinformatie

De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Schriftelijk bepaalt 67% van het eindcijfer

WPO Praktijkopdracht bepaalt 33% van het eindcijfer

Binnen de categorie Examen Schriftelijk dient men volgende opdrachten af te werken:

  • praktisch oefeningenexamen met een wegingsfactor 1 en aldus 33.5% van het totale eindcijfer.

    Toelichting: Praktisch oefeningenexamen
  • schrif ex inhoud hoorcolleges met een wegingsfactor 1 en aldus 33.5% van het totale eindcijfer.

    Toelichting: Schriftelijke examen over de inhoud van de hoorcolleges.

Binnen de categorie WPO Praktijkopdracht dient men volgende opdrachten af te werken:

  • project met mondel verdedeging met een wegingsfactor 1 en aldus 33% van het totale eindcijfer.

    Toelichting: Projectwerk met bijhorende mondelinge verdediging

Aanvullende info mbt evaluatie

Evaluatie van dit OO bestaat voor 1/3 uit projectwerk met bijhorende mondelinge verdediging, 1/3 voor een praktisch oefeningenexamen en 1/3 schriftelijke examen over de inhoud van de hoorcolleges.

Academische context

Deze aanbieding maakt deel uit van de volgende studieplannen:
Bachelor in de ingenieurswetenschappen: architectuur: Standaard traject
Bachelor in de ingenieurswetenschappen: architectuur: Verkort traject