How to Study Harvard CS50 Lectures on YouTube (Lecture, Practice, Problem Set, Repeat)
Harvard's CS50 is one of the best-known introductory computer science courses, and its lectures are freely available on YouTube. That makes it a popular starting point for self-learners, students who want a second explanation alongside their own intro course, and people switching careers into programming.
It also makes it easy to fall into a trap: watching long, entertaining lectures from start to finish, feeling like you are learning, and then freezing when you open the first problem set. This guide shows how to study CS50 lectures on YouTube so that each lecture leads to code you can write yourself.
Course details such as languages covered, problem set names, and certificate requirements can change between years. Always check the official course site for the version you are following.
Understand how the course is built
CS50 is organised around numbered weeks. Each week typically has a main lecture plus supporting material, and a problem set that applies the week's ideas. The lecture is where concepts are introduced; the problem set is where learning actually happens.
| Course piece | What it is for | How to use it |
|---|---|---|
| Main lecture | Big ideas, live demos, examples | Watch in chapter-sized sessions with checkpoints |
| Shorter supporting videos | Focused explanations of single topics | Use when a lecture topic still feels unclear |
| Sections or walkthroughs | Guided practice | Use before starting the problem set |
| Problem set | Applying the week's concepts | The main measure of whether you learned it |
Treat the lecture as preparation for the problem set, not as the goal.
Step 1: Split each lecture into sessions
CS50 lectures are long. Instead of watching in one sitting, split each into sessions of about 20–40 minutes using the video's chapters or natural breaks between topics.
WEEK [n] LECTURE PLAN
Session 1: [topic] 00:00 – 25:00 checkpoint: rewrite demo 1
Session 2: [topic] 25:00 – 55:00 checkpoint: modify demo 2
Session 3: [topic] 55:00 – end checkpoint: explain concept aloud
Write the plan before you start. Ending each session at a checkpoint keeps you from drifting into passive watching.
Step 2: Take code-focused notes with timestamps
CS50 lectures mix concepts, analogies, and live coding. Your notes should capture three things:
| Note type | What to write | Example |
|---|---|---|
| Concept | The idea in one or two sentences | "An array stores values contiguously in memory" @ 31:20 |
| Demo | What the program does and the key lines | "Program prints each char of a string; loop over length" @ 44:05 |
| Gotcha | A bug or mistake the lecturer shows | "Off-by-one when looping with <=" @ 48:30 |
Do not transcribe whole programs. Note the purpose, the key structure, and the timestamp. You can always return to the exact line on screen.
Step 3: Rebuild every demo without the video
This is the single most useful habit for CS50 or any coding lecture. After each session:
- Close or minimise the video.
- Open your editor.
- Rewrite the demo program from memory, using only your notes.
- Run it. When it fails, debug it yourself first.
- Only then return to the timestamp to compare.
The gap between what you remembered and what the lecturer wrote shows you exactly what you did not understand.
Step 4: Change something
Once a demo works, modify it. Print a different pattern, accept different input, handle an edge case the lecturer mentioned. Small changes are how you move from "I can copy this" to "I can use this".
Step 5: Start the problem set early
Begin the week's problem set soon after the lecture, while the concepts are fresh. Keep your timestamped notes open:
- When you get stuck, look in your notes for the closest concept or demo.
- Jump to that timestamp and rewatch only that minute or two.
- Return to your code and try again.
This is much faster than rewatching a long lecture to find one explanation. It also respects the course's academic honesty expectations: you are using the lecture, not someone else's solution.
A weekly rhythm
| Day | Task | Time |
|---|---|---|
| Day 1 | Lecture sessions 1–2 with checkpoints | 1–1.5 h |
| Day 2 | Lecture session 3; rebuild demos | 1–1.5 h |
| Day 3 | Supporting videos or walkthrough for unclear topics | 30–60 min |
| Days 4–6 | Problem set, using notes and timestamps | varies |
| Day 7 | Review: explain the week's concepts aloud; fix notes | 20–30 min |
If you are following CS50 alongside a full course load or a job, stretch each "week" over two calendar weeks. Finishing slowly beats burning out by week three.
Keep a bug log
Many CS50 learners find that the same mistakes come back week after week. Keep a short log:
DATE WEEK BUG FIX LECTURE REF
[date] [n] segfault when indexing array checked loop bounds @ 48:30
[date] [n] wrong output on empty input added edge-case check @ 52:10
Before each new problem set, skim the log. It is a personal list of the traps you are most likely to hit.
Common mistakes
- Binge-watching lectures. Long sessions without coding lead to strong recognition and weak recall.
- Copying code along with the lecturer and calling it practice. Rebuilding from memory is the practice.
- Skipping supporting material. If a topic is unclear, the shorter focused videos often help more than rewatching the full lecture.
- Waiting too long to start the problem set. The longer you wait, the more you need to rewatch.
- Looking up solutions. It defeats the purpose and may violate the course's honesty policy.
Find the right minute faster
When a problem set reminds you of something from a two-hour lecture, finding that moment quickly matters. SummarizAI is a Chrome extension that shows a summary, chapters, chat, and Study flashcards right on the YouTube watch page, so you can locate the section you need and review key concepts with flashcards before you code. The free plan works as a student trial. The code, of course, is yours to write.
Frequently asked questions
Can I learn CS50 from YouTube alone?
The lectures are on YouTube, but the problem sets and other course materials are on the official course site. Use both; the problem sets are where most learning happens.
How long does each CS50 week take?
It varies a lot by background. Plan for the lecture plus several hours of practice and problem set work, and adjust after the first couple of weeks.
Should I watch at faster playback speed?
For explanatory parts, a slightly faster speed can work. Slow down or pause for live coding and anything you plan to rebuild.
What if I fall behind?
Pick up where you are rather than rushing to catch up. Finish the current problem set before starting the next lecture.
Is it okay to use AI tools while doing CS50?
Follow the official course policy for the version you are taking, because rules on AI assistance can differ. When in doubt, use tools to understand lecture content, not to write your solutions.
Related guides
- How to Study freeCodeCamp Full-Course Videos on YouTube (Without Getting Lost in Hour Six)
- How to Study NPTEL Lectures on YouTube (Weekly Assignments, Certification Exam, No Backlog)
- Algorithms YouTube Lecture Trace-Table Notes (Input, State, Invariant, Cost)
- Operating Systems YouTube Lecture Notes (Mechanism, Policy, Trade-off, Failure Case)
- How to Study YouTube Lectures While Working Full-Time (Small Blocks, Fixed Slots, Real Retention)
- How to Study From YouTube Lectures Without Rewatching the Whole Video
Try SummarizAI on your next lecture
SummarizAI is a Chrome extension that adds a summary, chapters, and Study flashcards on the YouTube watch page. The free plan is a student trial—no need to leave the lecture tab.
Start the free student trial