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:

  1. Create a file called day01.py
  2. Print "Hello, World!"
  3. Create variables for your name, age, and city
  4. 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:

  1. Create day02.py
  2. Create variables of each type
  3. Use type() to check each one
  4. Calculate the area of a room (length × width)
  5. 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:

  1. Create day03.py
  2. Ask user for their age
  3. 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:

  1. Create day04.py
  2. Print numbers 1-10 using a for loop
  3. Print countdown 10 to 1 using a while loop
  4. 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:

  1. Create day05.py
  2. Write a function greet(name) that returns a greeting
  3. Write a function add(a, b) that returns the sum
  4. Write a function is_even(n) that returns True/False

Practice: Write these functions:

  • calculate_area(length, width) — returns area
  • celsius_to_fahrenheit(c) — returns converted temperature
  • get_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:

  1. Create day06.py
  2. Create a list of 5 favorite foods
  3. Print first and last item
  4. Add an item, remove an item
  5. 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:

  1. Create week1_project.py
  2. Build a simple quiz game without looking at examples
  3. 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:

  1. Create day08.py
  2. Create a dictionary for a person (name, age, city, job)
  3. Access and print each value
  4. Add a new key-value pair
  5. 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:

  1. Create day09.py
  2. 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:

  1. Create day10.py
  2. Write a list of 5 items to a file
  3. Read the file back and print contents
  4. 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:

  1. Create day11.py
  2. Write a program that asks for a number
  3. Handle the case where user enters text instead
  4. 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:

  1. Create day13.py
  2. Experiment with: upper(), lower(), split(), join(), replace(), strip()
  3. Parse a sentence into words
  4. 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:

  1. Pick a project
  2. Write down features you want
  3. Plan which concepts you'll use
  4. 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:

  1. Review your project code
  2. Add comments explaining each function
  3. Improve variable names
  4. Break large functions into smaller ones
  5. 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:

  1. Pick: JavaScript or SQL
  2. Learn basic syntax
  3. 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:

  1. Create a simple HTML page
  2. Add basic CSS styling
  3. 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:

  1. Install requests library
  2. Fetch data from a public API
  3. 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:

  1. Create a GitHub account
  2. Install Git
  3. Create a repository for your project
  4. Make your first commit
  5. 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:

  1. Polish your main project
  2. Add README documentation
  3. Push to GitHub
  4. Make sure it runs correctly

This becomes your first portfolio piece.

Day 30: Reflection and Next Steps

Time: 1 hour

Do:

  1. Review everything you built
  2. Write down what you learned
  3. Identify gaps to address
  4. 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:

  1. Review (5 min): What did you learn yesterday?
  2. Learn (20-40 min): New concept or technique
  3. Practice (30-60 min): Apply what you learned
  4. 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.