Computer Programming in Hydrology
Lecturer (assistant) |
Faizan Anwar [L]
|
---|---|
Number | 0000002813 |
Type | lecture with integrated exercises |
Duration | 2 SWS |
Term | Sommersemester 2024 |
Language of instruction | English |
Position within curricula | See TUMonline |
Dates | See TUMonline |
- 18.04.2024 11:30-13:00 N0199, Cip-Raum
- 25.04.2024 11:30-13:00 N0199, Cip-Raum
- 02.05.2024 11:30-13:00 N0199, Cip-Raum
- 16.05.2024 11:30-13:00 N0199, Cip-Raum
- 23.05.2024 11:30-13:00 N0199, Cip-Raum
- 06.06.2024 11:30-13:00 N0199, Cip-Raum
- 13.06.2024 11:30-13:00 N0199, Cip-Raum
- 20.06.2024 11:30-13:00 N0199, Cip-Raum
- 27.06.2024 11:30-13:00 N0199, Cip-Raum
- 04.07.2024 11:30-13:00 N0199, Cip-Raum
- 11.07.2024 11:30-13:00 N0199, Cip-Raum
- 18.07.2024 11:30-13:00 N0199, Cip-Raum
Admission information
See TUMonline
Note: None
Note: None
Objectives
After participating in the module, students will be able to:
1. understand how data are seen by a computer processor
2. understand how computer instructions act on given data
3. to transfer their thoughts and equations into a form that a computer expects
4. develop computer code that models the various aspects of the hydrological cycle
5. evaluate and use source code written by others
6. plan and create larger projects together with others
1. understand how data are seen by a computer processor
2. understand how computer instructions act on given data
3. to transfer their thoughts and equations into a form that a computer expects
4. develop computer code that models the various aspects of the hydrological cycle
5. evaluate and use source code written by others
6. plan and create larger projects together with others
Description
1. Introduction to programming using Python
2. Various built-in objects in Python
3. if/elif/else and for and while loops
4. Function and Classes
5. Introduction to the de-facto libraries
6. Processing input data
7. From problem to computer code
8. Writing a model
9. Debugging
10. Analyzing model outputs via statistics and plotting
11. Writing robust computer code
2. Various built-in objects in Python
3. if/elif/else and for and while loops
4. Function and Classes
5. Introduction to the de-facto libraries
6. Processing input data
7. From problem to computer code
8. Writing a model
9. Debugging
10. Analyzing model outputs via statistics and plotting
11. Writing robust computer code
Prerequisites
None.
Teaching and learning methods
The module consists of lectures with integrated exercises. The students are encouraged to bring their own laptops. Portable open-source software will be made available to all.
As the aim is to translate thoughts into computer code, different concepts and objects are introduced first with an example. The students are then asked to solve a small problem that demonstrates a use case in each lecture. Hands-on help is provided. Effective use of an Integrated Development Environment (IDE) is demonstrated.
Various problems in hydrology are described. The students are then taught how to break down a complex task in to small chunks that are then prepared in a form that is suitable for a computer. As homework, students are given problems to solve either by themselves and/or in groups. Finally, the students write a report where they demonstrate their ability to understand a given situation and provide the solution in the form of a running computer code that takes input data, models it, analyzes the model outputs and summarizes them in the form of statistics and graphs.
As the aim is to translate thoughts into computer code, different concepts and objects are introduced first with an example. The students are then asked to solve a small problem that demonstrates a use case in each lecture. Hands-on help is provided. Effective use of an Integrated Development Environment (IDE) is demonstrated.
Various problems in hydrology are described. The students are then taught how to break down a complex task in to small chunks that are then prepared in a form that is suitable for a computer. As homework, students are given problems to solve either by themselves and/or in groups. Finally, the students write a report where they demonstrate their ability to understand a given situation and provide the solution in the form of a running computer code that takes input data, models it, analyzes the model outputs and summarizes them in the form of statistics and graphs.
Examination
The exam consists of a project report that is submitted by a group of students (up to two, 80% of the grade, ca. 25 pages) and its oral presentation (20% of the grade, individual group member evaluation, 60 minutes). The students demonstrate the ability to understand and model a given problem in hydrology (e.g., prepare input for a rainfall-runoff model, run it and show the results). They will analyze the problem and provide a solution using methods and tools that they learned in this course. In the project report, it should be possible to clearly identify the specific contribution of each group member. The final grade depends on how detailed their analysis and solution is and the quality of its presentation.
Recommended literature
Programming with Python for Engineers by Sinan Kalkan and Onur Tolga Sehitoglu and Gokturk Ucoluk