Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

GATE CS & DA Preparation Guide  Module 2 – A preparation system: plan, official papers and error logs

Error logs and spaced revision for GATE

Log every GATE practice mistake by its cause, group mistakes into problem families, re-attempt them at growing gaps and keep a one-page note per section.

  • Beginner
  • 20 minutes
  • Examples run with Python 3.14.8 and Pyodide 314.0.7
  • By MySmartCoPilot
Free lesson, Pro answers: 20 minutes
Free: the whole lesson. With a pass: the model answers to its 2 interview questions.

What you will learn

  • Classify every mistake by cause, as concept, method, misreading, arithmetic, time or guess
  • Rank the causes by the marks and minutes they cost, and choose the first fix
  • Group errors into problem families you can re-attempt, and schedule spaced reviews
  • Write one-page revision notes that record the method, the trap and a fresh example

Before you start

What you’ll learn · Before you start

What you will learn

  • Classify every mistake by cause, as concept, method, misreading, arithmetic, time or guess
  • Rank the causes by the marks and minutes they cost, and choose the first fix
  • Group errors into problem families you can re-attempt, and schedule spaced reviews
  • Write one-page revision notes that record the method, the trap and a fresh example

Before you start

On this page

Twenty mistakes in four timed sets and one mock cost an invented GATE candidate 37.33 marks and 106 minutes, and three kinds of problem went wrong twice. An error log: A list of every mark lost in practice, one row per question, with its problem family, one of six causes and the minutes it took, summed each week to choose what to fix first. is the list that shows this: every mark you lose in practice, why you lost it and when you will meet that kind of problem again.

Give each mistake one of six causes, because each cause has its own fix, and log its problem family: A kind of problem that can be practised again with fresh numbers, such as "B+ tree order from block size". An error log names the family rather than the question number. rather than the question number, so that you can practise the family again with a fresh instance. Re-attempt each family after growing gaps, by default 1, 3, 7 and 21 days, and send it back to the first gap whenever you miss it again. Below, a log you can copy is summed by a program, the review ladder: A schedule of re-attempts at growing gaps, 1, 3, 7 and 21 days by default: a right answer moves a problem family one rung up, and a wrong one sends it back to the first gap. comes with the research behind spacing, and the log becomes one page of notes per section.

Not affiliated

MySmartCoPilot works independently of IISc and the IITs that run GATE. The method in this lesson is a way to study, not part of the exam’s rules.

Each of six causes has its own fix

A mistake’s cause decides its fix, and the wrong fix wastes the hours you have. Rereading a lesson does nothing for a misread unit, and a checklist does nothing for a missing idea:

Cause What happened Fix Fixed when
Concept gap You could not have solved it even with unlimited time Re-learn the idea from its lesson, then solve three fresh problems on it You can explain the idea and solve a new instance untimed
Method gap You knew the idea but not a reliable procedure, or it took far too long Drill the family: timed sets of new instances Two timed instances in a row are right, within the paper’s pace
Misreading You solved a different question from the one asked A read-twice checklist before you answer The cause disappears from two mocks in a row
Arithmetic Right method, wrong number Estimate the answer first; keep full precision until the end Your NAT answers land near your estimates
Time You ran out of time, or gave up after a long try A triage rule: move on after 5 minutes and come back at the end No question takes more than twice its share of minutes
Guess A wrong MCQ guess cost a penalty Guess only after you have ruled out at least one option Penalties fall while right answers do not

The paper’s pace is 1.8 minutes a mark, 180 minutes for 100 marks, so a 2-mark question has a share of about 3.6 minutes and “twice its share” is about 7. A misreading checklist is short enough to write on the first line of every rough sheet: the units (KB or KiB, ms or µs), negations (“which is NOT”), “at least” and “at most”, “is/are” (an MSQ may have only one correct option), and the decimal places a NAT asks for. The arithmetic fix follows the brochure’s own advice for numerical answers: round only at the end of the calculation, never at intermediate steps.

When one mistake has two causes, log the first one whose fix would have saved the marks: a misread unit that led you to a wrong method is a misreading. When you cannot tell a concept gap from a method gap, try the question again untimed, with your notes open. If you solve it, it was method; if you still cannot, it was concept.

Key idea

Give every lost mark the cause whose fix would have saved it: a concept gap is re-learnt, a method gap drilled, a misreading caught by a checklist, an arithmetic slip by an estimate, time by a triage rule and a guess by a rule for guessing.

Checkpoint

Check: Six causes and their fixes

  1. Question 1 of 2 Even after the mock, with your notes closed and no clock, you cannot see how to start a question on the pumping lemma. Which cause do you log?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Concept gap

    With unlimited time you still could not solve it, so an idea is missing. The fix is to re-learn it from its lesson and then solve three fresh problems on it. If you could have solved it untimed but slowly or with errors in the steps, it would be a method gap.

  2. Question 2 of 2 A question gave a cache size in KB; you worked it out with 1,000 bytes per KB and your NAT answer missed the range. Your method was right. Which cause do you log?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Misreading

    You answered a different question from the one asked: the method was right, but the size you used was not the one in the question. The fix is the read-twice checklist, with units on it, not more cache theory.

Log families, not question numbers

