6-Month Coding Plan (July–December)
This plan is tailored for a high school student aiming for top-tier STEM colleges like MIT or
Caltech, with 30–60 minutes per day available. It balances programming fundamentals,
competitive programming, and real-world project development across web and AI/ML.
JULY–AUGUST: Core Python + GitHub Setup
Week 1–2: Learn Python basics: variables, data types, input/output, conditional
statements, and loops. Build a calculator or BMI checker app. Resources: W3Schools,
FreeCodeCamp, RealPython.
Week 3: Learn lists, tuples, dictionaries, string manipulation. Build a contact book or simple
expense tracker.
Week 4: Understand object-oriented programming (OOP): classes, objects, inheritance.
Build a student grade manager or employee system.
Week 5: Learn Git basics: init, commit, push, pull. Set up GitHub and upload your first
project.
Week 6: Final Project: Combine what you’ve learned into a full program (e.g., a task
manager or mini game like number guessing).
SEPTEMBER–OCTOBER: Problem Solving & Competitive Programming
Week 1–2: Focus on arrays, strings, sorting algorithms. Practice problems on CSES and
LeetCode (Easy level).
Week 3–4: Learn recursion, binary search, and solve related problems. Start working on 1-
2 problems daily.
Week 5–6: Learn stacks, queues, and hashmaps. Continue practicing 2–3 problems daily on
LeetCode.
Week 7: Final Project: Create a Competitive Programming GitHub repository. Add 10+
solved problems with clean code and logic explanations.
NOVEMBER–DECEMBER: Choose Track – Web Development or AI/ML
Option A – Web Dev: Week 1–2: HTML, CSS, JS fundamentals. Build a personal website or
resume site.
Week 3–4: Learn Flask (Python) or React (JS). Build a web app using a public API (e.g.,
weather, news).
Week 5–6: Host your app on GitHub Pages or Render. Final Project: Personal website with
portfolio.
Option B – AI/ML: Week 1–2: Learn NumPy, Pandas, and Matplotlib. Analyze a dataset (e.g.,
student scores, COVID data).
Week 3: Learn linear regression with scikit-learn. Build a grade predictor or house price
predictor.
Week 4–5: Try classification (e.g., digits using sklearn or TensorFlow). Build a digit
recognizer.
Week 6: Upload ML project to GitHub. Include Jupyter notebooks, explanations, and graphs.