Nora Lüthen: Catalogue data in Autumn Semester 2022
|Dr. Nora Lüthen
Risiko, Sich., Ungew. im Bauing.w.
ETH Zürich, HIL E 22.2
|+41 44 633 61 09
|Civil, Environmental and Geomatic Engineering
|Programming for Engineers
|2V + 2U
|B. Sudret, N. Lüthen
|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.
|Students 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.
|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
|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.
|Additional book (not mandatory):
T. Siauw and A. M. Bayen. An introduction to MATLAB programming and numerical methods for engineers, Elsevier (2015).