“Question 37 of mock 2” tells you nothing a week later, and it cannot be practised again: the next time you see that question, you will remember its answer. A problem family names the kind of problem instead: “pumping lemma: is it regular?”, “highest normal form from FDs”, “B+ tree order from block size”. A family can be practised again with a fresh instance, with new numbers, a new language or a new set of dependencies, from the exercises of this track’s lessons, a textbook, or your own changes to the numbers of a problem you have solved.

Each row of the log is one question that lost marks: the study day, where it happened, the section, the family, the cause, the question’s type and marks, whether the answer was wrong or blank, and the minutes it took. Here is the log of an invented candidate after four timed sets and one mock:

error_log.csv: twenty logged mistakes CSV · log/error_log.csv
day,source,section,family,cause,type,marks,outcome,minutes
3,timed set 1,Computer organisation,cache: tag/index/offset split,misreading,NAT,2,wrong,6
3,timed set 1,Computer organisation,pipeline: stall cycles with forwarding,method,MCQ,2,wrong,9
5,timed set 2,Theory of computation,DFA for remainders,method,MCQ,1,wrong,4
5,timed set 2,Theory of computation,pumping lemma: is it regular?,concept,MSQ,2,wrong,7
8,timed set 3,Databases,highest normal form from FDs,concept,MCQ,2,wrong,8
8,timed set 3,Databases,B+ tree order from block size,arithmetic,NAT,2,wrong,5
10,mock 1,General Aptitude,percentage change,misreading,MCQ,1,wrong,2
10,mock 1,Engineering mathematics,conditional probability,method,NAT,2,wrong,6
10,mock 1,Algorithms,recurrences: divide-and-conquer cases,guess,MCQ,1,wrong,1
10,mock 1,Operating systems,page faults under LRU,time,NAT,2,blank,11
10,mock 1,Computer organisation,cache: tag/index/offset split,misreading,MCQ,2,wrong,4
10,mock 1,Compiler design,LL(1) table conflicts,concept,MSQ,2,wrong,6
10,mock 1,Computer networks,sliding window utilisation,arithmetic,NAT,2,wrong,5
10,mock 1,Digital logic,K-map minimal SOP,method,MCQ,1,wrong,3
10,mock 1,Algorithms,DP: counting paths,time,NAT,2,blank,9
10,mock 1,Programming and DS,C pointer output,misreading,MCQ,1,wrong,2
10,mock 1,General Aptitude,seating arrangement,guess,MCQ,2,wrong,1
12,timed set 4,Computer organisation,pipeline: stall cycles with forwarding,method,NAT,2,wrong,8
12,timed set 4,Databases,highest normal form from FDs,concept,MSQ,1,wrong,5
12,timed set 4,Engineering mathematics,eigenvalues of a 3x3 matrix,arithmetic,NAT,1,wrong,4

Read the family column first: “cache: tag/index/offset split”, “pipeline: stall cycles with forwarding” and “highest normal form from FDs” each appear twice, on different days, and each time with the same cause.

Checkpoint

Check: Problem families in the log

  1. Question 1 of 2 Which entry in the family column of an error log is the most useful a week later?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: B+ tree order from block size

    A family names a kind of problem you can practise again with new numbers. A question number can only be re-read, and by then you remember its answer; a section name is too broad to practise.

  2. Question 2 of 2 You lose a 2-mark NAT on the order of a B+ tree from a block size, a key size and a pointer size. What goes in the family column, and how will you practise it again?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: B+ tree order from block size; later, a problem of the same kind with block and key sizes you choose

    Log the kind of problem, "B+ tree order from block size", and practise it again with a fresh instance: new block, key and pointer sizes from an exercise, a textbook or your own changes to the numbers.

Count what each cause costs, in marks and in minutes

The program adds up what each cause cost, in marks lost against a right answer and in minutes, and lists the families that came back. A wrong MCQ loses its marks and its penalty: 2.67 marks for a wrong 2-mark MCQ. A blank, a wrong MSQ or a wrong NAT loses the question’s marks:

What the mistakes cost, by cause and by section Python · log/summarise.py
"""What the mistakes in error_log.csv cost, by cause and by section, and which problem families keep coming back."""
import csv
from collections import Counter, defaultdict
from fractions import Fraction

FIX = {
    "concept": "re-learn it from the lesson, then 3 fresh problems",
    "method": "drill the family in timed sets",
    "misreading": "a read-twice checklist before answering",
    "arithmetic": "estimate first, keep full precision to the end",
    "time": "triage: move on after 5 minutes, come back later",
    "guess": "guess an MCQ only after ruling out an option",
}


def lost(row):
    """Marks lost against a right answer: the question's marks, plus the penalty for a wrong MCQ."""
    marks = Fraction(row["marks"])
    if row["type"] == "MCQ" and row["outcome"] == "wrong":
        return marks + marks / 3
    return marks


with open("error_log.csv", newline="", encoding="utf-8") as f:
    log = list(csv.DictReader(f))

total = sum(lost(r) for r in log)
print(f"{len(log)} mistakes cost {float(total):.2f} marks and {sum(int(r['minutes']) for r in log)} minutes")

by_cause = defaultdict(list)
for r in log:
    by_cause[r["cause"]].append(r)
print("\nCause        mistakes   marks  minutes  fix")
for cause, rows in sorted(by_cause.items(), key=lambda kv: (-sum(lost(r) for r in kv[1]), kv[0])):
    marks = sum(lost(r) for r in rows)
    minutes = sum(int(r["minutes"]) for r in rows)
    print(f"{cause:12} {len(rows):8} {float(marks):7.2f} {minutes:8}  {FIX[cause]}")
