How mraza007/python-for-beginners works
This repository is a beginner Python course offered as plain lesson files and as an interactive browser course, followed by three capstone projects. The principal interactive workflow is: a learner selects a module, web/app.js loads and renders its lesson, turns examples into editable cells, and runs code in browser-hosted Pyodide; lesson references also let the app load exercises and solutions on demand. The curriculum spans fundamentals, data structures, functions/modules, real-world Python, and OOP. The README documents these capabilities; source excerpts show the browser flow but not every rendering detail.
Main entry points: app.js Interactive Course App · course Lesson Markdown · 01-number-guessing-game Number Guessing · 02-mad-libs Mad Libs
Components 16
Python Curriculum
- Fundamentals 01–08
course - Data Structures 09–12
course - Functions & Modules 13–16
course - Real-World Python 17–19
course - OOP 20–22
course - Lesson Markdown
course - Exercises & Solutions
course
Capstone Projects
- Number Guessing
projects/01-number-guessing-game - Mad Libs
projects/02-mad-libs - To-Do List
projects/03-todo-list
Browser Course
- Interactive Course App
web/app.js - Pyodide Runtime
- Edited Python Code
- Code Output
Other components
- Learner
- Web Browser
Connections 19
- Learner → Web Browser: opens course
- Web Browser → Interactive Course App: loads app
- Learner → Interactive Course App: selects module
- Interactive Course App → Lesson Markdown: fetches lesson
- Lesson Markdown → Interactive Course App: lesson text
- Interactive Course App → Fundamentals 01–08: loads module
- Interactive Course App → Data Structures 09–12: loads module
- Interactive Course App → Functions & Modules 13–16: loads module
- Interactive Course App → Real-World Python 17–19: loads module
- Interactive Course App → OOP 20–22: loads module
- Interactive Course App → Number Guessing: loads project
- Interactive Course App → Mad Libs: loads project
- Interactive Course App → To-Do List: loads project
- Interactive Course App → Exercises & Solutions: fetches referenced files
- Learner → Interactive Course App: edits and runs
- Interactive Course App → Edited Python Code: submits code
- Interactive Course App → Pyodide Runtime: runs Python
- Pyodide Runtime → Code Output: produces output
- Interactive Course App → Code Output: displays output