Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Fundamentals Applied Program

Beginner, project-based, portfolio-first Python

Banner

An 8-week, project-based, beginner program that teaches core Python from scratch by building a real command-line tool. No prior programming experience required — ship a working CLI you can put on your resume. Add to your calendar and start building

Table of Contents

The Project · Self-Assessment Checklist

How this program works

There's no grading, no enrollment gate, and no required login. Everything you need to complete the program is in this repository.

There are two ways to run through it:

  • Rolling (self-paced): Start whenever you want. No meetings, no cohort — you work through the 8 weeks on your own schedule and self-assess your project against the checklist.
  • Cohort: Runs alongside a shared start date with a dedicated Discord channel and an end-of-run call where participants demo their projects to each other (peer feedback, not grading).

Each week lists a plain-language objective, supporting resources, and a demo video prompt. The video prompt is worth doing even outside a cohort — it's the habit that turns a week of work into a LinkedIn post and a portfolio entry.

Important

You are not required to watch or read every resource listed. Nothing here is graded. Use the content as support for your project, not as a checklist to complete for its own sake.

Note

Diversity Statement: We share a commitment to diversity and equity, removing barriers to learning so that everyone can participate fully. This program is meant to be useful to people with a wide range of backgrounds, identities, and learning styles, whether you found it through a cohort or on your own on GitHub.

Prerequisites

No prior programming experience required. You'll need a computer you can install software on and basic comfort using a terminal — everything else, including all Python syntax, is taught starting Week 1.

Command Line Basics

If you've never used a terminal before, start here: Linux and Bash for Data Engineering · Coursera

Additional support resources

8-Week Syllabus

Week 1: Dev Environment, Git/GitHub Setup + Python Basics

  1. Choose the problem your CLI tool will solve, and who it's for (see PROJECT.md)
  2. Install Python and a code editor, and run your first script
  3. Learn Git basics and create your project's GitHub repository with a first commit
  4. Set up Docker/dev-container basics and a Python virtual environment
  5. Learn variables, core data types, conditionals, and basic error handling

Weekly demo video prompt: Introduce the problem your CLI tool will solve and who it's for, show your dev environment running a first "hello world" script, and show your project's GitHub repository with its first commit. Use the Public Speaking guidelines to deliver a clear demo.

Week 2: Data Structures — Lists & Dictionaries

  1. Learn lists, dictionaries, tuples, and sets, and when to use each
  2. Practice adding to and extracting data from lists and dictionaries
  3. Sketch the data your CLI tool will need to track (its "model")

Weekly demo video prompt: Show the data structures (lists/dicts) you chose to represent your CLI tool's data, and why.

Week 3: Functions

  1. Write functions with positional, keyword, and variable arguments
  2. Break your first script's logic into small, testable functions
  3. Refactor Week 1-2's code into a functions-based script

Weekly demo video prompt: Walk through one function you wrote this week and explain what it does and why you split it out.

Week 4: Classes & Objects

  1. Learn classes, constructors, methods, and basic inheritance
  2. Decide whether your CLI tool's data belongs in a class, and model it
  3. Rewrite your tool's core data as a class with methods

Weekly demo video prompt: Show the class you built for your project's data and explain one method on it.

Week 5: Modules, Files & Virtual Environments

  1. Split your script across modules and understand imports
  2. Set up a virtual environment and declare your project's dependencies
  3. Read and write real files (including JSON) as your project's data layer
  4. Reorganize your project into a proper multi-file Python package layout

Weekly demo video prompt: Show your project's new module layout and virtual environment, and demo it reading/writing a real file (e.g. JSON) as its data layer.

Week 6: Testing with Pytest

  1. Learn why and how to test Python code with pytest
  2. Write your first tests, including parameterized tests and fixtures
  3. Add a test suite covering your project's core functions/methods

Weekly demo video prompt: Run your test suite live and explain what one test verifies and why it matters.

Week 7: Building the Command-Line Interface

  1. Learn argparse and click for building CLI interfaces
  2. Wire a real command-line interface onto your project's logic, with subcommands and environment variables
  3. Add basic logging and error handling to your CLI
  4. Package your project so it can be installed and run as a command

Weekly demo video prompt: Demo your CLI tool running end to end from the command line, including its subcommands, arguments/options, and logging output.

Week 8: Ship & Finalize

  1. Run your project against the self-assessment checklist
  2. Polish the README with real setup/usage instructions and examples
  3. Publish the repository publicly and write a short portfolio/LinkedIn post linking to it

Weekly demo video prompt: Give a full demo of the finished CLI tool, what it does, and one thing you'd add next if you kept working on it.

Finish the project: publish the repository, run it against the self-assessment checklist, and write a short portfolio/LinkedIn post pointing at the repo. Rolling learners get a closing email when they hit this week; cohort learners present on the end-of-run call instead of (or in addition to) posting.

The Project

The whole program is built around a single project you start in Week 1 and ship in Week 8: a command-line tool of your own choosing that solves a real, small problem. See PROJECT.md for what that means and how to scope it, and the self-assessment checklist for what "done" looks like.

Important

Pick a problem you actually have, not a toy exercise you'll abandon. A tool you'd genuinely use again is easier to stay motivated on for 8 weeks — details in PROJECT.md.

The primary two resources for building an LLM solution on a local API:

  1. Python Essentials for MLOps · Coursera

Python References

Referenced Media and Resources

Optional supplementary readings & media

Community

Join the shared PAIML Discord to ask questions, share progress, and post your weekly demos. If you're in a cohort, you'll also get invited to a dedicated channel for your run, alongside the shared server.

About

An 8-week, project-based, beginner program that teaches core Python from scratch by building a real command-line tool. No prior programming experience required — ship a working CLI you can put on your resume.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors