Programming with Python

1. Introduction

"Programming with Python" is both a book and a course held at Hefei University (合肥大学). We here provide all the resources of this course.

The goal of the course and book is to teach undergraduate and graduate students how to program with the Python programming language. The resources may also be suitable to high school students or whoever else may be interested in the topic. Our aim is to strike a good balance between theory and practice, leaning more to the practice side. In particular, we try to teach programming together with some software engineering concepts. It is the firm opinion of the author that these two cannot be separated. Teaching programming alone without introducing tools such as static code analysis, unit tests, and enforcing principles such as code style and proper commenting will create bad programmers. So we discuss these aspects while working our way through the principles of programming.

2. Resources

The website with up-to-date information about the course is https://thomasweise.github.io/programmingWithPython.

2.1. The Book

The book itself can be downloaded as pdf at https://thomasweise.github.io/programmingWithPython/programmingWithPython.pdf.

2.2. Die Slides in Deutsch — The Slides in German Language

Die Slides zum Kurs in deutscher Sprache können unter https://thomasweise.github.io/programmingWithPythonSlidesDE gefunden werden und sind hier aufgelistet:

  1. Einleitung

2.3. The Slides in English

The slides for the course are available at https://thomasweise.github.io/programmingWithPythonSlides and also listed below. Since the course is taught in German, these slides will remain incomplete.

  1. Introduction
  2. Getting Started

2.4. The Example Python Programs

Our course offers a lot of examples. You can find all of them in the repository https://github.com/thomasWeise/programmingWithPythonCode.

2.5. LaTeX Sources, Graphics, Bibliography, etc.

Both the book and the slides are written in LaTeX. You can find their sources in https://github.com/thomasWeise/programmingWithPython and https://github.com/thomasWeise/programmingWithPythonSlides, respectively. You may use these files under the licensing terms provided below.

3. License

This repository contains two types of material: Materials that I (Thomas Weise) have created by myself and such that have been created by others.

The vast majority of the material is teaching material created by me (Thomas Weise). This and only this material is released under the Attribution-NonCommercial-ShareAlike 4.0 International license (CC BY‑NC‑SA 4.0), see http://creativecommons.org/licenses/by-nc-sa/4.0 for a summary.

However, the repository also includes some images and figures created by others, which are marked explicitly and licensed under their authors' terms. For example, all logos and trademarks are under the copyright of their respective owners. The list of files not under the CC BY‑NC‑SA 4.0 license but under their individual owners' copyrights includes, but is not limited to:

  • the Python Logo, e.g.,
  • text/main/introduction/pythonLogo.pdf
  • text/main/introduction/pythonLogo.svg

You can download its newest version of the course material from https://thomasweise.github.io/databases. This version may change since this course and book both are work in progress. You can cite this book as follows:

@book{programmingWithPython,
 author = {Thomas Weise},
 title = {Programming with Python},
 year = {2024--2025},
 publisher = {Institute of Applied Optimization,
              School of Artificial Intelligence and Big Data,
              Hefei University},
 address = {Hefei, Anhui, China},
 url = {https://thomasweise.github.io/programmingWithPython}
}

If you have any comments or suggestions regarding the book, or if you spotted an error or typo, please feel free to submit an issue here. Your feedback would help us to improve the book.

We statically include the pdfsizeopt tool in the build process of our book via the bookbase repository and use it during the book compiling and building process to compress the book pdf file. This tool is excluded from the license mentioned above. It is under the GNU GENERAL PUBLIC LICENSE Version 2, June 1991 and the copyright belongs to its authors.

4. Contact

If you have any questions or suggestions, please contact Prof. Dr. Thomas Weise (汤卫思教授) at the Institute of Applied Optimization (应用优化研究所, IAO) of the School of Artificial Intelligence and Big Data (人工智能与大数据学院) of Hefei University (合肥大学), in Hefei, Anhui, China (中国安徽省合肥市) via email to tweise@hfuu.edu.cn with CC to tweise@ustc.edu.cn.

built on: 2025-06-06 01:27:38 +0000