Thanks to visit codestin.com
Credit goes to github.com

Skip to content

JustInternetAI/python-learning-lab

Β 
Β 

Repository files navigation

Learn Python with Claude

An interactive Python learning repository where students work through personalized assignments generated by Claude AI based on their individual progress.

🎯 Purpose

This repository provides a structured yet flexible approach to learning Python. Each student works in their own branch, receiving customized assignments from Claude based on their progress and areas of difficulty.

πŸ“š For Students

Getting Started

  1. Create Your Branch

    git checkout -b student/YOUR_NAME
  2. Set Up Your Progress Tracker

    cp progress-template.md students/YOUR_NAME/progress.md
    mkdir -p students/YOUR_NAME/assignments
  3. Update Your Progress File

    • Edit students/YOUR_NAME/progress.md
    • Fill in your name and start date
    • This file helps Claude understand where you are in your learning journey
  4. Commit Your Initial Setup

    git add students/YOUR_NAME/
    git commit -m "Set up learning environment for YOUR_NAME"

Working Through the Curriculum

This course uses a skill graph-based learning system that combines pre-made assignments with personalized, Claude-generated exercises:

The Skill Graph System

The course is built around a Skill Graph (SKILL_GRAPH.yaml) that defines:

  • Skills: Specific, assessable Python capabilities (e.g., python.fundamentals.variables)
  • Prerequisites: Skills you need to master first
  • Mastery States: Your current level with each skill (πŸ†• Not Started, πŸ”„ In Progress, πŸ” Needs Review, βœ… Mastered, β›” Blocked)

How it helps you:

  • πŸ“Š Clear prerequisite chains prevent frustration from jumping ahead
  • 🎯 Targeted bridge assignments when prerequisites are weak
  • πŸ”„ Personalized practice based on your actual skill gaps
  • βœ… Objective mastery tracking (not just "completed" checkboxes)

See SKILL_GRAPH.md for a visual guide to all skills and their relationships.

Assignment Types

Pre-Made Assignments:

  • Located in the assignments/ directory
  • Cover core Python concepts with tested, proven exercises
  • Include detailed instructions and example solutions
  • Provide a solid foundation for each topic

Claude-Generated Assignments:

  • Customized based on your skill graph progress
  • Created when you need additional practice
  • Tailored to your difficulty level
  • Focused on areas where you're struggling

Bridge Assignments:

  • Automatically generated when you try to learn a skill before prerequisites are mastered
  • Target weak prerequisite skills to build a solid foundation
  • Prevent frustration from tackling advanced topics too early
  • Example: List Comprehensions Bridge

