101-0700-00L  Programming for Engineers

SemesterAutumn Semester 2022
LecturersB. Sudret, N. Lüthen
Periodicityyearly recurring course
Language of instructionEnglish


101-0700-00 VProgramming for Engineers
Remark: 1st lecture on 21.09.2022, from semester week 2 on every monday.
2 hrs
Mon12:15-14:00HG D 1.1 »
21.09.16:15-18:00HG D 1.2 »
B. Sudret, N. Lüthen
101-0700-01 UProgramming for Engineers
Groups are selected in myStudies.
Week 1: Exercises in groups according to choice in myStudies.
Weeks 2-14: There are no fixed exercise groups. Instead, every 2 weeks the students discuss their solutions individually with a teaching assistant. In the remaining time, teaching assistants are available for questions and support.
Additional question time is offered every Wednesday from 16:15-18:00 in NO D11.
2 hrs
Tue16:15-18:00LFW C 11 »
Thu14:15-16:00HG D 5.3 »
14:15-16:00HG E 21 »
16:15-18:00HG E 21 »
16:15-18:00HG G 26.1 »
B. Sudret, N. Lüthen

Catalogue data

AbstractThis 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.
ObjectiveStudents recognize the usefulness and power of computer tools in civil engineering, and are prepared to independently use Matlab or Python for solving future 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.
ContentThe 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
Lecture notesA 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.
LiteratureAdditional 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
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Media and Digital Technologiesassessed
Social CompetenciesCommunicationfostered
Personal CompetenciesCreative Thinkingfostered
Integrity and Work Ethicsfostered
Self-awareness and Self-reflection fostered
Self-direction and Self-management fostered

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
In examination block forBachelor's Degree Programme in Civil Engineering 2022 (First Year Examination Block A)
ECTS credits4 credits
ExaminersB. Sudret, N. Lüthen
Typesession examination
Language of examinationEnglish
RepetitionThe performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examinationwritten 240 minutes
Additional information on mode of examinationThis course offers six learning tasks in the form of module presentations, where each student presents their exercise solutions individually to a teaching assistant. They take place every 2-3 weeks. Successfully presenting at least five out of six modules results in a bonus of 0.25 grade points on the final course grade. “Bonus” means that students can still achieve the maximum grade of 6 in the course unit even if they only sit the final examination.
Final exam provided in English and German.
Written aidsEach 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.
Online examinationThe examination may take place on the computer.
Distance examinationIt is not possible to take a distance examination.
If the course unit is part of an examination block, the credits are allocated for the successful completion of the whole block.
This information can be updated until the beginning of the semester; information on the examination timetable is binding.

Learning materials

Main linkProgramming for Engineers - Moodle
Only public learning materials are listed.


101-0700-01 UProgramming for Engineers
Tue16:15-18:00LFW C 11 »
Thu14:15-16:00HG D 5.3 »
Thu14:15-16:00HG E 21 »
Thu16:15-18:00HG E 21 »
Thu16:15-18:00HG G 26.1 »


There are no additional restrictions for the registration.

Offered in

Civil Engineering BachelorFirst Year Examination Block AOInformation