Home/Vakken/Software engineering
INFOMSO7.5 ECTSQ1DutchBachelor

Software engineering

FaculteitFaculty of Science
NiveauBachelor
Studiejaar2026-2027

Beschrijving

Course goals

Software Engineering gaat over het ontwikkelen van objectgeörienteerde software, en gaat verder waar imperatief Programmeren/gameprogrammeren ophield. We besteden aandacht aan analyse, ontwerp, en implementatie. Daarnaast gaat Software Engineering ook over het softwareontwikkelproces als geheel, en alles wat erbij komt kijken om goede software te ontwikkelen. Daarbij kun je denken aan onderwerpen als requirements engineering, design patterns, testen, refactoren, (agile) ontwikkelmethodes, maar ook recente ontwikkelingen zoals de inzet van Generatieve AI voor softwareontwikkeling.

De volgende leerdoelen komen aan bod:

  • Begrijpen welke problemen behoren bij softwareontwikkeling en hoe verschillende softwareontwikkelingsmethodes deze problemen adresseren.
  • Gegeven een casus voor een (kleinschalig) softwareproject, een precieze analyse kunnen opstellen van de gewenste functionaliteit door middel van use cases, requirements documenten en een domeinmodel.
  • Het maken van een ontwerp voor software volgens de principes van goed objectgeörienteerd ontwerp, waarbij er rekening wordt gehouden met mogelijke toekomstige veranderingen.
  • UML diagrammen kunnen lezen, ontwerpen, en implementeren.
  • Demonstreren dat je de intentie, doel, en implementatie van verschillende design patterns begrijpt.
  • Aan de hand van een casus, een ontwerp maken dat gebruik maakt van design patterns en beargumenteren waarom deze design patterns nodig zijn, en hoe ze de kwaliteit van het ontwerp verbeteren.
  • Het kritisch analyseren van een ontwerp, inclusief een beoordeling van hoe het ontwerp om zal kunnen gaan met veranderende requirements.
  • Het begrijpen van de rol van testen, refactoring en continuous integration in een softwareontwikkelingsproces.
  • Het schrijven van een geschikte set van unit tests om een functie te testen, en het kunnen uitvoeren van refactorings om code te verbeteren.
  • Kunnen reflecteren op de ethische aspecten bij softwareontwikkeling.
  • Kennis hebben van hoe AI kan worden ingezet voor softwareontwikkeling.
Toetsing
Midterm 20% - verplicht - minimaal resultaat: 5
Endterm 30% - verplicht - minimaal resultaat: 5
Practica 50% - verplicht - minimaal resultaat: 5

Content

NB Het Nederlands wordt als voertaal gebruikt in de colleges, de communicatie en de toetsing van deze cursus, tenzij betrokken docenten deze taal onvoldoende beheersen. Het gebruikte cursusmateriaal zal typisch Engelstalig zijn.

 

Reviews0 reviews

Nog geen reviews voor dit vak. Wees de eerste!

Heb jij dit vak gevolgd?

Deel je ervaring met toekomstige studenten. Inloggen met je Universiteit Utrecht mailadres duurt één minuut.

Schrijf een review