0% found this document useful (0 votes)
16 views5 pages

Python Programming

Tim has two project options for his holiday programming: 'Mental Math Master', a fun math game using Pygame, and 'Personal Finance Tracker', a web app using Flask for tracking finances. Each project includes a detailed plan for development over three weeks, with specific goals and tasks for each week. Tim should choose based on his interests and confidence in either game development or web development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views5 pages

Python Programming

Tim has two project options for his holiday programming: 'Mental Math Master', a fun math game using Pygame, and 'Personal Finance Tracker', a web app using Flask for tracking finances. Each project includes a detailed plan for development over three weeks, with specific goals and tasks for each week. Tim should choose based on his interests and confidence in either game development or web development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Tim’s Holiday Programming Projects

Hey Tim! You’ve been rocking Python for six months, and now youve got three weeks
of school holiday to build something awesome to show off at school or to me. Below are
two project options: an entry-level one (“Mental Math Master”) and a more challenging
one (“Personal Finance Tracker”). Pick one that excites you! Each project is designed
to create a cool product in three weeks. Read through both, choose one, and follow the
plan to make it happen.

1 Project 1: Mental Math Master (Entry-Level)


1.1 What Youre Building
A fun mental math game called “Mental Math Master” using Pygame. Players will
tackle three levels of math questions (addition, subtraction, multiplication, division),
earn points, and see their names on a leaderboard saved to a file. Its a polished game
you can show your friends!

1.2 Why Do This?


• Its a revamped version of the math game youve worked on, so youll feel confident
with the basics.

• Youll learn Pygame to make a graphical game, which looks super cool.

• Youll finish a playable game in three weeks thats perfect for showing off.

1.3 Your Plan


1.3.1 Week 1: Build the Game Foundation
• Goal: Create the game loop and level 1 (addition and subtraction).

• Tasks:

– Use tuples to store each question, like (operation, num1, num2, answer)
(e.g., (“add”, 5, 3, 8)).
– Use a dictionary to track game state (e.g., {“score”: 0, “level”: 1,
“questions_asked”: []}).
– Set up a Pygame window that shows a math question (e.g., “5 + 3 = ?”) and
lets players type an answer.

• What to Do: Write code to generate random addition/subtraction questions


(numbers 1–20) and check answers. Test that the Pygame window displays the
question and accepts input.

1
1.3.2 Week 2: Add More Levels and Scoring
• Goal: Add levels 2 and 3, plus a scoring system.
• Tasks:
– Add level 2 (multiplication, numbers 1–50) and level 3 (division, numbers
1–100). Make sure division questions have whole-number answers.
– Create a scoring system: 10 points per correct answer, +5 bonus points if
answered in under 5 seconds.
– Update the Pygame screen to show the score, level, and feedback (e.g., “Cor-
rect!” in green, “Wrong!” in red).
• What to Do: Code the logic to move players to the next level after 5 correct
answers. Test that scores update correctly and the interface looks clear.

1.3.3 Week 3: Add a Leaderboard and Polish


• Goal: Finish the game with a leaderboard and make it look awesome.
• Tasks:
– Save high scores to a text file (e.g., leaderboard.txt with player name and
score).
– Create a Pygame leaderboard screen showing the top 5 scores.
– Add visuals (e.g., colorful backgrounds, nice fonts) and sounds (e.g., a beep
for correct answers, a buzz for wrong ones).
• What to Do: Code the leaderboard to load and save scores. Add a start menu in
Pygame and test the game from start to finish to ensure its fun and bug-free.

1.4 How the Game Works


• Levels: Three levels (1: addition/subtraction, 2: multiplication, 3: division).
• Progression: Answer 5 questions correctly to move to the next level. Wrong
answers deduct 5 points.
• Scoring: Earn points for correct answers and speed. The leaderboard saves high
scores.
• Interface: A Pygame window with questions, an input box, score display, and
feedback.

1.5 Tips for Success


• Daily Tasks: Work on one feature each day (e.g., question generation, Pygame
input).
• Check-Ins: Show me your progress weekly so we can fix bugs or talk about ideas.
• Comments: Add comments in your code to explain whats happening, especially
for Pygame or file handling.

2
1.6 What Youll Show Off
A fun, graphical math game with a leaderboard that your friends can play and compete
on!

2 Project 2: Personal Finance Tracker Web App (Challenging)


2.1 What Youre Building
A web app using Flask where users can track their income and expenses, categorize
transactions (e.g., “Food,” “Games”), and see a dashboard with charts showing their
spending. Data will be stored in a SQLite database, making this a professional-looking
app to impress everyone.

2.2 Why Do This?


• Youll learn Flask to build a real web app, which is a big step up and super relevant
for modern programming.

• Youll work with databases and charts, which are advanced but doable with focus.

• Youll create a practical app that looks impressive for school or to me.

2.3 Your Plan


2.3.1 Week 1: Set Up the Backend and Database
• Goal: Build the Flask app and a database to store transactions.

• Tasks:

– Create a Flask project with pages for the homepage, adding transactions, and
viewing data.
– Set up a SQLite database with a table for transactions (columns: id, date,
amount, category, type [income/expense]).
– Make an HTML form (using Flask-WTF) to let users add income or expense
entries.

• What to Do: Write code to save transactions to the database. Test that you can
add entries through the web form and see them stored.

2.3.2 Week 2: Build the Frontend and Transaction Features


• Goal: Make the app look good and let users manage transactions.

• Tasks:

– Use Bootstrap or Tailwind CSS (via CDN) to style the app with a clean,
mobile-friendly design.
– Add a page to list all transactions in a table and buttons to delete or edit
entries.

3
– Add error handling (e.g., show a message if someone enters a negative amount
or leaves fields blank).

• What to Do: Code the transaction list page and test editing/deleting entries.
Make sure the app looks nice on your phone or computer.

2.3.3 Week 3: Add a Dashboard and Charts


• Goal: Create a dashboard with charts and finalize the app.

• Tasks:

– Use Matplotlib to create charts ( bingo: a pie chart for spending by category,
a line chart for balance over time).
– Save charts as images (e.g., chart.png) and display them in the Flask app.
– Build a dashboard page showing total income, total expenses, and current
balance.

• What to Do: Code the dashboard and test that charts update with new transac-
tions. Polish the app to make it user-friendly and bug-free.

2.4 How the App Works


• Transaction Entry: A form to add income or expenses with date, amount, and
category.

• Transaction Log: A table showing all transactions with edit/delete options.

• Dashboard: A summary page with financial stats and charts (e.g., spending break-
down).

• Data: Stored in a SQLite database so data persists.

2.5 Tips for Success


• Daily Tasks: Focus on one piece each day (e.g., database setup, chart creation).

• Check-Ins: Show me your app weekly to debug or discuss challenges like Flask
routes or SQL.

• Comments: Comment your code to explain Flask, SQLite, or Matplotlib parts.

2.6 What Youll Show Off


A professional web app for tracking money, with charts and a slick interface, that you
can run on your computer to wow your friends or me.

4
3 How to Choose
• Pick Mental Math Master if you love games, want something familiar, and like
the idea of a visual, playable product.

• Pick Personal Finance Tracker if youre up for a challenge, want to try web
development, and like the idea of a practical, professional app.

Think about what sounds most fun and matches your confidence with new stuff like
Pygame or Flask. Let me know your choice, and lets get coding!

You might also like