Kies de Nederlandse taal
Course module: 191158510
Programming in Engineering
Course infoSchedule
Course module191158510
Credits (ECTS)3
Course typeCourse
Language of instructionEnglish
Contact persondr. T. Weinhart
PreviousNext 1
J.E. Alvarez Naranjo
Lecturer J.T.W. Berendsen
dr. I. Ostanin
prof.dr. A.R. Thornton
Contactperson for the course
dr. T. Weinhart
Academic year2021
Starting block
RemarksThe course is being lectured in Block 1A and in summer, but you can take the course in self-study throughout the year
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
At the end of the course you will be able to :
  • write, compile, and execute small programs in Python and C++,
  • compose your own algorithms to solve some common engineering problems
  • translate everyday problems into computer-language
  • read, understand, modify, and debug bigger programs,
  • use libraries and packages from the vast and diverse python ecosystem to efficiently solve practical problems
 You can also choose to learn Matlab instead of Python. In that case, you will learn about many advanced features of MATLAB, including the symbolic tool box, built-in ODE solvers and structured data type
Computations are omnipresent in complex engineering problems in solid mechanics, fluid mechanics, civil and process engineering. Many problems are resolved with the aid of computers and dedicated programs today. Therefore, it is important for an engineer to be familiar with computers and programming languages. In this course, you will learn how to translate problems into algorithms and how to implement the algorithm into a computer language. We will focus on implementation in two widely used programming languages: Python or MATLAB, and C++. No previous programming knowledge is required. You will learn how to write, compile, and execute small programs in each language. We teach you how to write structured reusable code (object-oriented programming in Python and C++) and how to visualize your solutions (in MATLAB). Further, we teach how to better understand, analyze, optimise, and debug code.

The course consists of lectures as well as lots of practical exercises. The course is divided into two sections: (1) A choice of Python or MATLAB, and (2) C++. At the end of each section, you will be asked to complete a Canvas test, solve a final take-home assignment, and present your work in an oral exam.
The course is modular: it is possible to do only one of the two sections for 1.5 EC, or both for 3 EC. You can further extend the amount of credits earned by up to 5 EC by doing further exercises from Advanced Programming in Engineering.

Finally, while lectures are given in Block 1A and in the summer, the course can be completed in self-study year-round. With exams and presentation sessions available each quartile.

Students from any field of study are welcome, as long as your study advisor agrees. In particular, this course can also be taken by pre-master CE/CPE & Nanotechnology students.
  Description Credits
1 Canvas Test Python 0,3
2 Assignment/oral examination Python 1,2
3 Canvas Test C++ 0,3
4 Assignments/oral examination C++ 1,2
5 Assignments APiE 0-5
Assumed previous knowledge
No previous programming knowledge is required.
Participating study
Master Mechanical Engineering
Participating study
Master Computer Science
Participating study
Master Applied Mathematics
Participating study
Master Industrial Engineering and Management
Participating study
Master Nanotechnology
Required materials
Course guide
Lecture notes from Canvas and script (available online as pdf)
Recommended materials
Instructional modes
Individual study



Assignments/oral examination

Kies de Nederlandse taal