penalties = sum(Fraction(r["marks"]) / 3 for r in by_cause["guess"])
print(f"The wrong guesses cost {float(penalties):.2f} marks against leaving those questions blank")

by_section = Counter()
for r in log:
    by_section[r["section"]] += lost(r)
print("\nSection                    marks")
for section, marks in sorted(by_section.items(), key=lambda kv: (-kv[1], kv[0])):
    print(f"{section:24} {float(marks):7.2f}")

families = defaultdict(list)
for r in log:
    families[r["family"]].append(r["cause"])
print("\nFamilies missed more than once:")
for family, causes in families.items():
    if len(causes) > 1:
        same = f"{causes[0]} each time" if len(set(causes)) == 1 else ", ".join(causes)
        print(f"  {family}: {len(causes)} times, {same}")

Output

20 mistakes cost 37.33 marks and 106 minutes

Cause        mistakes   marks  minutes  fix
method              5    9.33       30  drill the family in timed sets
concept             4    7.67       26  re-learn it from the lesson, then 3 fresh problems
misreading          4    7.33       14  a read-twice checklist before answering
arithmetic          3    5.00       14  estimate first, keep full precision to the end
guess               2    4.00        2  guess an MCQ only after ruling out an option
time                2    4.00       20  triage: move on after 5 minutes, come back later
The wrong guesses cost 1.00 marks against leaving those questions blank

Section                    marks
Computer organisation       9.33
Databases                   5.67
General Aptitude            4.00
Algorithms                  3.33
Theory of computation       3.33
Engineering mathematics     3.00
Compiler design             2.00
Computer networks           2.00
Operating systems           2.00
Digital logic               1.33
Programming and DS          1.33

Families missed more than once:
  cache: tag/index/offset split: 2 times, misreading each time
  pipeline: stall cycles with forwarding: 2 times, method each time
  highest normal form from FDs: 2 times, concept each time

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 summarise.py

Read it the way the weekly review does:

  • Method gaps cost the most, 9.33 marks, and the most minutes, 30: these questions were slow and still wrong. Two of the five came from one family, stall counting in pipelines, which makes it the first drill of the week.
  • Misreading cost 7.33 marks in only 14 minutes, and its fix costs nothing but a habit. Start the read-twice checklist in the next session, beside the drill: the largest cause is not always the one to fix alone.
  • Two concept gaps came from one family, normal forms from functional dependencies. A second miss on a family you have re-learnt means the first re-learning did not hold, so go back to the lesson, not to more questions.
  • The guesses cost 4 marks against right answers, but only 1 mark against leaving those two questions blank. That 1 mark is the true price of the guesses, and the expected-value rule of the marking lesson says when it is worth paying.
  • Computer organisation lost the most marks, 9.33 of the 37.33. The study plan should move hours there in its next weekly review.

Key idea

Count each cause in marks lost against a right answer and in minutes, fix the costliest first, and start the cheap habits, such as the read-twice checklist, at once beside it.

Checkpoint

Check: What each cause costs

  1. Question 1 of 2 The lesson counts marks lost against a right answer. How many marks does a wrong answer to a 2-mark MCQ lose? Give two decimal places.

    Type a number.

    Show the answer: Question 1 of 2

    Answer: 2.67 marks (anything from 2.66 to 2.68 counts)

    A right answer would have earned 2 marks; the wrong one earned minus 2/3. The difference is 2 + 2/3, about 2.67 marks. Against a blank, the same wrong answer cost only the 2/3 penalty.

  2. Question 2 of 2 The summary says method gaps cost 9.33 marks in 30 minutes and misreading 7.33 marks in 14 minutes. Which plan for the next week follows the lesson?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Drill stall counting, and start the read-twice checklist at once beside it

    Fix the costliest cause first, here method gaps with a drill of the family that came back, and start cheap habits such as the read-twice checklist in the same week.

Re-attempt each family at growing gaps, shorter near the exam

A re-attempt is a test, and taking a test is itself a way of learning, the testing effect: The finding that taking a test on what you have studied helps you remember it later more than studying it again, even though restudying can leave you feeling more sure.. In two experiments, students either restudied prose passages or took recall tests on them: restudying won on a test given five minutes later, but the tested group recalled far more when the final test came two days or a week later, even though restudying had left students more sure of their memory (Roediger and Karpicke). A review of ten study techniques reached the same conclusion from a wider set of studies, rating practice testing and spreading study over time as the most useful and rereading among the least (Dunlosky and colleagues).

Spacing the re-attempts matters too. A meta-analysis of 317 experiments on spaced study found that the gap between sessions which gives the best final recall grows as the retention interval grows (Cepeda and colleagues). A later study taught more than 1,350 people a set of facts, reviewed them after a gap of up to three and a half months and tested them up to a year later. The best gap grew with the delay before the test, but as a share of that delay it fell: from about 20 to 40 % of a one-week delay to about 5 to 10 % of a one-year delay (Cepeda and colleagues).

Neither study used GATE problem families, and neither gives a schedule to copy. MySmartCoPilot’s default ladder of 1, 3, 7 and 21 days is a starting point you can change. A right answer moves a family one rung up and a wrong answer sends it back to the 1-day gap; a family that is right after the 21-day gap leaves the ladder and joins the mixed timed sets, where it still turns up now and then.

