Introduction to Software Engineering with Python

How this course works, what the workbench can do, and the chapter list.

This is a software engineering course for the Swiftener Software Engineering editor. You already know Python from Introduction to Python. Here you turn scripts into small programs: modules, tests, config, and a layout you could hand to a teammate.

Language basics belong in Introduction to Python. First algorithms belong in Introduction to Computer Science with Python. Big-O, heaps, and Dijkstra belong in Introduction to Data Structures and Algorithm Analysis with Python. Arrays belong in Learn NumPy. Tables belong in Learn pandas. This course stays on how to structure Python.

You do not install Python, pip, or git. Code and uploaded files stay in your browser.

Goal

Finish every chapter by running the copy-paste blocks in the workbench. The last chapter is a kiosk inventory you can reuse.

How to take the course

  1. Keep this tutorial tab and the Software Engineering workbench side by side.
  2. Wait until the workbench status says Python is ready.
  3. Copy an exercise, paste it as the whole editor, run it, then read the console. Each shaded block is a complete script — it does not rely on leftover variables.
  4. When a chapter asks for a file, download it from the buttons above, then click Add files in the workbench. You can also create files in the script with Path("kiosk.py").write_text(...).

The workbench Snippets menu is a cheat sheet. Prefer the exercises here — they are written for this editor.

What this editor can and cannot do

  • Can: standard library, print, write .py / JSON / CSV / text to /uploads, import those modules, unittest, downloads.
  • Cannot: git, virtualenv, pip install of arbitrary tools (pytest, black, ruff), a real terminal, or fetching URLs.
  • Always print(...) a result. A bare value at the end of a cell is not displayed the way Jupyter would.

Sample files

Download any of these from the banner, then attach them with Add files:

  • kiosk.pyline_total and city_label
  • test_kiosk.py — unittest for those helpers
  • config.json — city, tax, currency
  • inventory.csv — product rows
  • README.md — a tiny project readme

Chapter list

Work in order the first time. After that, jump around from the sidebar.