Skills & Check-Ins

There are no traditional tests in CS 112. Instead, your grade reflects whether you can demonstrate the course skills in person, through three individual check-in appointments with the instructor, backed by the assignments you complete along the way.

Note

The short version: Do your assignments, they are how you learn, and your completion percentage affects your final grade. Then come in for each check-in: a 25-minute conversation where you work through a question drawn from each cluster in that window. Every student books one appointment per window, three across the semester.


The Mastery Scale

Each of the three windows earns one of three marks:

N
Not yet
Not demonstrated yet, the appointment has not happened, or it did not show working understanding.
D
Developing
Core ideas are there but gaps remain. A D still counts toward your grade, and the Final Window can upgrade it.
M
Mastered
You demonstrated full, correct understanding across this window's clusters.

Every window starts at N and moves up when you demonstrate understanding at its check-in. A mark can also move down, if a later session shows that a persistent skill from an earlier window is no longer solid, that window can return to D. The instructor will tell you and follow up; the Final Window is there to put it right.

Both N and D can be improved later, so an early stumble is not permanent.


What Happens at a Check-In

Each appointment is 25 minutes and covers every cluster in that window. It is a conversation, not a timed test.

0 – 2 min
Settle in
The instructor confirms which clusters this window covers.
2 – 22 min
One question per cluster
Each question is drawn at random from that cluster. Some ask you to explain or trace something; some ask you to write a short piece of code on the spot. You can think aloud, and you can ask what a question means.
22 – 25 min
Recorded
Any last follow-ups, then one N / D / M mark for the window.

How long you get per question depends on the window. Windows 1 and 3 cover two clusters, so each question gets roughly ten minutes. Window 2 covers three, so its questions run nearer seven minutes each. They are correspondingly shorter, you are not being asked to do more in less time.

A single question may touch more than one skill, and often will: removing a node from a linked list involves pointer manipulation and freeing memory. That is realistic, and it is fine. The session as a whole produces one mark for the window.


Check-In Windows

You book one 25-minute appointment per window, three across the semester, plus the Final Window. Each appointment covers every cluster in that window.

Important

Book early, earlier than you think. The windows are not deadlines, but the instructor’s calendar is real, and this semester it is unusually tight right after each window’s reference date:

  • Window 1 (ref. Oct 23), Fall Break runs Oct 16–21 and the instructor is away Oct 24–30. Everything for clusters A and B is taught by Oct 3, so you are ready three weeks early. Book in the first half of October.
  • Window 2 (ref. Nov 20), the instructor is away Nov 21–24 and Thanksgiving follows. There are no slots between Nov 21 and Nov 29. Book on or before Nov 20.
  • Window 3 (ref. Dec 2), clear, but it inherits anyone who slipped out of Window 2.

Everything closes on Dec 9, the last day of classes. Waiting is the single most common way students end up unable to get an appointment at all.

W1
W2
W3
F
Aug 31 Oct 23 Nov 20 Dec 2 Dec 17
Aug 31 Dec 17
Window 1
~ Oct 23
Clusters A, B
one 25-min appointment
Window 2
~ Nov 20
Clusters C, D, E
one 25-min appointment
Window 3
~ Dec 2
Clusters F, G
one 25-min appointment
Final Window
Dec 12–17
Any unmastered cluster
(upgrade N or D → M)

Every Student Does Every Check-In

Check-ins are not optional and not selective. Every student books a 25-minute appointment in every window, three across the semester. Completing the assignments is not by itself proof of mastery; it is the preparation that makes the check-in go well. The check-in is where mastery is confirmed.

Book each appointment when you feel ready, ideally after you have completed the assignments for that window’s clusters. You do not have to wait for the window’s reference date. You also should not wait until the last week of the window.


Persistent Skills

A handful of skills are in scope at every check-in window, not just their home cluster. These are foundational habits that need to remain sharp as the course grows more complex, not just skills you demonstrate once and forget.

Persistent Skills, assessed at any check-in window
Skill Why it stays in scope
A3, Pointers & dynamic memory Memory leaks and dangling pointers are a risk in every data structure implementation.
A4, Parameter passing Students revert to pass-by-value under pressure; this habit drifts across the semester.
B2, Constructors & destructors Destructor correctness is easy to omit as classes grow more complex.
B4, Deep copy (Rule of Three) Copy constructor oversights resurface in linked lists, trees, and every heap-allocated class.
D1, Big-O classification Should remain sharp as each new data structure is introduced, not a one-time milestone.

A persistent skill appearing at a later window can be upgraded (N → M or D → M) or downgraded if regression is observed (M → D). The goal is habit formation, not a one-time demonstration.


How Check-In Results Work