A ladder of reviews 1, 3, 7 and 21 days apart: a right answer climbs a rung, a wrong one goes back to the 1-day review.A family is missedReview 1 day later(a wrong answer at any reviewbrings the family back here)Review 3 days laterReview 7 days laterReview 21 days laterInto the mixed timed setsrightrightrightright

The review ladder for one problem family

Text description of the diagram

The diagram is a column of boxes joined by arrows, from top to bottom:

  1. A family is missed.
  2. Review 1 day later. The box adds that a wrong answer at any review brings the family back here.
  3. Review 3 days later.
  4. Review 7 days later.
  5. Review 21 days later.
  6. Into the mixed timed sets.

Each arrow from one review to the next is labelled "right": a right answer moves the family one rung up, and a right answer after the 21-day gap moves it into the mixed timed sets.

The diagram is the ladder as a whole. Step through one family’s climb, with one miss on the way, and watch the reset:

Interactive · stage by stage One problem family on the review ladder, with one miss Step through the re-attempts of a family first missed on day 5. A right answer climbs a rung; the miss at the 7-day rung sends it back to the first gap.
One problem family on the review ladder, with one miss, step 7 of 7. Showing Missed in a timed set, Review after 1 day (day 17: right), Review after 3 days (day 20: right), Review after 7 days (day 27: right), Review after 21 days (day 48: right), Into the mixed sets. In focus: Review after 21 days, Into the mixed sets.wrong means 1 day againMissed in a timed setDFA for remainders, day 5Review after 1 dayday 17: rightReview after 3 daysday 20: rightReview after 7 daysday 27: rightReview after 21 daysday 48: rightInto the mixed setsoff the ladder

The drawing shows the whole scene; its 7 steps are listed below.

Every step as text
  1. The miss. On day 5 the family "DFA for remainders" costs a mark in a timed set. It joins the ladder, and its first re-attempt, a fresh instance with new numbers, is due one day later.
  2. Day 6, right. One day later the re-attempt is right. A right answer moves the family one rung up, so the next re-attempt comes 3 days later.
  3. Day 9, right. Right again on day 9, so the family climbs to the 7-day rung.
  4. Day 16, wrong. Wrong on day 16. A miss at any rung sends the family back to the first gap, so the next re-attempt is one day later, on day 17, and the climb starts again.
  5. Days 17 and 20. Right on day 17 and again on day 20, three days later. The gaps keep their order after a reset, 1, 3 and then 7 days.
  6. Day 27, right. Right at the 7-day rung this time, on day 27, so the longest gap, 21 days, comes next.
  7. Day 48, off the ladder. Right on day 48, after 21 days. The family leaves the ladder and joins the mixed timed sets, where it still turns up now and then. With the exam on day 126, that last gap was 27 % of the 78 days still left.

The program below plans the ladder for families first missed on three days of an 18-week plan, and compares each last gap with the days left before the exam:

Review days for families missed early, in the middle and late Python · review/schedule.py
"""Review days for a problem family on a ladder of growing gaps, counted in days from today."""
GAPS = (1, 3, 7, 21)   # MySmartCoPilot's default ladder, in days: a starting point to change, not a research result
LAST_MONTH = (1, 2, 3)  # shorter gaps for a family first missed in the last month
EXAM_DAY = 126         # the first exam day, 18 weeks from today


def ladder(first_miss, gaps, exam_day=EXAM_DAY):
    """The review days of a family that is right at every review, and what happens after the last rung."""
    days, day = [], first_miss
    for gap in gaps:
        if day + gap >= exam_day:
            return days, f"the next gap, {gap} days, would reach the exam"
        day += gap
        days.append(day)
    return days, "then it joins the mixed timed sets"


def show(first_miss, gaps):
    days, after = ladder(first_miss, gaps)
    left = EXAM_DAY - days[-1]
    last_gap = days[-1] - (days[-2] if len(days) > 1 else first_miss)
    print(f"Missed on day {first_miss}: reviews on days {', '.join(map(str, days))}; {after}")
    print(f"  the last gap, {last_gap} days, is {100 * last_gap / left:.0f} % of the {left} days from that review to the exam")


print(f"Gaps {', '.join(map(str, GAPS))} days; the exam is on day {EXAM_DAY}")
for first_miss in (3, 60, 110):
    show(first_miss, GAPS)
print(f"\nIn the last month, gaps of {', '.join(map(str, LAST_MONTH))} days")
show(110, LAST_MONTH)

Output

Gaps 1, 3, 7, 21 days; the exam is on day 126
Missed on day 3: reviews on days 4, 7, 14, 35; then it joins the mixed timed sets
  the last gap, 21 days, is 23 % of the 91 days from that review to the exam
Missed on day 60: reviews on days 61, 64, 71, 92; then it joins the mixed timed sets
  the last gap, 21 days, is 62 % of the 34 days from that review to the exam
Missed on day 110: reviews on days 111, 114, 121; the next gap, 21 days, would reach the exam
  the last gap, 7 days, is 140 % of the 5 days from that review to the exam

In the last month, gaps of 1, 2, 3 days
Missed on day 110: reviews on days 111, 113, 116; then it joins the mixed timed sets
  the last gap, 3 days, is 30 % of the 10 days from that review to the exam

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 schedule.py

