3 ECTS credits
75 h study time

Offer 1 with catalog number 1021128BNR for all students in the 1st semester at a (B) Bachelor - advanced level.

Semester
1st semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Enrollment Requirements
Students bachelor Computer Science and bachelor Artificial Intelligence must have followed ‘Structure of Computer Programs 1' and 'Databases' before they can enroll for ‘Object-oriented Systems'. 'Object-oriented Systems' means that you simultaneously follow 'Object-oriented programming' or have successfully passed 'Object-oriented programming'. For students in the preparatory programme: 'Object-oriented Systems' means that you simultaneously follow 'Structure of Computer Programs 1' or 'Higher-Order Programming', 'Databases' and 'Object-oriented programming' or have successfully passed 'Structure of Computer Programs 1', 'Databases' and 'Object-oriented programming'.
Taught in
Dutch
Faculty
Faculty of Sciences and Bioengineering Sciences
Department
Computer Science
Educational team
Wolfgang De Meuter (course titular)
Activities and contact hours
18 contact hours Lecture
18 contact hours Seminar, Exercises or Practicals
Course Content

This course is about modelling and organising large object-oriented systems. The course uses Scala as the programming language of expression. Knowledge of Scala is assumed.

  • From programs to systems: types of complexity, software development processes
  • Introduction to modelling and the UML
  • Class diagrams in the UML
  • State diagrams in the UML
  • Sequence diagrams in the UML
  • UML vs. Code: Programming Techniques
  • Object-oriented Design: Demeter, SOLID, Coupling
  • The GoF Design Pattern Catalogue
  • Alternative State Management Models: Reactive Programming
  • Alternative Object Models: Multimethods in Julia
  • Capita Selecta of Modern OO System Development.
Course material
Handbook (Required) : UML @ Classroom, An Introduction to Object-Oriented Modeling, M. Seidl, M. Scholz, C. Huemer, G. Kappel, Springer, 9783319127415, 2015
Digital course material (Required) : Cursusmateriaal hoorcollege, W. De Meuter, Canvas
Additional info

Course material will be distributed via the learning platform.

Learning Outcomes

General competences

Final competences:

The student has good knowledge of modelling, more in particular Object Oriented (OO) modelling in the UML, and (s)he is able to apply the knowledge to describe medium-sized software projects (programming projects, databases, websites, …).

(S)he has a good knowledge of how UML concepts map onto advanced Scala concepts.

The student understands the quality properties of well-designed OOP software and why GOF design patterns contribute to those properties.

The student is aware of more advanced OOP models such as reactive programming in Scala and the multi method model used by Julia and Clojure.

Grading

The final grade is composed based on the following categories:
Written Exam determines 100% of the final mark.

Within the Written Exam category, the following assignments need to be completed:

  • Written exam with a relative weight of 1 which comprises 100% of the final mark.

Additional info regarding evaluation

There is a written exam.

Allowed unsatisfactory mark
The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.

Academic context

This offer is part of the following study plans:
Bachelor of Business Economics: Minor Minor Education (only offered in Dutch)
Bachelor of Computer Science: Default track (only offered in Dutch)
Bachelor of Artificial Intelligence: Default track (only offered in Dutch)
Master of Teaching in Science and Technology: biologie (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: geografie (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: fysica (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: wiskunde (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: ingenieurswetenschappen (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Economics: standaard traject (90 ECTS, Etterbeek) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track C (Ind Ing, 61 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track A (76 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track B (65 ECTS) (only offered in Dutch)