Learning Workflow

  1. Review the Curriculum and Skill Graph

    • Check CURRICULUM.md to see all available Python topics
    • Review SKILL_GRAPH.md to understand skill relationships
    • Ask Claude: "What skills should I work on next?" for personalized recommendations
    • Browse the assignments/ directory to see pre-made assignments
  2. Check Prerequisites Before Starting

    • Claude will automatically check if prerequisites are βœ… mastered
    • If prerequisites are weak (πŸ” Needs Review), Claude will offer a bridge assignment
    • If prerequisites are missing (β›” Blocked), Claude will redirect you to foundational skills
  3. Start with Pre-Made Assignments

    • Copy the assignment from assignments/[topic]/assignment.md to your student directory
    • Read through the instructions carefully
    • Complete the assignment in your students/YOUR_NAME/assignments/ directory
    • You can check assignments/[topic]/solution.py if you get stuck, but try first!
  4. Request Custom Assignments from Claude

    • Open your progress file so Claude can see your skill statuses
    • Ask Claude: "Can you generate an assignment for [skill]?"
    • Or: "I'm struggling with [concept], can you create practice problems?"
    • Claude will check prerequisites and create appropriate exercises
  5. Complete the Assignment

    • Work on the assignment in your students/YOUR_NAME/assignments/ directory
    • Test your code and make sure it works
    • Commit your solution when complete
  6. Submit for Review (Triple Assessment)

    • Add your self-assessment to your progress file (😊 Confident, πŸ™‚ Comfortable, 😐 Shaky, πŸ˜• Struggling)
    • Add your personal notes about what was easy or hard
    • Ask Claude to review your solution
    • Claude provides:
      • AI Code Review (⭐⭐⭐⭐ to ⭐)
      • Skill Mastery Update (πŸ†• β†’ πŸ”„ β†’ πŸ” or βœ…)
      • Detailed Feedback on implementation
    • See ASSESSMENT_RUBRIC.md for review criteria
  7. Learn from Feedback and Mastery Updates

    • Review your self-assessment, AI review, and skill mastery status
    • Mastery Promotion Logic:
      • ⭐⭐⭐⭐ + 😊 Confident = βœ… Mastered (ready for next skills!)
      • ⭐⭐⭐ + πŸ™‚ Comfortable = βœ… Mastered
      • ⭐⭐ or 😐/πŸ˜• = πŸ” Needs Review (more practice recommended)
    • If πŸ”, Claude will suggest targeted practice or bridge assignments
    • Request explanations for concepts you don't understand
  8. Update Your Progress

    • Commit your updated progress file with all three assessments
    • Watch for newly unblocked skills (when prerequisites become βœ…)
    • Move on to the next logical skill based on the graph
  9. Pull Curriculum Updates

    • Periodically merge updates from main:
    git fetch origin
    git merge origin/main

Tips for Success

  • Trust the skill graph - it prevents frustration from jumping ahead before you're ready
  • Be honest in your self-assessments - they combine with AI reviews to determine skill mastery
  • Compare all three assessments - self + AI review + mastery status = complete picture
  • Don't skip bridge assignments - they're generated specifically to fill your gaps
  • Don't rush to βœ… - πŸ” Needs Review is valuable; it means you get more targeted practice
  • Watch for unblocked skills - when you master prerequisites, new skills become available
  • Ask "what's next?" - Claude uses your skill graph to recommend optimal next steps
  • Review the graphs - check SKILL_GRAPH.md and ASSESSMENT_RUBRIC.md

πŸ‘¨β€πŸ« For Instructors/Course Developers

Development Workflow

As the course creator, you can improve the curriculum while also going through it as a student:

  1. Create Your Development Branch

    git checkout -b dev/YOUR_NAME
  2. Work Through the Course

    • Set up your student directory as a real student would
    • Request assignments from Claude
    • Note any issues with curriculum, unclear topics, or system improvements
  3. Make Curriculum Improvements

    • Edit CURRICULUM.md to clarify or expand topics
    • Update progress-template.md if needed
    • Add example code to the examples/ directory
    • Update this README with better instructions
  4. Merge Improvements to Main

    # Make sure you're on your dev branch
    git add CURRICULUM.md progress-template.md examples/ README.md
    # Only stage curriculum changes, NOT your personal student work
    git commit -m "Improve curriculum: [description of changes]"
    
    # Switch to main and merge
    git checkout main
    git merge dev/YOUR_NAME
    
    # Push updates
    git push origin main
  5. Important: When merging to main, do not stage or commit:

    • Your personal students/YOUR_NAME/ directory
    • Your personal progress file
    • Your assignment solutions

    Only commit curriculum improvements that benefit all students.

System Design Decisions

Branch Strategy:

  • main - Contains only curriculum, templates, and infrastructure (no student work)
  • dev/instructor-name - Instructor branches for testing and curriculum development
  • student/name - Long-lived student branches (never merged to main)

Why This Works:

  • Students pull curriculum updates from main into their branches
  • Instructors can dogfood the system and make improvements
  • Main branch stays clean and focused on the curriculum
  • Each student's work remains isolated in their branch

Future Enhancements:

  • Add automated tests for example code
  • Create topic-specific example repositories
  • Build a difficulty progression system
  • Add achievement tracking

