Roadmap

Weekly study plan: how to go through a programming video course

Updated: · Skillaria.Top

A working weekly plan for a programming video course: 5 study days of 45 to 90 minutes each, 1 to 2 new lessons a day with mandatory practice, a short review of past topics at the start of each session, one day for a consolidating project and one day off. Reduce the load when practice stops working; reviews take longer than new topics when that happens.

Weekly study plan: the overall scheme

A good weekly plan rests on three things: new material in small doses, practice right after each lesson, and review of older material on a schedule. New lessons are the smaller part of your time. Most of it goes to writing code yourself and bringing back what has started to fade.

The plan below is for someone who works or studies and can give the course 5 to 8 hours a week. If you have more time, add practice rather than more new lessons.

DayNew materialPracticeReviewTime
Monday1 to 2 lessonsLesson code from memoryLast week's summary60 to 90 min
Tuesday1 to 2 lessonsYour own examplesMonday's topics60 to 90 min
Wednesday1 lessonTasks for the weekTopics from 3 to 7 days ago45 to 60 min
Thursday1 to 2 lessonsModify Monday's codeTuesday's topics60 to 90 min
Friday—Mini-project using the week's topicsEverything that was hard60 to 90 min
Saturday—OptionalReview of the week, planning30 min
Sunday———Rest

How many lessons to take per day

Aim for 1 to 2 new lessons per session. That may seem few, but each lesson needs practice and review too, and together that takes an hour or more. If you watch five lessons in a row, you get a feeling of progress without a skill: passive watching creates an illusion of knowledge, and without active processing material fades quickly.

A useful rule: do not start a new lesson until you have written the previous lesson's code yourself. If a lesson is long or the topic is hard, split it across two days.

How to divide time within a session

  1. 5 to 10 minutes: warm-up review. Without notes, recall yesterday's topic and write the key example from memory.
  2. 20 to 30 minutes: the new lesson. Before starting, write the question: what do I want to learn. While watching, pause after each meaningful block and retell it in your own words.
  3. 20 to 40 minutes: practice. Close the video and write the code from the lesson yourself, then make your own example.
  4. 5 minutes: wrap-up. Take the lesson quiz, write three lines in your log and schedule reviews in the calendar.

Within a session, Pomodoro cycles work well: 25 minutes of focus and 5 minutes of break or review.

Day by day

Monday: starting the week

Begin with a 10-minute review of last week's summary: reread your log and solve one task on a topic that was hard. Then 1 to 2 new lessons. After each, write the code from memory. Monday sets the rhythm, so do not overload it: it is better to finish feeling you could do more than to finish exhausted.

Tuesday: new topics and your own examples

The warm-up is Monday's topics from memory. This is the most important first review, because right after learning, material fades fastest. Then new lessons, and in practice, not the lesson code again but your own example. If the lesson was about classes, create a class for your own domain: books, orders, workouts.

Wednesday: a lighter day

One lesson and more practice. On Wednesday it is good to review last week's topics, which are now 3 to 7 days old. Solve a task where you need a technique but it is not named. A lighter day in the middle of the week reduces the risk of burnout.

Thursday: modification

Take the code you wrote on Monday and change it: a different condition, different data, error handling. This is the second stage of review, a test of understanding rather than mechanical memory. Then 1 to 2 new lessons on the usual pattern.

Friday: a mini-project

No new lessons. Build a small program that uses the week's topics together. For example, after a week on files, dictionaries and functions, write a script that reads a text file and prints the most frequent words. The project shows where your knowledge does not fit together, and that is the most valuable information of the week.

def top_words(path, n=10):
    counts = {}
    with open(path, encoding="utf-8") as f:
        for line in f:
            for word in line.lower().split():
                counts[word] = counts.get(word, 0) + 1
    return sorted(counts.items(), key=lambda kv: kv[1], reverse=True)[:n]

Saturday: review and planning

Thirty minutes. Reread the week's log, mark the topics that gave you trouble and schedule their review. Make a plan for next week: which lessons, which tasks, when the project. If you want to do more, solve tasks rather than watch new lessons.

Sunday: rest

A full day off is part of the plan, not a weakness. Your brain needs time to digest the material, and you need to keep studying from turning into a chore.

When to review

Review is built into every session as a warm-up, so it takes almost no separate time. The general logic is spaced: a topic returns after a day, a few days, a week and a couple of weeks.

