Python Introduction & Other Useful Tools

This page provides a list of externally provided tutorial videos, i.e., material not created by our group. We tried to keep the core video material short so that the videos have an overall length of approx. 6.5h (or approx. 3h short version) and should teach you the basics of Python. There are a lot of more detailed courses available online in case you want to dive deeper. We furthermore cover a few essential tools that will make you more efficient when woking with your computer.

Python is a popular programming language that we are using in the Photogrammetry and Robotics Lab at the University of Bonn for the homework assignments in our courses. This starts with the Photogrammetry I+II course in the BSc program in the same way as for the Photogrammetry and RS and the Mobile Sensing and Robotics courses – basically for every course except the C++ course that we are offering. Thus, it is important to know Python and to be able to use it as a central tool for coding small projects. Most homework assignments will require some math tools (see NumPy), visualizations (see Matplotlib) and will be submitted as Jupyter notebooks (see Jupyter Lab). Furthermore, we recommend that you get used to command line tools, the Linux/Unix/OSX command line interface, version control, etc.

We suggest using Jupyter-Lab (an updated version of Jupyter-Notebook) as the coding environment. For installing all the required software (Python3, Jupyter-Lab, and the libraries) we recommend installing Anaconda with Python-3.X. with X>=7; Installation guides can be found here:

What are these videos about and why Learning Python?

We are using Python in basically all courses offered by the Photogrammetry and Robotics Lab for the homework assignments. Thus, you must be able to realize small projects in Python and the videos below should simplify your life learning it.

Introduction to Python

This video is 4.5h introduction to Python. If you have already programming experience or this video is too verbose for you, have a look to the 1.5h crash course alternative. Python will be the programming language for the homework assignments in the Photogrammetry and Robotics Lab (and in other labs as well).

Jupyter Notebook Lab Tutorial

Notebooks will be used for completing the homework assignments.

Python NumPy Tutorial

This video is a Python NumPy Tutorial and covers things like creating arrays, indexing, math, statistics, and reshaping. NumPy is a heavily used library and key for the mathematical operations needed to solve the homework assignments.

Python Matplotlib Tutorial

This video is a Python Matplotlib Tutorial. Matplotlib is the key library used to visualize results.

Python Exercises

You can download the Python exercise here.

The Shell

This video is part of MIT’s The Missing Semester Course addressing how to use a shell effectively.

Computers these days have a variety of interfaces for giving them commands; fanciful graphical user interfaces, voice interfaces, and even AR/VR are everywhere. These are great, but they are often fundamentally restricted in what they allow you to do, To take full advantage of the tools your computer provides, we have to go old-school and drop down to a textual interface: The Shell. If you are not used to shells such as bash or zsh, please watch the lecture.

Version Control using Git

This video is part of MIT’s The Missing Semester Course addressing how to use version control.

Version control systems are tools used to track changes to source code or other collections of files and folders. As the name implies, these tools help maintain a history of changes; furthermore, they facilitate collaboration. We use the version control system git, which is popular today and a common too used for our developments. If you are not used to git, please watch the lecture.

The Missing Semester

If you want to learn more and aim at becoming more effective, we highly recommend to watch the full The Missing Semester Course by MIT.