For a family missed in the first week, the last rung comes on day 35, and its 21-day gap is 23 % of the 91 days still left. For a family missed on day 60, the same gap is 62 % of the 34 days that remain, a larger share than the study found best even for a one-week delay, and for a family missed on day 110 the ladder cannot even finish. In the last month, use shorter gaps such as 1, 2 and 3 days: for the family missed on day 110 they keep the last gap at 30 % of the time left. Keeping the last gap under about 40 % of the days that remain is MySmartCoPilot’s reading of the study, not a figure it measured.

Flashcard Maker Turn the definitions and traps of your log into cards that come back at growing gaps.

Key idea

Re-attempt each family at growing gaps, 1, 3, 7 and 21 days by default, send it back to the first gap after any miss, and shorten the gaps in the last month so that the last one stays well inside the days left.

Checkpoint

Check: Re-attempts at growing gaps

  1. Question 1 of 2 A family is on the 7-day rung of the ladder (gaps of 1, 3, 7 and 21 days), and you get it wrong at that review. When is its next review?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: 1 day later, back on the first rung

    A wrong answer sends the family back to the first gap, so it climbs the ladder again from 1 day. Only a right answer moves it up a rung.

  2. Question 2 of 2 A family is first missed on day 30 of a plan whose exam is on day 126, and it is right at every review of the 1, 3, 7 and 21-day ladder. On which day is its last review?

    Type a number.

    A hint

    Add the gaps one by one to day 30.

    Show the answer: Question 2 of 2

    Answer: 62 day

    The reviews come on days 31, 34, 41 and 62 (30 + 1, + 3, + 7, + 21), and after the right answer on day 62 the family joins the mixed timed sets, 64 days before the exam.

One page per section, written from your own mistakes

Notes help in the last month only if they are short and come from your own mistakes, so keep one page per section and rewrite it every week from the log. A page has four parts:

  1. Definitions you keep forgetting, in your own words.
  2. Method sheets: the steps of each family’s method, as a numbered list.
  3. The traps you actually fell into, each with its cause and how often.
  4. One fresh worked example, with numbers you chose yourself, never a past paper’s question.

Here is a page for computer organisation, written from the log above; its two traps are the two families that came back:

One page for CS section 3, computer organisation Text · notes/section_page.txt
CS section 3, Computer organisation: one page, rewritten every week from the error log

Definitions I keep forgetting
- Average memory access time = hit time + miss rate x miss penalty, in one level; nest it for two levels.
- A k-way set-associative cache has (cache size) / (block size x k) sets; direct-mapped is k = 1.

Method sheets
1. Address split for a cache: offset bits = log2(block size in bytes); index bits = log2(number of sets);
   tag bits = address bits - index bits - offset bits.
2. Stalls in a 5-stage pipeline: write the stages of each instruction in a table, one row each, then mark the
   cycle where each needed value is produced and the cycle where it is used; with forwarding, only a load
   followed at once by an instruction that uses the loaded value waits one cycle.

Traps I fell into (from the log)
- Read "64 KB" as 64,000 bytes: the question's cache held 2^16 bytes. Read the units line twice. (misreading, 2 times)
- Counted stalls as if there were no forwarding when the question said there was. Underline "forwarding". (method, 2 times)

A fresh example, with my own numbers
- 32-bit addresses, a 4-way set-associative cache of 64 KiB, 64-byte blocks:
  offset = log2(64) = 6 bits; sets = 65,536 / (64 x 4) = 256, so index = 8 bits; tag = 32 - 8 - 6 = 18 bits.

In the last weeks, revise from these pages and the families on your ladder, not from whole lessons: a page takes minutes to read, and everything on it is something you have already got wrong once.

Checkpoint

Check: One page of notes per section

  1. Question 1 of 2 Which of these belong on a section's one-page note?

    Choose every answer that is right.

    Show the answer: Question 1 of 2

    Answer:

    • A fresh worked example with numbers you chose yourself
    • A trap you actually fell into, with its cause and how often

    A page has four parts: definitions you keep forgetting, method sheets, the traps you actually fell into, and one fresh worked example with numbers you chose yourself.

  2. Question 2 of 2 The note's fresh example uses 32-bit addresses and a 4-way set-associative cache of 64 KiB with 64-byte blocks. Make it 8-way and keep the rest. How many tag bits are there now?

    Type a number.

    A hint

    Follow the method sheet on the page; only the number of sets changes.

    Show the answer: Question 2 of 2

    Answer: 19 bits

    Offset = log₂ 64 = 6 bits. Sets = 65,536 ÷ (64 × 8) = 128, so the index is 7 bits. Tag = 32 − 7 − 6 = 19 bits, one more than the 4-way example's 18, because each doubling of the ways halves the sets.

Twenty minutes a week turn the log into one change

Once a week, after the week’s timed sets, spend 20 minutes on the log:

  1. Run the summary and pick the cause that cost the most marks. Write down one concrete change for next week: a checklist line, a drill of one family, a triage time.
  2. Look at the families missed more than once. Put them at the bottom of the ladder, and for a concept gap, back on the list of lessons to re-learn.
  3. Move hours in the study plan towards the sections that lost the most marks.
  4. A week later, check the change: did the marks lost to that cause fall? If not, the fix was the wrong one, and the cause may be another.

Step through one such review of the invented log, from the summary to the check a week later:

Interactive · stage by stage One weekly review of the error log Step through the review of the invented log after four timed sets and a mock. Each step turns one number of the summary into a decision.
One weekly review of the error log, step 5 of 5. Showing Run the summary, One change for next week, Families missed twice, Move hours in the plan, A week later, check it. In focus: A week later, check it.Run the summary20 mistakes, 37.33 marksOne change for next weeka drill and a checklistFamilies missed twiceback to the first rungMove hours in the planto computer organisationA week later, check itdid those marks fall?

The drawing shows the whole scene; its 5 steps are listed below.

Every step as text
  1. The summary. After the week's timed sets, run the summary. In the invented log 20 mistakes cost 37.33 marks and 106 minutes, and method gaps cost the most, 9.33 marks and 30 minutes.
  2. One change. Write down one concrete change for the costliest cause. Two of the five method gaps were stall counting in pipelines, so the change is a drill of that family, and the read-twice checklist starts beside it, because misreading cost 7.33 marks in only 14 minutes.
  3. Families missed twice. Three families came back, the cache address split, stall counting and normal forms. They go to the bottom of the ladder, and normal forms, a concept gap both times, also goes back on the list of lessons to re-learn.
  4. Hours in the plan. Computer organisation lost the most marks, 9.33 of the 37.33, so the study plan moves hours towards it at its next weekly review.
  5. The check. A week later, check each change by its own number. Did the marks lost to method gaps and to misreading fall? If not, the fix was the wrong one, and the cause may be another.

Study Planner & Revision Timetable Lay the week out with the re-attempts placed between new study sessions.

Key idea

Once a week, turn the costliest cause into one concrete change, send the families missed twice back to the first rung, move plan hours to the sections that lost the most marks, and check the change a week later.

Checkpoint

Check: The weekly review of the log

  1. Question 1 of 2 What is the first step of the weekly review of the log?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Run the summary and pick the cause that cost the most marks

    Run the summary, pick the cause that cost the most marks and write down one concrete change for next week; then the families missed twice, the plan's hours, and a check of the change a week later.

  2. Question 2 of 2 A week after you started the read-twice checklist, the marks lost to misreading have not fallen. What does the weekly review tell you?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: The fix was the wrong one, and the cause may be another, so look at those questions again

    A week later, check the change: did the marks lost to that cause fall? If not, the fix was the wrong one, and the cause may be another, so look at the questions again before you choose a new fix.

Practise: a ladder that resets, then the whole lesson

The schedule above assumes every re-attempt goes right. Write the ladder for real reviews, where a wrong answer sends the family back to the first gap and no review is planned on or after the exam; the sample tests run in your browser:

Exercise · Easy · Python

Schedule the reviews of a family that you sometimes miss

The lesson's schedule.py plans a family that you get right at every review. Real reviews go wrong sometimes. Write review_days(first_miss, results, exam_day, gaps=(1, 3, 7, 21)) in ladder.py: it returns the day of every review, in order, counted in days from the same start as first_miss and exam_day.

  • The first review is gaps[0] days after first_miss, on the first rung.
  • results[i] is True when review i went right and False when it went wrong.
  • After a right answer the family climbs one rung, and the next review comes that rung's gap later. After a wrong answer it goes back to the first rung, so the next review is gaps[0] days later.
  • A right answer on the last rung ends the ladder: no more reviews.
  • When the results run out, the last day returned is the next review still to do.
  • A review that would fall on or after exam_day is never planned, and the ladder stops there.

For example, review_days(0, [True, False, True], 200) is [1, 4, 5, 8]: right on day 1, wrong on day 4, right on day 5 after the reset, and the next review due on day 8. The sample tests import the function from ladder.py and run in your browser.

Starter code · ladder.py

def review_days(first_miss, results, exam_day, gaps=(1, 3, 7, 21)):
    """The days of every review of a problem family, with a reset to the first gap after a wrong answer."""
    # Replace this line with your code.
    return None
The sample tests · test_ladder.py
from ladder import review_days


def test_all_right():
    """right at every review: one review per rung, then the ladder ends"""
    assert review_days(0, [True, True, True, True], 200) == [1, 4, 11, 32]
    assert review_days(10, [True, True, True, True, True, True], 200) == [11, 14, 21, 42]


def test_reset():
    """a wrong answer sends the family back to the first gap"""
    assert review_days(0, [True, False, True], 200) == [1, 4, 5, 8]
    assert review_days(5, [True, True, False, False, True], 200) == [6, 9, 16, 17, 18, 21]


def test_next_review():
    """with no results yet, the only day is the first review"""
    assert review_days(7, [], 200) == [8]
    assert review_days(0, [True], 200) == [1, 4]


def test_exam_day():
    """no review falls on or after the exam day"""
    assert review_days(100, [True, True, True], 115) == [101, 104, 111]
    assert review_days(100, [True, True, True], 111) == [101, 104]
    assert review_days(114, [], 115) == []


def test_own_gaps():
    """the gaps are a parameter"""
    assert review_days(0, [True, True], 50, gaps=(2, 5)) == [2, 7]
    assert review_days(0, [False, True, True], 50, gaps=(1, 2, 3)) == [1, 2, 4, 7]
A hint

Keep two variables, the day of the next review and the rung you are on (start at first_miss + gaps[0] and rung 0). Loop over the results: append the day, then either finish (a right answer on rung len(gaps) - 1), climb a rung or go back to rung 0, and add the new rung's gap to the day. Check the exam day before you append any day.