πŸ“‚ Repository Structure

LearnPython/
β”œβ”€β”€ README.md                    # This file
β”œβ”€β”€ CURRICULUM.md               # Complete Python learning curriculum
β”œβ”€β”€ SKILL_GRAPH.yaml            # Machine-readable skill graph with prerequisites
β”œβ”€β”€ SKILL_GRAPH.md              # Human-readable skill graph visualization
β”œβ”€β”€ ASSESSMENT_RUBRIC.md        # Detailed code review criteria and examples
β”œβ”€β”€ progress-template.md        # Template for tracking student progress
β”œβ”€β”€ assignments/                # Pre-made assignments (on main branch)
β”‚   β”œβ”€β”€ 01-variables/          # Each topic has its own directory
β”‚   β”‚   β”œβ”€β”€ assignment.md      # Assignment instructions
β”‚   β”‚   └── solution.py        # Reference solution
β”‚   β”œβ”€β”€ 02-conditionals/
β”‚   └── 03-loops/
β”œβ”€β”€ examples/                   # Example code and reference implementations
β”‚   └── bridge-assignments/    # Example bridge assignments
└── students/                   # Student work directories (populated in student branches)
    └── student-name/          # Created in each student's branch
        β”œβ”€β”€ progress.md        # Personal progress tracker (with skill mastery)
        β”œβ”€β”€ assignments/       # Completed assignments (pre-made, custom, bridge)
        └── notes.md          # Personal notes (optional)

πŸ€– Working with Claude

For Students

Claude can help you by:

  • Checking prerequisites before you start new skills (prevents wasted effort)
  • Generating bridge assignments when your foundation needs strengthening
  • Guiding you through pre-made assignments with hints and explanations
  • Reviewing your code with triple assessment - AI review + skill mastery update + feedback
  • Generating custom assignments tailored to your skill graph status
  • Explaining concepts in different ways until you understand
  • Debugging when you're stuck
  • Updating your progress file with all three assessments
  • Recommending next skills based on what's βœ… mastered and what's newly unblocked

Example prompts:

  • "I'm ready to start learning Python. What should I work on first?"
  • "I want to learn list comprehensions" (Claude will check prerequisites)
  • "I've completed the variables assignment. My self-assessment is πŸ™‚ Comfortable. Can you review my code?"
  • "Why is my lists_traversal skill still πŸ” Needs Review?"
  • "What skills are blocked by my current gaps?"
  • "Generate a bridge assignment for conditionals"
  • "I'm stuck on part 3 of the loops assignment. Can you give me a hint?"
  • "What's the prerequisite chain for decorators?"
  • "What should I work on next?" (Claude checks your skill graph)

For Instructors

Claude can help you by:

  • Creating new pre-made assignments for topics not yet covered
  • Identifying curriculum gaps based on your experience going through the course
  • Reviewing and improving existing assignments for clarity and difficulty
  • Generating test cases and solution code for assignments
  • Reviewing curriculum structure for logical flow and dependencies
  • Creating assessment criteria for different topics
  • Suggesting improvements to the progress tracking system

πŸš€ Getting Started Right Now

If you're a student:

  1. Create your branch: git checkout -b student/YOUR_NAME
  2. Set up your progress file (see instructions above)
  3. Ask Claude: "I'm ready to start learning Python, what should I begin with?"

If you're an instructor:

  1. Create a dev branch: git checkout -b dev/YOUR_NAME
  2. Go through the student workflow to test the system
  3. Make improvements and merge them back to main

πŸ“ License

This learning repository is open for educational use. Feel free to fork and adapt for your own learning purposes.

🀝 Contributing

If you're an instructor or course developer:

  1. Test the curriculum by going through it yourself
  2. Note areas of confusion or missing topics
  3. Submit improvements via your dev branch
  4. Help expand the examples directory
  5. Share feedback on the learning system design

Happy Learning! 🐍

About

Interactive Python learning repository with personalized assignments generated by Claude AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •