Based on: Fundamentals of Python: First Programs (3rd ed.) β Kenneth A. Lambert
Instructor: Dr. [Your Name]
π― This is the on-ramp to the Introduction to Machine Learning course. Completing these 8 sessions satisfies the "some Python experience (loops, functions, lists)" prerequisite for the ML summer school. Start here if you're new to programming.
- About This Course
- Key Features
- Prerequisites
- Setup and Installation
- Weekly Schedule
- Lab Notebooks
- Repository Structure
- Getting Started
- What's Next
- Recommended Resources
- Contributing
- License
This is an 8-session introduction to programming with Python, designed for people who have never written code before. Each session is 1 hour β a short, focused walk-through of one core idea followed by hands-on practice.
The course is deliberately scoped to the Python language itself β variables, data types, decisions, loops, strings, collections, and functions. We skip the broader computer-science survey topics (GUIs, networking, complexity analysis) so that beginners leave fluent in writing small, correct programs.
It is the foundation course of the Arewa DataScience Academy pathway: finish here, and you're ready to move straight into the Introduction to Machine Learning course with the Python skills it assumes.
- π 8 focused sessions β one core idea per hour, no filler
- π» 8 lab notebooks β Guided β Fill-in-the-blank β Challenge structure
- π§ͺ Consistent pedagogy β every lab has the same 3-part format for predictable pacing
- π Pure standard-library Python β no external packages to install or break
- π Textbook-aligned β every session maps to chapters of Lambert's First Programs (3rd ed.)
- πͺ A clear next step β flows directly into the Intro to Machine Learning course
| Skill | Level Required |
|---|---|
| Programming | None β this is the starting point |
| Computer use | Comfortable installing software and using a web browser |
| Math | Basic arithmetic; no algebra required |
| Hardware | Any laptop, or just a browser (for Google Colab) |
No prior coding, command-line, or math background is assumed. If you can use a web browser, you can take this course.
These guides walk you through the tools you'll use throughout the Arewa DataScience pathway β installing Python, the command line, Git/GitHub, virtual environments, VSCode, Markdown, and Google Colab. They are shared with the rest of the fellowship, so you set them up once here and reuse them in the ML course.
| Title | Resource | Recording |
|---|---|---|
| Initial Setup | macOS | Windows | Linux | Tutorial |
| Basic Command Line Operations | Command Line | Recording |
| Setup Git and GitHub | Git / GitHub | Recording |
| Python Virtual Environments | Virtual Environment | Recording |
| VSCode for Python | VSCode Setup | Recording |
| Introduction to Markdown | Markdown | Recording |
| Google Colab | Google Colab | Recording |
Format: 1 hour/session Β· short lecture + hands-on lab Β· 8 sessions
β±οΈ Each session is paced for true beginners. Loops get a session and a half, and functions span two sessions β that's where first-timers actually get stuck, so we slow down there on purpose.
| # | Topic | Slides | Lab | Recording | Key Concepts | Reading (Lambert) |
|---|---|---|---|---|---|---|
| 1 | First Programs & the Shell | π Slides | π» Lab 01 | π₯ Recording | The editβrunβdebug loop, `print`, `input`, variables, comments | Ch. 1, Β§2.1β2.2 |
| 2 | Data Types & Expressions | π Slides | π» Lab 02 | π₯ Recording | `int` / `float` / `str`, arithmetic, precedence, type conversion, f-strings | Ch. 2 |
| 3 | Making Decisions | π Slides | π» Lab 03 | π₯ Recording | Booleans, comparison & logical operators, `if` / `elif` / `else` | Ch. 3 (selection) |
| 4 | Repetition with Loops | π Slides | π» Lab 04 | π₯ Recording | `while`, `for`, `range`, accumulator & sentinel patterns | Ch. 3 (loops) |
| 5 | Loop Patterns & Nested Logic | π Slides | π» Lab 05 | π₯ Recording | Nested loops, combining loops + conditions, input validation, debugging | Ch. 3 (cont.) |
| 6 | Strings & Lists | π Slides | π» Lab 06 | π₯ Recording | Indexing, slicing, string methods, list operations, iteration | Ch. 4, Β§5.1 |
| 7 | Dictionaries & First Functions | π Slides | π» Lab 07 | π₯ Recording | Key/value lookup, dict methods, defining functions, parameters, `return` | Ch. 5, Β§6.1 |
| 8 | Functions in Depth & Capstone | π Slides | π» Lab 08 | π₯ Recording | Scope, multiple parameters, decomposition, end-to-end capstone program | Ch. 6 |
Every lab follows the same structure to make pacing predictable:
| Section | Duration | Description |
|---|---|---|
| Part A β Guided | ~15 min | Pre-filled code β run cells and observe outputs carefully |
| Part B β Fill in the Blank | ~25 min | Skeleton code with `???` placeholders to complete |
| Part C β Challenge | ~15 min | Open-ended extension problems for fast finishers |
All notebooks run on Google Colab β no local setup required. Click any badge below to open directly:
No setup needed. Click any "Open in Colab" badge above and start typing code in your browser. Nothing to install.
```bash
git clone https://github.com/arewadataScience/python-programming-fellowship.git cd python-programming-fellowship
python -m venv py-env source py-env/bin/activate # macOS/Linux py-env\Scripts\activate # Windows
pip install -r requirements.txt
jupyter notebook labs/ ```
`requirements.txt`: ``` jupyter ```
π‘ The course itself uses only Python's standard library β there are no data-science packages to install. Jupyter is needed only if you want to run the lab notebooks on your own machine instead of in Colab.
This course is Stage 1 of the Arewa DataScience pathway. Once you can comfortably write loops, functions, and small programs from scratch, you're ready for what comes next:
| Stage | Course | You'll learn |
|---|---|---|
| 1 | π Fundamentals of Python (this course) | Variables, loops, strings, collections, functions |
| 2 | π€ Introduction to Machine Learning | scikit-learn, model building, evaluation, the full ML landscape |
The ML course assumes you can read and write Python at the level this course produces β so finishing the capstone in Session 8 is your green light to enroll.
- π Fundamentals of Python: First Programs (3rd ed.) β Kenneth A. Lambert (Cengage Learning) Every session in this course maps to a chapter of this book.
- π Think Python β Allen B. Downey
- π Automate the Boring Stuff with Python β Al Sweigart
- π The Official Python Tutorial
- ποΈ Exercism β Python Track (free, mentored)
- π‘ HackerRank β Python
- βοΈ Codewars β bite-sized practice problems
Found a typo in a notebook? Have a clearer challenge problem? Pull requests are welcome.
- Fork the repository
- Create a feature branch (`git checkout -b fix/lab-03-typo`)
- Commit your changes
- Open a pull request
This course material is released under the MIT License. The slides and exercises are based on content from Fundamentals of Python: First Programs by Kenneth A. Lambert (Cengage Learning) β please respect the original work's copyright when sharing.
Made with β€οΈ by Arewa DataScience Academy