Software Engineering Skills
Academiejaar 2024—2025
Inhoud
In dit opleidingsonderdeel (SES) leer je de nodige skills om een softwareproject op de wereld te brengen volgens de regels van de kunst en met het aandacht voor de courante industriële praktijk. We besteden aandacht aan software development tools en de moderne software development lifecycle, alsook programmeer- en ontwerpvaardigheden.
Het eerste deel van dit vak (software development tools and practices) wordt ook gevolgd door de studenten elektronica (EA) als deel van het vak Electronic Engineering Skills (EES).
Cursusmateriaal
We trachten al het cursusmateriaal voor deze cursus te bundelen op deze website. Deze wordt doorheen het jaar aangevuld. De opgaves voor de labo-oefeningen vind je op de opdrachten-pagina. Voor sommige delen vind je ook nog slides op Toledo.
Deel 1: Software Development Tools and Practices (SES+EES)
In dit deel leer je werken met enkele moderne tools en onmisbare praktijken voor software-ontwikkeling:
- Terminal en IDE (Linux/WSL, VS Code)
- Versie- en issuebeheer (Git en GitHub)
- Dependency Management en build tools (gradle, makefiles)
- Test-Driven Development (TDD) en debugging
- Continuous integration en continuous deployment (CI/CD)
- Processen (SCRUM)
Deel 2: Programmer- en ontwerpvaardigheden (SES)
In dit deel scherpen we je programmeervaardigheden verder aan, verderbouwend op Software-ontwerp in Java.
Advanced Java
Hier behandelen we enkele geavanceerde (en recent toegevoegde) concepten uit Java. Gelijkaardige concepten bestaan vaak ook in andere programmeertalen.
- Records
- Generics
- Gegevensstructuren (collections)
- Multithreading
- Streams
Recursie en backtracking
Recursie en backtracking zijn krachtige tools om complexe problemen op te lossen. We leren hoe na te denken over recursie, alsook templates voor typische backtracking-problemen.
Design Patterns
Design patterns zijn ontwerpoplossingen voor vaak terugkerende problemen. Wanneer je zo’n probleem tegenkomt, biedt het patroon een goed startpunt voor je ontwerp. Er bestaan erg veel patronen; we bekijken er enkele zeer gekende en vaak voorkomende.
Syllabus
- Lesgevers:
- Coördinerend Verantwoordelijke: Prof. dr. ir. Koen Yskout
- Onderwijsassistent: ing. Arne Duyver
- Voor EES: Prof. dr. ing. Kris Myny
- Coördinerend Verantwoordelijke: Prof. dr. ir. Koen Yskout
- Kantoor: Technologiecentrum Diepenbeek, Groep ACRO.
Het materiaal op deze website bouwt voort op materiaal van Dr. ing. Wouter Groeneveld en Prof. dr. Kris Aerts.
Vereiste voorkennis
Het vak ‘Software Ontwerp in Java’ (INF1) dient eerst gevolgd te worden. We gaan uit van een basiskennis Java en object-georiënteerd programmeren.
Beoordeling en evaluatie
- Schriftelijke evaluatie tijdens onderwijsperiode: 50%.
- Schriftelijk examen (gesloten boek): 50%.
Een uitgebreide beschrijving is beschikbaar in de studiegids.
Meer leermiddelen
Zie elke sectie ‘meer leermateriaal’ voor extra materiaal per thema. Dit extra materiaal wordt aangeboden ter illustratie of verdieping voor de geïnteresseerde student, en is geen deel van de leerstof.
Kalender
Zie MyTimeTable UHasselt.