After completing this course, the students will be able to write programs in an object-oriented manner and work according to a systematic software engineering process. More specifically:
- Making good and correct use of object-oriented programming concepts
- Basic insights into data structures, algorithm efficiency, multi-threading, and other specific libraries.
- How to apply the concepts above in C++
- Work according to an iterative agile software engineering process
This course teaches object-oriented programming concepts, as well as basic insights into data structures, algorithm efficiency, and multithreading. Each week first discusses a topic in lectures and then there are scheduled tutoring sessions where students work on weekly assignments. The last weeks are spent working on a final assignment in which students are required to use additional libraries and work according to an iterative software engineering process, without additional lectures.|
Students work in teams of two on weekly and final assignments and all assignments are graded. The final grade is a weighted average of these grades. The lectures and weekly assignments are the same as the MSc course Software Development for Robotics.