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

Skip to content

JustInternetAI/python-learning-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

  1. Review the Curriculum

    • Check CURRICULUM.md to see all available Python topics
    • You can learn topics in any order, though some build on others
  2. Request an Assignment

    • Open your progress file so Claude can see where you are
    • Ask Claude: "Can you generate an assignment for [topic]?" or "What should I work on next?"
    • Claude will create a custom assignment based on your progress
  3. 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
  4. Get Feedback

    • Ask Claude to review your solution
    • Request explanations for concepts you don't understand
    • Ask for additional practice if needed
  5. Update Your Progress

    • Mark topics as completed (✅), in progress (🔄), or needs review (🔁)
    • Add notes about difficult concepts in your progress file
    • Commit your updated progress file
  6. Pull Curriculum Updates

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

Tips for Success

  • Be honest in your progress tracking - marking areas of difficulty helps Claude generate better practice assignments
  • Don't rush - it's okay to mark something as "needs review" and come back to it
  • Ask questions - Claude can explain concepts, debug code, and provide alternative approaches
  • Practice regularly - consistent practice is more effective than cramming
  • Explore freely - you don't have to go in order; jump to topics that interest you

👨‍🏫 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
├── progress-template.md        # Template for tracking student progress
├── assignments/                # Placeholder for assignment files (used in student branches)
├── examples/                   # Example code and reference implementations
└── students/                   # Student work directories (populated in student branches)
    └── student-name/          # Created in each student's branch
        ├── progress.md        # Personal progress tracker
        ├── assignments/       # Completed assignments
        └── notes.md          # Personal notes (optional)

🤖 Working with Claude

For Students

Claude can help you by:

  • Generating assignments tailored to your current level and topic
  • Reviewing your code and providing constructive feedback
  • Explaining concepts in different ways until you understand
  • Debugging when you're stuck
  • Creating practice problems for topics you're struggling with
  • Suggesting what to learn next based on your progress

Example prompts:

  • "I'm ready to start learning Python. What should I work on first?"
  • "Can you generate an assignment for list comprehensions?"
  • "I'm struggling with recursion. Can you explain it differently and give me a simple practice problem?"
  • "Can you review my solution to the dictionary assignment?"
  • "What topics should I learn before tackling decorators?"

For Instructors

Claude can help you by:

  • Identifying curriculum gaps based on your experience going through the course
  • Generating example problems for new topics you want to add
  • 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

  •  
  •