The sample tests run on this device, in your browser (Pyodide): nothing is sent to mysmartcopilot.com. The first run downloads Python (about 13.5 MB), which is kept for the next runs. A check in your browser is feedback for you, not proof that the code is right for every input.

Then quiz yourself on the six ideas of the lesson. Like the ladder, this self-check returns to your misses: your weakest idea comes first, each right answer earns a harder question, and one you get wrong is asked once more at the end:

Practice that adapts to you

Practise this lesson

18 questions about 6 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.

  1. Question 1 of 18 You answered an MCQ by picking one of the four options without ruling any out, and it was wrong. Which cause do you log?

    Choose one answer.

    Show the answer: Question 1 of 18

    Answer: Guess

    A wrong MCQ guess is logged as a guess. Its fix is to guess only after ruling out at least one option, and it works when penalties fall while right answers do not.

  2. Question 2 of 18 You know how pipeline hazards work and solve a stall-counting question correctly, but it takes 12 minutes, and two later questions are left blank for lack of time. What do you log for those two blanks?

    Choose one answer.

    Show the answer: Question 2 of 18

    Answer: Time, with the stall-counting family as a method gap to drill

    The blanks cost marks because time ran out, and the cause of that was a method too slow for the paper's pace of 1.8 minutes a mark. Log the blanks as time and the slow family as a method gap: drilling it is the fix for both.

  3. Question 3 of 18 You read "at most" as "at least", chose a method for that wrong question, and ran out of time on it. Which single cause do you log?

    Choose one answer.

    Show the answer: Question 3 of 18

    Answer: Misreading, the first cause whose fix would have saved the marks

    When one mistake has two causes, log the first one whose fix would have saved the marks. A misread question that led to a wrong method and a lost race with the clock is a misreading.

  4. Question 4 of 18 Why is "Databases" a poor entry for the family column?

    Choose one answer.

    Show the answer: Question 4 of 18

    Answer: It is too broad to practise again; a family names one kind of problem

    A family names a kind of problem, such as "highest normal form from FDs", so that you can practise it again with a fresh instance. A section name is too broad for that.

  5. Question 5 of 18 Where can a fresh instance of a problem family come from?

    Choose every answer that is right.

    Show the answer: Question 5 of 18

    Answer:

    • Your own changes to the numbers of a problem you have solved
    • The exercises of this track's lessons
    • A textbook

    A fresh instance has new numbers, a new language or a new set of dependencies: from the exercises of this track's lessons, a textbook, or your own changes to a problem you have solved. The same question again is only memory.

  6. Question 6 of 18 The log shows "cache: tag/index/offset split" missed twice, and both times the cause was misreading. What does that say about the fix?

    Choose one answer.

    Show the answer: Question 6 of 18

    Answer: The method is known, so the fix is the read-twice checklist with units on it, not more cache theory

    The one-page note of the lesson records the trap: "64 KB" read as 64,000 bytes, twice. The fix is a checklist line for units, and the family goes back to the bottom of the ladder to be re-attempted.

  7. Question 7 of 18 In the summary of the invented log, which section lost the most marks?

    Choose one answer.

    Show the answer: Question 7 of 18

    Answer: Computer organisation, 9.33 of the 37.33 marks

    Computer organisation lost 9.33 of the 37.33 marks, so the study plan's next weekly review should move hours there.

  8. Question 8 of 18 Counting against a right answer, how many marks does a wrong answer to a 1-mark MCQ lose? Give two decimal places.

    Type a number.

    Show the answer: Question 8 of 18

    Answer: 1.33 marks (anything from 1.32 to 1.34 counts)

    A right answer earns 1 and the wrong one minus 1/3, so the loss is 1 + 1/3 ≈ 1.33 marks. Against a blank, the same wrong answer cost only 1/3.

  9. Question 9 of 18 Your own summary shows arithmetic slips costing 6 marks, all in NATs. Which fix do you start, and how will you know it worked?

    Choose one answer.

    Show the answer: Question 9 of 18

    Answer: Estimate each answer first and keep full precision to the end; it worked when your NAT answers land near your estimates

    For arithmetic slips, estimate the answer first and keep full precision until the end, as the brochure advises for numerical answers. The fix holds when your NAT answers land near your estimates.

  10. Question 10 of 18 In the study of more than 1,350 people cited in the lesson, how did the best gap before a review change as the final test moved further away?

    Choose one answer.

    Show the answer: Question 10 of 18

    Answer: It grew in days, but shrank as a share of the wait, from about 20 to 40 % to about 5 to 10 %

    The best gap grew as the test delay grew, but as a proportion it fell from about 20 to 40 % of a one-week delay to about 5 to 10 % of a one-year delay. That is why one fixed ladder fits a family met early better than one met in the last month.

  11. Question 11 of 18 A family is first missed on day 110 of a plan whose exam is on day 126. What happens on the default ladder of 1, 3, 7 and 21 days?

    Choose one answer.

    Show the answer: Question 11 of 18

    Answer: It is reviewed on days 111, 114 and 121, and the 21-day gap would reach the exam, so use shorter gaps such as 1, 2 and 3 days

    The program's run says it: reviews on days 111, 114 and 121, and the next gap, 21 days, would reach the exam. In the last month, gaps of 1, 2 and 3 days keep the last gap at 30 % of the time left.

  12. Question 12 of 18 A family is first missed on day 100, the exam is on day 126, and you use the last-month gaps of 1, 2 and 3 days. What share of the days left after the last review is the last gap? Give a whole per cent.

    Type a number.

    A hint

    Find the last review day first, then divide the last gap by the days from it to the exam.

    Show the answer: Question 12 of 18

    Answer: 15 % (anything from 14.5 to 15.5 counts)

    The reviews come on days 101, 103 and 106. The last gap is 3 days and 126 − 106 = 20 days remain, so 3 ÷ 20 = 15 %, well inside the 40 % that the lesson reads from the study.

  13. Question 13 of 18 Put the four parts of a section's one-page note in the lesson's order.

    Give each item its position, from 1 (first).

    Show the answer: Question 13 of 18

    Answer:

    1. Definitions you keep forgetting
    2. Method sheets for each family
    3. The traps you actually fell into
    4. One fresh worked example with your own numbers

    A page has four parts: definitions in your own words, the steps of each family's method, your own traps with their causes and counts, and one fresh worked example with numbers you chose yourself.

  14. Question 14 of 18 Why does the worked example on a page use numbers you chose yourself, never a past paper's question?

    Choose one answer.

    Show the answer: Question 14 of 18

    Answer: You would remember a past paper's answer, while a fresh instance makes you run the method

    A fresh example with your own numbers practises the method; a past paper's question practises your memory of its answer.

  15. Question 15 of 18 Two weeks before the exam you have an evening for revision. What do you revise from?

    Choose one answer.

    Show the answer: Question 15 of 18

    Answer: The one-page notes and the families on your ladder

    In the last weeks, revise from the one-page notes and the families on your ladder, not from whole lessons: they are short and made of your own mistakes.

  16. Question 16 of 18 At the weekly review, what happens to a family missed more than once?

    Choose one answer.

    Show the answer: Question 16 of 18

    Answer: It goes to the bottom of the ladder, and for a concept gap back on the list of lessons to re-learn

    Families missed more than once go to the bottom of the ladder, and those missed for a concept gap go back on the list of lessons to re-learn.

  17. Question 17 of 18 This week the summary's costliest cause is concept gaps, three of them in one family. What do you write down as the week's change?

    Choose one answer.

    Show the answer: Question 17 of 18

    Answer: Re-learn that family's idea from its lesson, then solve three fresh problems on it

    Write down one concrete change for the costliest cause. For a concept gap that is re-learning the idea from its lesson and three fresh problems; the check a week later is whether that family still loses marks.

  18. Question 18 of 18 Computer organisation lost 9.33 of the log's 37.33 marks. Besides the drills, what does the weekly review do with that number?

    Choose one answer.

    Show the answer: Question 18 of 18

    Answer: Move hours in the study plan towards computer organisation

    The third step of the review moves hours in the study plan towards the sections that lost the most marks, here computer organisation.

Interview questions

What is the difference between a concept gap and a method gap in an error log? (warm-up)

A concept gap means you could not have solved the question even with unlimited time, because an idea it rests on is missing or wrong, for example what a pumping-lemma argument has to show. The fix is to re-learn the idea from its lesson and then solve two or three fresh problems on it. A method gap means you knew the idea but had no reliable procedure, so you lost your way or took far too long, for example miscounting stall cycles although you know what a hazard is. The fix is drill: timed sets of new instances of that family until the steps are automatic. Rereading does little for a method gap and drilling does little for a missing idea, so the label matters. If unsure, retry the question untimed with notes: solved means method, still stuck means concept.

Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.

  1. Fresher to mid

    Your log from four mocks shows 31 marks lost: 13 to misreading, 9 to concept gaps, 6 to arithmetic and 3 to wrong guesses. Five weeks remain. What do you change first, how will you know it worked, and what do you deliberately leave alone?

    Model answer, Pro. Model answers open with any pass; prices are in the notice on this page. First step and follow-ups

  2. Fresher to mid

    Three weeks before GATE your review queue holds 40 problem families, each due on a different day, and you have about an hour a day for reviews besides mocks. How do you schedule them, and which families do you drop?

    Model answer, Pro. First step and follow-ups

Key takeaways

  • Log every lost mark with one of six causes, because each cause has its own fix: concept, method, misreading, arithmetic, time or guess.
  • Log problem families, not question numbers, so that a family can be practised again with a fresh instance.
  • Count marks lost against a right answer (2.67 for a wrong 2-mark MCQ) and minutes, and fix the costliest cause first, starting cheap habits such as a read-twice checklist at once.
  • Testing yourself and spacing the tests both help memory; the best gap grows with the time until the test but falls as a share of it.
  • Climb a ladder of 1, 3, 7 and 21 days per family, back to the start after every miss, and use shorter gaps in the last month.
  • Keep one page per section: definitions, method sheets, your own traps and a fresh example.

Terms in this lesson

error log
A list of every mark lost in practice, one row per question, with its problem family, one of six causes and the minutes it took, summed each week to choose what to fix first.
problem family
A kind of problem that can be practised again with fresh numbers, such as "B+ tree order from block size". An error log names the family rather than the question number.
review ladder
A schedule of re-attempts at growing gaps, 1, 3, 7 and 21 days by default: a right answer moves a problem family one rung up, and a wrong one sends it back to the first gap.
testing effect
The finding that taking a test on what you have studied helps you remember it later more than studying it again, even though restudying can leave you feeling more sure.

References

Related tools

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.