Back-to-School ML: A 6-Week Study Plan for Students Starting Machine Learning

A new semester hands you something most self-taught learners never get: a calendar. Six weeks of steady work is enough to go from "I know some Python" to "here is a project I built and can explain." The plan below assumes eight to ten hours a week, which fits alongside a normal course load. It also assumes you will stop at the end of each week only when something actually runs. Reading about machine learning feels productive. Running code is productive.
One rule before you begin: pick a single folder for everything. Mine is ml-semester/, with a subfolder per week and a plain text file called gotchas.md where I write down every error that cost me more than ten minutes. That file becomes the most valuable document you own by week four.
Before Week 1: A Weekend of Setup
Install Miniconda and create one environment for the semester, then add numpy, pandas, matplotlib, scikit-learn and JupyterLab to it. Use that environment for everything so you are not debugging installations in week three. Get comfortable with three things: writing Markdown cells in a notebook, restarting the kernel, and reading a traceback from the bottom line upward.
Then find your data. Keep four small datasets on your machine so you never lose an evening hunting for files: Iris (built into scikit-learn), the Titanic passenger table, a housing prices table, and any CSV from your own life — a fitness log, a spreadsheet of your city's weather, your monthly spending. The personal one matters most, because you already understand what the columns mean.
Weeks 1–2: Python, NumPy, and Data You Can Load
The first two weeks are unglamorous and they decide how the rest go. Spend a few days on Python fundamentals — lists, dictionaries, loops, functions, list comprehensions — but only until you can write a function with a docstring and call it without looking up the syntax. Then move to arrays and tables.
NumPy teaches you that data is a grid of numbers with a shape. Pandas teaches you that the grid has names, missing values and mixed types. Both skills show up in every project afterward.
- Load a CSV, print its shape, and answer five questions about it using only code — no eyeballing.
- Compute the mean and standard deviation of a column by hand with NumPy, then check it against the pandas method.
- Filter rows with two conditions at once, then use groupby to compare two groups.
- Draw a histogram of one column and a scatter plot of two others, with axis labels a stranger could read.
- Delete a column, save the result, reload it, and confirm the change survived.
Watch video only after you have tried something yourself. A practical ceiling is forty minutes of video for every hour of typing. When a tutorial shows a line of code, pause it and write the line from memory first.
Weeks 3–4: From Linear Regression to Trees
Week three is regression. Split your housing data with train_test_split, fit a linear model, make predictions, and measure the average error in units you can say out loud — dollars, days, kilometres. Look at the coefficients and ask whether their signs make sense. A model whose coefficients contradict what you know about the domain is telling you something about the data, not about the algorithm.
Week four is classification. Work through logistic regression, k-nearest neighbours, a single decision tree, and a random forest on the same dataset. Four models is plenty; resist the urge to add neural networks now. Compare them in one small table of results rather than four separate notebooks.
The habit that matters most here: the test set stays sealed while you work. Fit on training data, tune on a validation split, and open the test set once, at the end, when you are ready to write the number down.
Week 5: Evaluation Is the Real Skill
Accuracy is a trap on unbalanced data. If ninety percent of your examples belong to one class, a model that always predicts that class scores ninety percent and is worthless. Learn the confusion matrix properly, along with precision, recall and F1, and be able to explain in one sentence when you would prefer each one. Cross-validation — splitting the data into five folds and averaging the results — is the honest way to compare two models.
Also spend time on the boring parts that break real projects: missing values, categorical columns that need encoding, and features with wildly different scales. Build one small pipeline that chains preprocessing and a model together so you can rerun the whole thing with one command. Then deliberately break it — drop a column, add a row of nonsense — and see how the failure shows up.
Week 6: Turn It Into a Portfolio Project
Pick one dataset you have not used in class. Write your question as a single sentence before you write any code: "Can I predict which passengers survived, and which three features matter most?" Structure the notebook in labelled sections — question, data, cleaning, baseline, models, results, limitations. Always include a baseline: predicting the mean or the majority class. It gives every later number something to beat.
Finish with a README that a hiring manager can skim in ninety seconds: the question, one chart, the headline result, the main limitation, and the exact command to reproduce it. Then write two paragraphs in plain language — no jargon — explaining what you found and what you would do differently with more time. Saying clearly what did not work is a strength, not an admission. Half the notebooks you will see online skip that part, and it shows.
A Weekly Rhythm That Holds
- Monday or Tuesday: one hour reading, one hour coding along. Close the browser.
- Wednesday: a small exercise you design yourself, based on the week's topic.
- Thursday: review the previous week's notebook and fix one thing you now find clumsy.
- Friday or Saturday: two to three hours on the week's project piece.
- Sunday: twenty minutes updating gotchas.md and writing three sentences about what you learned.
If a week goes badly, do not restart the plan. Push forward and fold the missed topic into the next week's review block. Momentum beats completeness every time.
What to Do After Week Six
Do not stop and start a different curriculum. Choose one of three directions and commit for a month: strengthen the mathematics you felt shaky on, such as linear algebra and probability; build a second project with data you collected yourself; or join a practice competition and finish one submission, however low it ranks. Find one person to review your notebook — a classmate, a study group, anyone who will read your README and ask a hard question.
By the end of six weeks you will have a working environment, four models you can explain, an evaluation vocabulary, and one project with your name on it. That is a strong position to be in by mid-October, and it puts you ahead of everyone still watching their fourth introductory video.
Photo: Pavel Danilyuk / Pexels


