From Zero to Building
Thirty days won't make you a professional programmer. But thirty days of focused practice will give you:
- Working knowledge of programming fundamentals
- Ability to build simple projects
- Skills to continue learning independently
- Confidence that you can code
This plan requires about 1-2 hours daily. Adjust timing to fit your life, but maintain daily consistency.
Before You Start
Verify Your Setup
- AI assistant account ready (Claude or ChatGPT)
- VS Code installed
- Python installed and working
- Learning folder created
If anything is missing, complete Chapter 2 first.
Commit to the Process
- Block time daily (same time helps)
- Tell someone your goal
- Accept that confusion is normal
- Plan to practice, not just read
Week 1: Fundamentals
Day 1: Hello World and Variables
Time: 1 hour
Learn:
- Run your first Python program
- Create and use variables
- Understand strings and numbers
Do:
- Create a file called
day01.py - Print "Hello, World!"
- Create variables for your name, age, and city
- Print a sentence using those variables: "My name is X, I'm Y years old, and I live in Z"
Prompt if stuck:
I'm on Day 1 of learning Python. I created variables but can't combine them into a sentence. Show me how to include variables in a print statement.
Day 2: Data Types and Operations
Time: 1 hour
Learn:
- Different data types (string, int, float, boolean)
- Basic math operations
- String operations
Do:
- Create
day02.py - Create variables of each type
- Use
type()to check each one - Calculate the area of a room (length × width)
- Concatenate two strings
Practice: Write a program that calculates:
- Your age in days (approximately)
- Your age in hours
- Your age in minutes
Day 3: Input and Conditionals
Time: 1.5 hours
Learn:
- Getting user input
- If/else statements
- Comparison operators
Do:
- Create
day03.py - Ask user for their age
- Print different messages based on age (child, teen, adult, senior)
Practice: Create a simple program that:
- Asks for a number
- Tells user if it's positive, negative, or zero
- Tells user if it's even or odd
Day 4: Loops
Time: 1.5 hours
Learn:
- For loops
- While loops
- Range function
Do:
- Create
day04.py - Print numbers 1-10 using a for loop
- Print countdown 10 to 1 using a while loop
- Calculate sum of numbers 1-100
Practice: Create a program that:
- Asks how many times to repeat
- Prints a message that many times
- Shows which iteration it's on
Day 5: Functions
Time: 1.5 hours
Learn:
- Defining functions
- Parameters and arguments
- Return values
Do:
- Create
day05.py - Write a function
greet(name)that returns a greeting - Write a function
add(a, b)that returns the sum - Write a function
is_even(n)that returns True/False
Practice: Write these functions:
calculate_area(length, width)— returns areacelsius_to_fahrenheit(c)— returns converted temperatureget_max(a, b, c)— returns largest of three numbers
Day 6: Lists
Time: 1.5 hours
Learn:
- Creating lists
- Accessing elements
- Modifying lists
- Looping through lists
Do:
- Create
day06.py - Create a list of 5 favorite foods
- Print first and last item
- Add an item, remove an item
- Loop through and print each with a number
Practice:
Write a function sum_list(numbers) that:
- Takes a list of numbers
- Returns the sum
- Without using the built-in
sum()function
Day 7: Week 1 Review
Time: 2 hours
Do:
- Create
week1_project.py - Build a simple quiz game without looking at examples
- Use: variables, input, conditionals, functions, lists
The Quiz Game Should:
- Store at least 5 questions
- Ask each question
- Track correct answers
- Show final score
Review Prompt:
I finished week 1 of learning Python. Here's my quiz game:
[Paste your code]
Review it for:
1. Correctness
2. Code quality
3. Things I could improve
Also identify any fundamentals I seem shaky on.
Week 2: Building Blocks
Day 8: Dictionaries
Time: 1.5 hours
Learn:
- Creating dictionaries
- Accessing values
- Adding and modifying entries
- Looping through dictionaries
Do:
- Create
day08.py - Create a dictionary for a person (name, age, city, job)
- Access and print each value
- Add a new key-value pair
- Loop through and print all key-value pairs
Practice: Create a simple contact book:
- Store 3 people with name and phone number
- Print all contacts
Day 9: Combining Concepts
Time: 1.5 hours
Do:
- Create
day09.py - Build an expense tracker with these features:
- Store expenses as a list of dictionaries
- Each expense has amount, category, description
- Function to add expense
- Function to show all expenses
- Function to calculate total
Work through this yourself. Use AI for hints only.
Day 10: File Handling
Time: 1.5 hours
Learn:
- Opening files
- Reading files
- Writing files
Do:
- Create
day10.py - Write a list of 5 items to a file
- Read the file back and print contents
- Append new items to the file
Prompt if stuck:
I'm learning file handling in Python. How do I:
1. Write a list to a file (each item on new line)
2. Read the file back into a list
Show me examples and explain the 'with' statement.
Day 11: Error Handling
Time: 1 hour
Learn:
- Try/except blocks
- Common exceptions
- Handling user input errors
Do:
- Create
day11.py - Write a program that asks for a number
- Handle the case where user enters text instead
- Keep asking until they enter a valid number
Practice: Modify your expense tracker to handle:
- Non-numeric amounts
- Empty inputs
Day 12: Mini Project Day
Time: 2 hours
Do: Build a "To-Do List" application:
- Add tasks
- View all tasks
- Mark tasks as complete
- Save tasks to file
- Load tasks on startup
Rules:
- Try without AI for 30 minutes
- Use AI for specific questions, not whole solutions
- Aim for working, not perfect
Day 13: String Methods
Time: 1 hour
Learn:
- Common string methods
- String formatting
- String manipulation
Do:
- Create
day13.py - Experiment with:
upper(),lower(),split(),join(),replace(),strip() - Parse a sentence into words
- Count occurrences of a letter
Practice: Write a function that:
- Takes a sentence
- Returns word count
- Returns character count (excluding spaces)
- Returns the longest word
Day 14: Week 2 Review
Time: 2 hours
Do: Enhance your expense tracker:
- Save to file (persists between runs)
- Load from file on startup
- View by category
- Error handling for bad input
Review Prompt:
Week 2 complete. Here's my enhanced expense tracker:
[Paste code]
1. What did I do well?
2. What could be improved?
3. What concepts should I practice more?
Week 3: Real Projects
Day 15: Project Planning
Time: 1 hour
Choose your main project for Week 3-4. Options:
- Password manager (store and retrieve passwords)
- Budget tracker with visualization (text-based charts)
- Study flashcard system
- Personal journal with search
Do:
- Pick a project
- Write down features you want
- Plan which concepts you'll use
- Create a rough outline
Planning Prompt:
I want to build a [project] in Python.
Features I want:
- [Feature 1]
- [Feature 2]
- [etc.]
Help me:
1. Break this into smaller pieces
2. Decide what to build first
3. Identify concepts I might need to learn
Day 16-17: Core Features
Time: 2 hours each day
Do:
- Build the core functionality of your project
- Focus on getting the basics working
- Don't add fancy features yet
Daily prompt:
Working on my [project]. Today I'm building [feature].
Here's my progress:
[Paste code]
I'm stuck on [specific issue]. Give me a hint.
Day 18: Adding Features
Time: 2 hours
Do:
- Add one secondary feature to your project
- Improve user experience
- Add input validation
Day 19: File Persistence
Time: 1.5 hours
Do:
- Make your project save data to files
- Load data when program starts
- Handle missing files gracefully
Day 20: Code Cleanup
Time: 1.5 hours
Do:
- Review your project code
- Add comments explaining each function
- Improve variable names
- Break large functions into smaller ones
- Remove duplicate code
Prompt:
Here's my project code:
[Paste code]
I want to improve code quality. Suggest:
1. Better function/variable names
2. Where to add comments
3. Functions that could be simplified
4. Any duplicate code to consolidate
Day 21: Week 3 Review
Time: 2 hours
Do:
- Complete any missing features
- Test with different inputs
- Document how to use your project
- Reflect on what you learned
Reflection Prompt:
I built [project] in Python. Here's the complete code:
[Paste code]
1. What patterns do you see in my coding?
2. What should I focus on learning next?
3. Rate my code quality honestly.
Week 4: Expansion
Day 22: New Language Exposure
Time: 1.5 hours
Do:
- Pick: JavaScript or SQL
- Learn basic syntax
- Solve one simple problem in the new language
Prompt:
I know Python basics. Give me a crash course in [JavaScript/SQL].
Cover only the essentials. Show me Python code on left, [language] equivalent on right.
Then give me one simple exercise to try.
Day 23: Web Basics (HTML/CSS)
Time: 1.5 hours
Do:
- Create a simple HTML page
- Add basic CSS styling
- Create a personal "About Me" page
Day 24: Connecting Technologies
Time: 2 hours
Do:
- If you learned JavaScript: Create an interactive web page
- If you learned SQL: Create a Python program that stores data in SQLite
Prompt:
I know Python basics and learned some [JavaScript/SQL] yesterday.
Help me build a simple project that uses both. Something I can complete in 2 hours.
Day 25: External Libraries
Time: 1.5 hours
Learn:
- How to install packages with pip
- How to read library documentation
- How to use a new library
Do:
- Install
requestslibrary - Fetch data from a public API
- Display the results nicely
Prompt:
I want to learn how to use external Python libraries.
Walk me through:
1. Installing a package with pip
2. Importing it in my code
3. Reading documentation to understand usage
Then help me fetch weather data (or similar) from a free API.
Day 26: Git and GitHub
Time: 1.5 hours
Do:
- Create a GitHub account
- Install Git
- Create a repository for your project
- Make your first commit
- Push to GitHub
Prompt:
I've never used Git or GitHub. Walk me through:
1. Setting up Git
2. Creating a repo
3. Adding files and committing
4. Pushing to GitHub
Explain what each step does, not just the commands.
Day 27: Code Without AI
Time: 2 hours
Challenge:
- No AI assistance today
- Build a simple project from scratch
- Options: calculator, unit converter, text analyzer
- Use only documentation and your knowledge
This tests your actual skills. Struggle is expected.
Day 28: Learning Plan
Time: 1 hour
Do: Create your post-30-day learning plan:
- What direction interests you? (web, data, apps)
- What should you learn next?
- How will you practice?
- What projects will you build?
Prompt:
I completed 30 days of Python learning. I built [projects].
I'm most interested in [direction].
Create a 3-month learning plan for me:
- Monthly goals
- Skills to develop
- Projects to build
- Resources to use
Day 29: Portfolio Piece
Time: 2 hours
Do:
- Polish your main project
- Add README documentation
- Push to GitHub
- Make sure it runs correctly
This becomes your first portfolio piece.
Day 30: Reflection and Next Steps
Time: 1 hour
Do:
- Review everything you built
- Write down what you learned
- Identify gaps to address
- Commit to your next learning phase
Final Prompt:
I just completed 30 days of learning to code.
What I built:
- [List projects]
What I feel confident about:
- [List strengths]
What still confuses me:
- [List weaknesses]
Give me:
1. Honest assessment of my progress
2. Specific advice for continued growth
3. Encouragement for the journey ahead
After Day 30
Keep the Momentum
- Daily practice (even 30 minutes)
- Weekly projects
- Monthly new technologies
- Active learning community participation
Continue Building
The best way to learn is to build things you want:
- Solve your own problems
- Automate your own tasks
- Create tools you'll actually use
Stay Curious
Programming is endless. There's always more to learn. That's not overwhelming — it's exciting.
You've started. Keep going.
Quick Reference: Daily Structure
Each day should include:
- Review (5 min): What did you learn yesterday?
- Learn (20-40 min): New concept or technique
- Practice (30-60 min): Apply what you learned
- Reflect (5 min): What worked? What's confusing?
Each week should include:
- New concepts
- Applied project
- Code review (by AI)
- Independent practice (no AI)
You've got this. Day 1 starts now.