At the end of the course you will be able to :
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
- 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
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.
||Canvas Test Python
||Assignment/oral examination Python
||Canvas Test C++
||Assignments/oral examination C++