Topic ageReview format
1 dayReproduce the code and the idea from memory
3 daysChange the code, solve a similar task
1 weekA new task or use in the mini-project
2 to 3 weeksQuick check: a quiz, an explanation in your own words

Review related topics together: loops and lists, branches and merging in Git, JOIN and grouping in SQL. That creates connections between concepts, so the material is remembered as a system, not as separate facts.

When to practice

The short answer: every day, and right after each lesson. Theory without practice does not build a skill: you can learn the traffic rules and still not know how to drive. The plan has three levels of practice:

  • Daily: the lesson code from memory and your own example.
  • 2 to 3 times a week: tasks without hints on topics from past days.
  • Once a week: a mini-project that combines topics.

If you do not have time for practice, cut new lessons, not practice.

How to tell it is time to rest

Lower the load if you notice several of these signs at once:

  • you finish a new lesson but cannot retell its main point even right after;
  • simple tasks that you used to solve no longer work;
  • the warm-up review takes longer than the new lesson, which means new material is going in faster than it settles;
  • you catch yourself checking your phone every few minutes;
  • you have to force yourself to sit down to study for several days in a row.

What to do: for one week, drop the new lessons and keep only review and practice, or cut your sessions in half. This is not going backwards; it is time for what you learned to settle. One light week every month or so helps you finish the course without falling off.

How to adapt the plan to you

  • Little time (3 to 4 hours a week). Three sessions: two with one new lesson and practice, one for review and small tasks.
  • Lots of time (10+ hours). Add practice and projects, and keep new lessons at about 2 a day.
  • Studying only at weekends. At minimum, do a short review 2 to 3 times on weekdays for 15 minutes; otherwise much will be forgotten by Saturday.
  • Missed a day. Do not double the load; just shift the plan. Two missed days in a row are a signal to cut the plan.

Example week: a Python course, the functions week

To make the plan concrete, here is how it looks on real material. Suppose this week the course has four lessons: functions and arguments, return values, scope, and lambda functions.

  • Monday. Warm-up: a loops task from last week. The lesson "functions and arguments", then from memory a function that computes the average of a list. Your own example: a function that formats a name.
  • Tuesday. Warm-up: write the average function again without hints. The lesson "return values". Practice: a function that returns both the minimum and the maximum of a list.
  • Wednesday. The lesson "scope". Review task from last week: processing a list of strings, now organized into functions.
  • Thursday. Modify Monday's code: the average function must handle an empty list correctly. The lesson "lambda functions", and practice: sort a list of dictionaries by a field using key=lambda.
  • Friday. Mini-project: count frequent words in a file, with each part as a separate function.
  • Saturday. Review: the log mentions "I get confused about scope" three times, so this topic goes into review on Tuesday and next Saturday.

Notice that the week has only four new lessons, but each is practiced at least twice and used in the project. A week like this builds a skill, not a list of watched videos.

Common mistakes when making a plan

  • Planning lessons instead of actions. "Watch 10 lessons" is easy to tick off and teaches nothing. Plan tasks: write, solve, build.
  • Leaving no slack. A plan at full capacity breaks at the first busy week. Plan about a third less than seems possible.
  • Dropping review to go faster. New topics rest on old ones, and without review each following week gets harder than the last.
  • Skipping the day off. Without rest, interest fades faster than skill grows.

Summary

A weekly study plan for a programming course: 1 to 2 new lessons per session, practice right after each, a warm-up review at the start of each day, a mini-project on Friday, a review on Saturday and a day off on Sunday. The signal to rest is when review cannot keep up with new material or practice stops working. The principles behind this plan are covered in the course "How to learn effectively from video courses".

FAQ

How many hours a week should a beginner spend on programming?

For steady progress, 5 to 8 hours a week split across 4 to 5 sessions is enough. Consistency matters more than volume: short sessions every day beat one long session.

Can I study programming every day without a day off?

You can with short sessions, but at least one rest day a week helps prevent fatigue and keeps interest alive. Overload usually ends with the course being dropped.

What if a lesson is too hard to finish in one day?

Split it into parts by meaningful blocks and go through one part per session, practicing after each. Start a new lesson only when you can write the previous code on your own.

Do I need projects if the course already has tasks?

It is recommended. Tasks train individual topics, while a small project shows how they work together and reveals gaps that tasks do not expose.

Learn this topic on video

This topic is covered in depth with practice in the course “How to Study Effectively with Video Courses”.

Go to course