Literature and Resources

Good books and resources to read

This section provides a curated list of books and resources to enhance your understanding of algorithmic thinking and programming. Each recommendation includes a brief description to help you choose the most suitable resources for you.

Algorithmic Thinking

Books

  • Christian, B., & Griffiths, T. (2016). Algorithms to live by: the computer science of human decisions. First international edition. New York, Henry Holt and Company.
    • A book that inspired this lecture and will give you a good intuition for the principles of algorithmic thinking and how they can be applied to solve problems in everyday life.
  • Zingaro, D. (2024) Algorithmic thinking, 2nd edition: Unlock your programming potential. AU: No Starch Press.
    • A book that introduces you to different algorithms and their reasoning. Written without any pseudocode, but with a lot of examples and explanations.

Python

Books

  • Downey, A. B. (2024). Think Python: How to think like a computer scientist (Third edition). O’Reilly.
  • VanderPlas, J. (2016). A whirlwind tour of Python (August 2016, First edition). O’Reilly Media Inc.
    • A very good and short book to get a quick overview of the most important features of Python if you already have some experience with programming.
    • Link to the free online version
  • Elter, S. (2021). Schrödinger programmiert Python: Das etwas andere Fachbuch (1. Auflage). Rheinwerk Verlag.
    • A book that is unfortunately only available in German, but a very good and comedic start for beginners with lots of illustrations, examples and exercises. It is only available in print.
  • Matthes, E. (2023). Python crash course: A hands-on, project-based introduction to programming (3rd edition). No Starch Press.
    • A great book to learn Python with a hands-on approach. Highly recommended even for beginners but only available to buy.

Resources

  • Daily Dose of Data Science
    • A website and a newsletter with lots of easy-to-digest resources to improve your skills in Data Science.

General

Books

  • Wilke, C. (2019). Fundamentals of data visualization: A primer on making informative and compelling figures (First edition). O’Reilly Media.
    • A book that is highly recommended to understand the principles of data visualization and how to create effective visualizations.
    • Link to the free book website
  • Thomas, D., & Hunt, A. (2019). The pragmatic programmer, 20th anniversary edition: Journey to mastery (Second edition). Addison-Wesley.
    • A fantasticbook to understand the principles of software development and how to create effective software.

Resources

  • Quarto
    • A static website generator that is very powerful and flexible. Used to create the slides and the website for the course.
  • Cursor
    • A code editor based on VS Code that is very powerful and flexible. It uses AI to help you write code.
  • Jupyter
    • A web application that allows you to create and share documents that contain code, equations, visualizations and text. It is very popular in the field of data science and academia and also part of Quarto.
  • Advent of Code
    • A wonderful website with daily challenges during the christmas time. Highly recommended to playfully improve your skills.
  • Tiny Python Projects
    • Interesting and fun projects to programm in order to improve your programming skills.
  • Github
    • The largest provider for git repositories owned by Microsoft. A lot of open source projects are hosted here and you can read the code.
  • Codewars
    • A platform to improve your coding skills by solving challenges. You can compete with others, see how other people solved the challenges and read and learn from the code.
  • Cheat-Sheets
    • Fantastic resource with cheat sheets for the book “Python Crash Course” by Eric Matthes. You can use these to quickly look up syntax and functions.