VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

101-0700-00L 4 Credits BSC D-BAUG
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Programming for Engineers

Lecturers & Examiners: Prof. Dr. Bruno Sudret, Dr. Nora Lüthen
VVZ CR n/a

Last Updated: 2026-06-01 11:30:33

Abstract

This course is a hands-on introduction to programming with Matlab and Python, oriented at the needs of civil engineers. The course is held in a novel format comprising self-paced tutorials, a project consisting of implementing an engineering application including graphical user interface, and individual meetings with teaching assistants to demonstrate understanding and progress.

Objective

Students recognize the usefulness and power of computer tools in civil engineering, and are prepared to independently use Matlab or Python for solving relevant engineering problems. • Students are able to explain basic computer science concepts in simple terms. • Students are able to understand and explain the functionality of existing code. • Students are able to analyse a simple civil engineering problem in order to partition it into logical blocks and devise an algorithm to systematically solve the problem. • Students are able to implement simple imperative algorithms in Matlab and Python and explain the functionalities of their code. They are able to extend existing code with new functionalities. • Students are able to validate, test and debug their own code as well as existing code. • Students are able to explain the basics of object-oriented and interactive programming and are able to extend existing skeleton code to create simple graphical user interfaces.

Content

The course is structured into six modules. The first five are using Matlab, while the last introduces Python. 1. Getting to know Matlab: Matlab as a calculator; variables and arrays 2. Programming basics I: iterating and branching 3. Programming basics II: input and output, functions, visualization 4. Introduction to scientific programming: implementing simple algorithms from numerics, statistics and discrete math; validation, testing and debugging 5. From structures to objects to GUI: basics of object-oriented programming, introduction to interactive programming and graphical user interfaces (GUI) 6. Introduction to programming with Python

Resources

Lecture Notes

A script will be provided. The students will discover the topics of each module through E.Tutorials that they will follow at their own pace online.

Literature

Additional book (not mandatory): T. Siauw and A. M. Bayen. An introduction to MATLAB programming and numerical methods for engineers, Elsevier (2015). ISBN: 978-0-12-420228-3

General Information

Language
English
Levels
BSC
Frequency
Yearly recurring

Examination

Type
session examination
Mode
written 180 minutes
Aids
Each student may bring 4 one-sided (or 2 double-sided) A4 sheets of personal notes. A PDF of the lecture script will be provided in the second part of the exam. Electronic devices are not allowed.
Digital
The exam takes place on devices provided by ETH Zurich.
This course offers seven learning tasks in the form of 6 module presentations and an app project, for which each student presents their solutions individually to a teaching assistant. These presentations take place every 2-3 weeks all along the semester. A maximum bonus of 0.25 grade points can be obtained as follows:* N successful module presentations (out of 6): 0 grade points if N<=3, 1/16 grade points if N=4, 1/8 grade points if N=5 or 6* Successful presentation of the app project (1/8 grade points)This bonus is added to the final exam grade before rounding. Note that the maximal grade of 6.0 can also be obtained without this bonus.Final exam provided in English and German.

Course Components

Type Title Time & Place Hours
lecture Programming for Engineers
Remark: 1st lecture on Wednesday 17.09. 16:15-18:00 (instead of exercises) in HG D 1.2, from semester week 2 on every Monday.
  • Mon 14:15-16:00 (HG E 1.2)
  • 17.09 Date 16:15-18:00 (HG D 1.2)
2 h weekly
exercise Programming for Engineers
There are no fixed exercise groups. Instead, every 2 weeks the students discuss their solutions individually with a teaching assistant. In the remaining time, the teaching assistants are available for questions and support.
  • Wed 16:15-18:00 (HG D 5.2)
  • Wed 16:15-18:00 (HG F 26.5)
  • Thu 14:15-16:00 (HG E 21)
  • Thu 16:15-18:00 (HG E 21)
2 h weekly

Offered In