Principles of Programming (2022)
Contents
Principles of Programming (2022)#
Principles of Programming is a one-semester master course building on profound knowledge of object-oriented design, programming in Java, and geospatial data in all its forms by adding aspects of software engineering, the high-performance language C++ (in its modern form) and Python.
Material#
Lecture 1: Basics / States / Operating Systems / Command Line
Lecture 2: Imperative Programming
Lecture 3: Imperative Programming II
Tutorial on / with numpy
Completion of Python Syntax and Data Structures, material above
Lecture 4:
Lecture 5: Geospatial Images
GDAL Introduction
GDAL for a Cloudfree Cover of Germany
Background and Context#
Principles of Programming is an advanced (master) course in the study program Geodesy and Geoinformation. This course assumes very good knowledge of at least one object-oriented programming language (typically Java), object-oriented design and data modeling (UML, etc.), as well as geospatial data and basic geodata algortihms.
Based on this knowledge (which is typically taught in the Bachelor degree program at Technical University of Munich, the aim of this lecture is described as
With this course, students are enabled to solve their geodetic problems using programming. They obtain a working knowledge of programming languages, algorithms, software patterns and libraries needed to solve complex computatoinal problems.
in the module definition and we give the following framework of aspects that we have to cover:
In this course, students are introduced to advanced programming and algorithms with examples in Python and C++. It shall as well include some examples from computational geometry, point cloud processing, image analysis, etc. to - at the same time - introduce canonical patterns or even core libraries for working with data from subfields of geodesy.
Python, numpy, tensorflow
C++11, generic programming (beyond object orientation which I expect them to “roughly” know)
Python & C++ interaction
Various Data Structures and techniques
Time Plan#
This lecture is organized into thirteen units out of which you can influence quite a few depending on the previous knowledge in the group and the interest.
First the dates in 2022/23:
Date |
Topic |
---|---|
18.10.2022 |
Lecture + Tutorial |
25.10.2022 |
Lecture + Tutorial |
01.11.2022 |
Public Holiday |
08.11.2022 |
Lecture + Tutorial |
15.11.2022 |
Conflict (in resolution) |
22.11.2022 |
Lecture + Tutorial |
29.11.2022 |
Lecture + Tutorial |
06.12.2022 |
Lecture + Tutorial |
13.12.2022 |
Lecture + Tutorial |
20.12.2022 |
Lecture + Tutorial |
Christmas Break |
|
10.01.2023 |
Lecture + Tutorial |
17.01.2023 |
Lecture + Tutorial |
24.01.2023 |
Lecture + Tutorial |
31.01.2023 |
Lecture + Tutorial |
07.02.2023 |
Lecture + Tutorial |
———– |
——————– |
Modules#
tba