What the instructor observes Effect on your record
Correct, complete understanding Skill → M (Mastered)
Core idea present, gaps remain Skill → D (Developing)
Skill not demonstrated Skill stays N (Not yet)
A prior M cannot be demonstrated Skill → D; instructor follows up

The last row is not a trap. If you genuinely engaged with the work but had a rough day, the instructor will schedule a follow-up. The goal is an honest picture of what you know, not to catch you out.


Assignments and Your Grade

Assignments are not graded for points. Their role is twofold:

  • Practice. Doing the assignments is how you build the skills the check-in confirms. A student who skips the linked list assignment will meet linked lists for the first time at Window 2, with the clock running.
  • Completion threshold. Completing a sufficient percentage of assignments is required to earn a given letter grade range. Strong check-in results alone are not enough, consistent engagement with the coursework matters. The specific thresholds are on the Grading page.

All 33 Skills

This is the complete list, every skill in the course, which cluster it belongs to, which check-in window assesses it, and which assignments build it. Nothing is assessed that is not on this page.

At each appointment the instructor draws one question per cluster in that window.

Skills marked are persistent, once taught, they can resurface in any later window, because they are habits the whole course depends on.

Window 1ref. Oct 23 · one 25-min appointment · 2 questions
A · C++ foundations 6 skills
A1Compile, run, and debug a C++ programa00, a01, a03
A2Use basic data types, variables, const, and operatorsa00, a01
A3Work with pointers and dynamic memory (new, delete)a05
A4Write control structures and functions with correct parameter passinga01
A5Read and write files; handle exceptions with try/catcha03
A6Define and manipulate 2D arraysa03
A question might askHere is a struct definition. Write a function that takes a pointer to it, allocates a copy on the heap, and returns the pointer. Then show me where you would call delete.
B · Object-oriented programming 5 skills
B1Define a class split across .h and .cpp with correct access modifiersa04
B2Implement constructors, destructors, and methodsa04
B3Implement operator overloadinga04
B4Implement a copy constructor; distinguish shallow from deep copya05
B5Apply test-driven development to a classa03, a04
A question might askThis class has a raw array allocated on the heap. Write a copy constructor for it. Now tell me what would go wrong if we used the compiler-generated one.
Window 2ref. Nov 20 · one 25-min appointment · 3 questions
C · Linear data structures 7 skills
C1Implement a dynamic array with resize behaviora07
C2Write and use a class templatea06, a07
C3Implement a linked list with correct pointer manipulationa08
C4Compare linked list and dynamic array for a given use casein class + a09 findings
C5Implement a stack with O(1) push and popa10
C6Implement a queue with O(1) enqueue and dequeuea10, a13
C7Implement and use a hash table with a reasonable hash functiona11
A question might askHere is a Node struct. Write a function that removes the node at a given index from a singly linked list. Handle the edge cases.
D · Algorithm analysis 3 skills
D1Classify the Big-O complexity of a given code snippeta09
D2Draw and compare Big-O growth curvesa09
D3Analyze best, worst, and amortized complexitya09
A question might askHere are three code snippets. Classify each as O(1), O(log n), O(n), or O(n²) and explain your reasoning.
E · Recursion 3 skills
E1Identify base case and recursive casea12
E2Trace the call stack (winding and unwinding)a12
E3Implement a recursive solution to a moderately complex problema12
A question might askHere is a recursive function. Trace the call stack for input n = 4, show me the winding and the unwinding.
Window 3ref. Dec 2 · one 25-min appointment · 2 questions
F · Trees 5 skills
F1Implement BST insertion and traversalsa14
F2Implement BST contains and removein class (wk11)
F3Analyze BST complexity for best and worst casesin class (wk12)
F4Compute balance factors; identify when AVL rebalancing is neededin class (wk12)
F5Implement or trace AVL tree rotationsin class (wk12)
A question might askInsert the values 5, 3, 7, 1, 4 into an empty BST. Draw the result, then give me the in-order traversal.
G · STL and sorting 4 skills
G1Use vector, list, stack, queue correctlya14
G2Use set and map with iteratorsa14
G3Describe and implement insertion sort and selection sortin class (wk10)
G4Identify the time complexity of common sorting algorithmsin class (wk10)
A question might askYou need to count how many times each word appears in a file. Which STL container would you reach for, and why that one?

The codes on the right of each row show where that skill is built, an assignment, or class time where it is coded together. They are your preparation. Come to a check-in when you have done the work behind that window’s clusters and feel ready; there is no minimum number of assignments to unlock a booking.


Tip

How to prepare: do the assignments with genuine understanding, not just until the tests go green. Every question is drawn from the territory those assignments cover, so a student who worked through them honestly has already seen the ideas, just not the exact question. There is nothing to memorise and no trick waiting for you.