02 — Lab Notebook¶
A lab notebook is not a journal. It is not a solution file. It is not a place to copy editorial code. It is a record of your predictions against your actual performance — a precision instrument for measuring the gap between what you think you know and what you actually know. That gap is where all the learning happens.
The predict-then-measure habit is the single highest-leverage practice discipline you can build in DSA. It forces you to engage your internal model of yourself — your current capabilities, your pattern recognition, your speed — and then update that model with evidence. Passive solving never does this. You can solve 300 problems passively and never interrogate why you got them right or wrong.
The Predict-Then-Measure Protocol¶
Apply this to every problem you attempt. It takes 2 minutes total and returns 10x the learning.
Before you start the problem:
Read the problem once.
Write your prediction: “I think I can solve this in [X] minutes using [technique/pattern].”
Note your confidence: High / Medium / Low.
Attempt the problem.
After you finish (or give up):
Record actual time taken.
Record the technique actually used (may differ from prediction).
Record whether you solved it independently or needed hints/editorial.
Answer: Was your prediction right? If wrong, why?
Write one sentence: What did I learn from this problem?
This protocol is not bureaucratic overhead. It is the mechanism by which you build accurate self-knowledge. Accurate self-knowledge is what separates a learner who plateaus from one who compounds.
Weekly Entry Template¶
Fill this every Sunday (or your last session of the week). Takes 10 minutes.
---
WEEKLY LAB NOTEBOOK ENTRY
---
Date : [Week of: ___]
Sprint : S[ ] | Phase: [ ]
Problems Attempted This Week:
1. [Problem Name] | Difficulty | Pattern | Predicted: [X min, Y technique] | Actual: [X min, Y technique] | Independent? Y/N
2. [Problem Name] | Difficulty | Pattern | Predicted: [X min, Y technique] | Actual: [X min, Y technique] | Independent? Y/N
3. [Problem Name] | Difficulty | Pattern | Predicted: [X min, Y technique] | Actual: [X min, Y technique] | Independent? Y/N
(continue as needed)
Prediction Accuracy This Week:
Predicted correctly: [ ] / [ ] total attempts
Most common prediction error: (overconfident / underconfident / wrong pattern / right idea, wrong implementation)
Pattern of the Week:
Pattern I encountered most:
Can I identify this pattern on sight now? Y / N / Sometimes
Open Question:
One thing I still don't understand:
>
Insight of the Week:
One thing that clicked this week:
>
Hours Logged:
Sessions: [ ]
Total hours: [ ]
---
Monthly Review Entry Template¶
Fill this at the end of every month. This is a benchmark reset — be rigorous.
---
MONTHLY LAB NOTEBOOK REVIEW
---
Month : M[ ] | Phase: [ ]
Date :
Problems Solved This Month:
Easy : [ ]
Medium : [ ]
Hard : [ ]
Total : [ ]
Patterns Mastered (can solve reliably without hints, including variations):
1.
2.
3.
Patterns In Progress (solve sometimes, fail on variations):
1.
2.
Patterns Not Yet Touched (in roadmap, not yet reached):
1.
2.
Portfolio Status:
Current Rung: [ ]
Last portfolio item completed:
Confidence Score (0 = no idea, 10 = fully solid):
Big-O Analysis : [ ] / 10
Core Data Structures : [ ] / 10
Trees & Recursion : [ ] / 10
Graphs : [ ] / 10
Dynamic Programming : [ ] / 10
Advanced DS / Techniques: [ ] / 10
Honest Assessment:
What am I actually stronger at now vs. last month?
>
What am I still faking (saying I know it but can't prove it)?
>
Focus for Next Month:
1.
2.
---
DSA-Specific Lab Notebook Rule¶
Always record WHY a solution works, not just WHAT it does.
“I used a sliding window” is not a lab notebook entry. This is:
“I used a sliding window because the problem required finding a contiguous subarray satisfying a constraint — and whenever the constraint breaks, the left pointer can advance without needing to restart from scratch. This works because the constraint is monotonic: expanding the window can only make the constraint worse, and shrinking it can only make it better. Time complexity O(n) because each element is added and removed from the window at most once.”
The difference between those two entries is the difference between memorizing and understanding. A year from now, the first entry is useless. The second entry is a reference you can derive from.
If you cannot write the WHY, you do not yet understand the problem. Return to the editorial or concept resource before marking it complete.
Navigation: ← Sprint Cadence | Benchmark Hygiene →