Based on: Fundamentals of Python: First Programs (3rd ed.) — Kenneth A. Lambert
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 are new to programming.
- About This Course
- Key Features
- Prerequisites
- Setup and Installation
- Weekly Schedule
- Lab Notebooks
- 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 broader computer-science survey topics (GUIs, networking, complexity analysis) so beginners leave fluent in writing small, correct programs.
This is the foundation course of the Arewa DataScience Academy pathway: finish here, and you're ready to move directly 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 follows the same three-part format for predictable pacing
- Pure standard-library Python — no external packages to install or break
- Textbook-aligned — every session maps to a chapter of Lambert's First Programs (3rd ed.)
- A clear next step — flows directly into the Introduction 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.
Presented by: Dr Shamsuddeen Muhammad
This cohort's setup is a single, self-contained guide: Getting Started with VS Code for Data Science. It replaces the separate per-topic guides used by earlier cohorts with one walkthrough covering Windows, macOS, and Linux side by side.
Work through it before Session 1. By the end of it, you are expected to be able to:
- Navigate VS Code — the Activity Bar, the integrated terminal, and the Command Palette
- Use basic command line operations (
pwd,ls,cd,mkdir, and safely deleting files/folders) without hesitation - Install and use uv to manage Python versions and project dependencies
- Create, activate, and deactivate a Python virtual environment, and explain why projects need one
- Install Git, configure your identity, and create/push a repository to GitHub
- Clone this course's repository (
arewadataScience/ArewaDS-Introduction-to-Python-2026) to your own machine, both from the terminal and from inside VS Code - Explain
git pushandgit pull— what each does, and what happens if you push without pulling first - Fork a repository, work on branches, and open a pull request — all from inside VS Code
- Create your own
ArewaDS-Practicerepository on GitHub and use it as a personal sandbox to practice the push/pull/branch cycle - Write and preview basic Markdown — headings, lists, links, tables, and code blocks — for READMEs and notebook cells
- Build, run, and push a small end-to-end Python project (script and notebook) using the tools above
| Section | Link |
|---|---|
| Full guide | getting-started-vscode.md |
| Installing VS Code | §3 |
| Basic command line operations | §6 |
| Installing uv & Python | §7–8 |
| Virtual environments with uv | §9 |
| Introduction to Markdown | §10 |
| Installing Git & setting up GitHub | §12–13 |
| Cloning the course repo (terminal + VS Code) | §14.2 |
| Understanding push & pull | §14.5 |
| Branches, merge conflicts, pull requests | §14.6–14.8 |
Practice repo: ArewaDS-Practice |
§14.9 |
| VS Code and AI | §15 |
| Setup checklist | §21 |
The Arewa DataScience Fellowship's original setup guides remain available for reference — useful if you want a second explanation of a topic, or recordings to watch alongside this year's written guide.
| Title | Resource | Recording |
|---|---|---|
| Initial Setup | macOS · Windows · Linux | Recording 1 |
| VS Code for Python | Fellowship Guide | Recording 1 · Recording 2 |
| Basic Command Line Operations | Command Line | Recording 1 |
| Setup Git and GitHub | Git / GitHub | Recording 1 · Recording 2 |
| Python Virtual Environments | Virtual Environment | Recording 1 |
| Introduction to Markdown | Markdown | Recording 1 |
| Google Colab | Coming soon | Recording 1 |
Format: 1 hour per session · short lecture + hands-on lab · 8 sessions total
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) | Instructor |
|---|---|---|---|---|---|---|---|
| 1 | First Programs & the Shell | Slides | Lab | Session 1, Session 2 | The edit–run–debug loop, print, input, variables, comments |
Ch. 1, §2.1–2.2 | Dr. I.S. Ahmad |
| 2 | Data Types & Expressions | Slides | Lab | Session 1, Session 2 | int / float / str, arithmetic, precedence, type conversion, f-strings |
Ch. 2 | Dr. I.S. Ahmad |
| 3 | Making Decisions | Slides | Lab | Session 1, Session 2 | Booleans, comparison & logical operators, if / elif / else |
Ch. 3 (selection) | Dr. I.S. Ahmad |
| 4 | Repetition with Loops | Slides | Lab | Session 1, Session 2 | while, for, range, accumulator & sentinel patterns |
Ch. 3 (loops) | Dr S.H.Muhammad & Dr. I.S. Ahmad |
| 5 | Loop Patterns & Nested Logic | Slides | Lab | Session 1, Session 2 | Nested loops, combining loops with conditions, input validation, debugging | Ch. 3 (cont.) | Dr. I.S. Ahmad |
| 6 | Strings & Lists | Slides | Lab | Session 1, Session 2 | Indexing, slicing, string methods, list operations, iteration | Ch. 4, §5.1 | Dr. I.S. Ahmad |
| 7 | Dictionaries & First Functions | TBA | Lab | Session 2 | Key/value lookup, dict methods, defining functions, parameters, return |
Ch. 5, §6.1 | Lukman A. Jibril Dr. I.S. Ahmad |
| 8 | Functions in Depth & Capstone | TBA | TBA | Lab | Scope, multiple parameters, decomposition, end-to-end capstone program | Ch. 6 | Dr S.H.Muhammad |
Slide decks, lab notebooks, and session recordings will be linked here as each session is delivered.
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 will run on Google Colab — no local setup required. Colab links for each lab will be added here as they are published.
| Lab | Topic |
|---|---|
| 01 | First Programs & Variables |
| 02 | Numbers, Strings & Expressions |
| 03 | Branching: if / elif / else |
| 04 | Loops: while & for |
| 05 | Nested Loops & Validation |
| 06 | Strings & Lists |
| 07 | Dictionaries & Functions |
| 08 | Functions & Capstone Project |
No setup needed. Once lab notebooks are published, open them directly in your browser via Colab — nothing to install.
This cohort runs entirely in VS Code, using its built-in Jupyter Notebook support rather than the browser-based jupyter notebook server. If you haven't set up VS Code, Git, and uv yet, work through Getting Started with VS Code for Data Science first — it covers installing everything below in detail, for Windows, macOS, and Linux.
# Clone the repository (see §14.2 of the getting-started guide)
git clone https://github.com/arewadataScience/ArewaDS-Introduction-to-Python-2026.git
cd ArewaDS-Introduction-to-Python-2026
code .
# Create the project's virtual environment and install Jupyter support with uv
uv syncThen, inside VS Code:
- Open a lab notebook from the
labs/folder in the Explorer panel — it opens directly in VS Code's built-in notebook editor, no browser tab required. - Click Select Kernel (top right of the notebook) → Python Environments → the entry showing
.venvfor this project. - Run cells with
Shift + Enter.
pyproject.toml pins the one dependency this repo needs:
jupyter
The course itself uses only Python's standard library — there are no data-science packages to install. Jupyter is needed only to run the lab notebooks locally; if you'd rather avoid local setup entirely, use Option 1 (Colab) instead.
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 — 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.
Arewa DataScience Academy