Introduction to Python
From First Program to Web, Data, and AI
This hands-on workshop gives learners a guided path through the Python ecosystem. They begin with values, variables, decisions, loops, functions, collections, files, and errors. They learn how Python projects manage dependencies with both pip and uv, how unit tests make change safer, and how a small program becomes a Flask web application. They then move the application’s data into Jupyter notebooks, explore it with pandas, build a first scikit-learn model, and run a tightly scoped text-generation experiment with GPT-2 and Hugging Face Transformers.
Throughout the course, participants build TrailWatch, a small application for a fictional community trail group. Observations recorded in early Python exercises become tested business logic, Flask routes, notebook data, charts, model features, and prompts.
The full workshop is four days. It can also run as two or three day versions, with varying parts of the course cut.
Who should attend
This course is designed for:
- People learning their first programming language
- Technical professionals who can read some code but have not worked in Python
- Analysts, testers, support engineers, and other developer-adjacent roles who want a broad view of what Python can do
Participants should be comfortable navigating files and installing desktop software. No programming, command-line, web, statistics, or AI experience is required.
What learners will be able to do
By the end of the four-day workshop, participants will be able to:
- Read and write small Python programs using core types, control flow, functions, modules, and common collections
- Explain the difference between Python, a package, an environment, and a project
- Create isolated environments and install dependencies with
pipand withuv - Read tracebacks, debug common failures, and handle expected errors
- Write and run focused unit tests with
pytest - Build a small Flask application with routes, templates, forms, and JSON responses
- Use a Jupyter notebook for interactive exploration
- Load, inspect, filter, summarize, and visualize a small dataset with pandas
- Train one small scikit-learn model
- Load GPT-2 through Transformers, generate text, vary basic generation settings, and learn more about LLMs
Scope and expectations
This is a wide breadth course for introductory learners—the intent is to get participants comfortable in the Python ecosystem, and then to explore various topics in more depth later.
Not included in this class are object-oriented design, async programming, databases, production deployments, or any advanced machine learning.