Python Developer 2

A second course in Python Development

Author

Karsten Naert

Published

October 20, 2026

Welcome to Python Developer 2

These notes cover four modules from the course Python Developer 2, taught at Syntra. The intented audience has taken a first introductory course in programming with Python and is ready for a deep dive into the more advanced concepts.

Tentative course plan

Course Overview

Making the most out of these lectures

Making the most out of these lectures will require you to work alongside of them:

  • Try al the snippets of code yourself. Try to modify them here and there to make sure you understand everything.
  • Do the exercises.

Prerequisites

To follow along with the course you will need a few things installed:

A Python environment

There are currently two methods I recommend for installing Python:

  • Method one is via uv. This is my current recommendation for Python developers. Follow the installation instructions on Astral’s website.
  • Method two is via the conda ecosystem. Here, for license reasons, it is strongly advised that you use miniforge or pixi.

git

We will be sharing a repository on github throughout the course to share our work with other students. Once you have been given access you should clone the repository

Visual Studio Code

My editor of choice for this clas will be Visual Studio Code. Here are the extensions I have installed:

  • Python by Microsoft (Extension pack containing Pylance and Python debugger)
  • Ruff by Astral Software (Linter)
  • Jupyter by Microsoft (Extension pack)
  • Even Better TOML by tamasfe (syntax highlighting for files such as pyproject.toml)
  • Error Lens by Alexander (see errors inline)
  • Git Graph by mhutchie1

### AI

The goal of the course is to acquire an understanding of Python and software development that stands by itself without relying on the use of AI. That does not mean that I think it’s reasonable to expect to be competitive in everyday commercial software development not to use AI. It is difficult to predict how things will evolve exactly. Perhaps Python will be a “dead programming language”, much like Latin is a dead language for centuries: you don’t have to be able to speak it, but you must be able to read and understand it. My recommendation for this course is that you spend time actually writing yourself - yes, actually typing it! Understanding in detail what your AI assistant is doing and steering it may be a place where you can make a difference still.

Footnotes

  1. Still the best Git integration in VS Code that I am aware of. Unfortunately the maintainer seems to have quit and the license doesn’t permit others to take over the work. An interesting alternative is the GitLG project by phil294 but it just doesnt’t look as good.↩︎