Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 

Repository files navigation

🐍 Fundamentals of Python β€” First Programs

Arewa DataScience Academy Β· Python Fundamentals

Based on: Fundamentals of Python: First Programs (3rd ed.) β€” Kenneth A. Lambert Instructor: Dr. [Your Name] License: MIT Python 3.10+ Jupyter Beginner Friendly Next Step: ML Course


🎯 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.


Table of Contents


About This Course

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.


Key Features

  • πŸ“š 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

Prerequisites

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.


Setup and Installation

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

Weekly Schedule

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

Lab Notebooks

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:

Lab Topic Open in Colab
01 First Programs & Variables Open In Colab
02 Numbers, Strings & Expressions Open In Colab
03 Branching: `if` / `elif` / `else` Open In Colab
04 Loops: `while` & `for` Open In Colab
05 Nested Loops & Validation Open In Colab
06 Strings & Lists Open In Colab
07 Dictionaries & Functions Open In Colab
08 Functions & Capstone Project Open In Colab

Getting Started

Option 1: Google Colab (Recommended for beginners)

No setup needed. Click any "Open in Colab" badge above and start typing code in your browser. Nothing to install.

Option 2: Local Setup

```bash

Clone the repository

git clone https://github.com/arewadataScience/python-programming-fellowship.git cd python-programming-fellowship

(Optional) create a virtual environment

python -m venv py-env source py-env/bin/activate # macOS/Linux py-env\Scripts\activate # Windows

Install Jupyter to run the lab notebooks locally

pip install -r requirements.txt

Launch the labs

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.


What's Next β€” From Python to Machine Learning

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.


Recommended Resources

Primary Textbook

  • πŸ“˜ Fundamentals of Python: First Programs (3rd ed.) β€” Kenneth A. Lambert (Cengage Learning) Every session in this course maps to a chapter of this book.

Supplementary Reading (free online)

Practice


Contributing

Found a typo in a notebook? Have a clearer challenge problem? Pull requests are welcome.

  1. Fork the repository
  2. Create a feature branch (`git checkout -b fix/lab-03-typo`)
  3. Commit your changes
  4. Open a pull request

License

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors