Semester Exam
Assess the World-Class Strand with a new case, a rejected alternative, and an oral follow-up; recall-only answers do not pass.
Required Output Classification
| Required output | Classification | Public/private guidance |
|---|---|---|
| Timed written answers, diagrams, code snippets, and design responses | Checkpoint evidence | Keep raw exam work private so it remains useful for assessment and retake calibration. |
| Post-exam review notes, missed-answer repairs, and Feynman explanations | Practice artifact | Use for spaced review; publish only rewritten explanations that no longer reveal exam solutions wholesale. |
| Capstone-defense or architecture-defense packets created from exam prompts | Portfolio candidate | Polish publicly only when they are original to your project, sanitized, and framed as engineering rationale rather than exam answers. |
Suggested duration: 90 minutes. Closed book for Parts A-C. Blank paper or a blank editor is allowed. Part D may use a hand-drawn diagram, but not notes or slides.
Part A - Theory Questions
Suggested time box: 20 minutes. Short written answers. Aim for clarity, not volume.
- Explain when binary search is valid, why it is faster than simple search, and what
O(log n)means in practice. - Distinguish an abstract data type, a concrete data structure, and a database with one example that connects all three.
- Explain how an algorithm fits into the larger CS stack: problem model, algorithm, data, language, operating system, and hardware.
- Explain why naming and small functions matter even in a tiny project.
- Explain why testing and Git belong in Semester 0 instead of waiting for later programming semesters.
Part B - Problem-Solving Challenges
Show your reasoning. Partial credit comes from clear steps, not only the final answer.
Challenge 1: Trace Search And Compare Growth
Use the sorted list below:
[3, 7, 12, 18, 23, 31, 38, 41, 49, 57, 64]
- Trace binary search for the value
41by listinglow,high,mid, and the decision at each step. - How many comparisons does your trace take?
- Compare that result to a simple left-to-right search on the same list.
- State one condition that would make binary search invalid here.
Challenge 2: Design The Data Shape
You are building the Semester 0 project. The app must:
- visualize one algorithm with labeled intermediate states
- save and reload a trace or scenario
- present one CS explanation, keeping logic separate from display
Answer these:
- What data shape would you use for a saved scenario (input, target if needed, algorithm name), and why?
- What data shape would you use for the algorithm visualization steps, and why?
- What logic should live outside the UI layer?
- If you had to persist the app with the least complexity, what storage choice would you start with?
Challenge 3: Diagnose The Bottleneck
Read this pseudocode:
for each student in students:
for each session in allSessions:
if session.studentId == student.id:
totalMinutes = totalMinutes + session.minutes
Answer these:
- What growth pattern does this suggest at a high level?
- Why could this become wasteful as data grows?
- Suggest one better approach using a different data shape or pre-processing step.
- Name one unit test you would write around the improved logic.
Part C - Code Review Exercises
Find correctness issues, clarity problems, and missing tests. These Python snippets use the language taught in Programming Basics. Trace potentially nonterminating code on paper or with a bounded step count; do not start an unbounded run. The point is disciplined reasoning.
Review 1
Code:
def longest_streak(days):
streak = 0
best = 0
for done in days:
if done:
streak += 1
else:
best = streak
streak = 0
return best
Tasks:
- Identify two independent correctness defects and state the input contract you assume (use a list of booleans for your tests).
- Propose two unit tests that would expose the bug.
- Suggest one small refactor that keeps the behavior easy to review in Git.
Review 2
Code:
def binary_search(values, target):
low = 0
high = len(values)
while low < high:
mid = (low + high) // 2
if values[mid] == target:
return mid
if values[mid] < target:
low = mid
else:
high = mid - 1
return -1
Tasks:
- Identify the off-by-one or termination problems.
- Propose two unit tests, including one failure case.
- Describe the smallest safe correction before any larger refactor.
Part D - Feynman Challenge
No slides. Speak or write as if you are teaching a motivated beginner who has never seen this material.
Prompt: Explain how your Semester 0 project connects a saved scenario, one algorithm visualizer, clear code structure, and the path from source code to hardware.
Rubric (self-score 1-4):
| Criterion | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| Simple language | Mostly jargon or vague terms | Some simple wording, but still abstract | Clear wording with only minor jargon | Plain language throughout |
| Accurate | Major errors | Some correct points, but important gaps | Mostly correct with small slips | Correct and precise |
| Coherent story arc | Disconnected facts | Partial flow | Clear beginning, middle, end | Strong narrative that builds naturally |
| Uses one analogy or diagram | None | Attempted but weak | Useful analogy or simple diagram | Analogy or diagram makes the idea memorable |
Your response:
Exam Reflection
- Which part felt strongest, and what concrete evidence supports that?
- Which weak area would most likely hurt you in Semester 1 if you ignored it now?
- What one change will you make to your workflow before the next semester starts?
Mastery Rubric
| Level | Evidence |
|---|---|
| Beginner pass | Can answer direct questions and complete familiar exercises with light notes. |
| Solid pass | Can solve new variants, explain choices, and connect the work to Pre-Semester Launchpad. |
| Strong pass | Can defend tradeoffs, identify failure modes, and produce clean evidence in the portfolio artifact. |
| Not ready | Relies on copied solutions, cannot explain mistakes, or lacks durable artifacts. |
Retake and Repair Rule
If a section is weak, do not only reread. Repair it by producing new evidence: a corrected solution, a fresh implementation, a rewritten proof, a benchmark, a diagram, a runbook, or a short teaching note.
Answer-Quality Examples
Use these examples when grading written answers or spoken explanations.
| Quality | Example pattern |
|---|---|
| Weak | Names a concept but gives no example, constraint, or failure case. |
| Acceptable | Defines the concept and applies it to a familiar exercise. |
| Strong | Applies the concept to a new variant and explains why an alternative would fail. |
| Portfolio-ready | Connects the concept to Pre-Semester Launchpad, current project evidence, and a future capstone decision. |
Interleaving Prompt
For any missed answer, add one sentence starting with: This depends on an earlier skill because...
Calibration Materials
Use these learner-visible calibration materials before self-grading or requesting review:
Workload and advancement contract
Use Workload and Progression for the complete hour allocation, prerequisite order, evidence reuse, score thresholds and repair rules. Its estimates do not establish learner-tested duration. All required gates apply together; conditional pass means repair remains, not permission to skip a gate.
Scoring contract
Parts A–D are equally weighted at 25% each. Require at least 70% overall and 60% in each part, plus the separate strand defense and all other exit gates. Reserve 3–4 focused hours including the oral follow-up; this is a planning allowance, not a speed cutoff.
Support-module evidence alongside the exam
Learning calibration has three current dimensions, assessed in its allocated hours. The Launchpad preparation dimensions are inherited entry evidence. They do not add a fifth weighted exam part or replace the existing technical questions. Inspect their completion records at the checkpoint; an exam pass cannot compensate for missing process evidence.
Technical practice alongside the exam
Modules 5–7 assess their fresh technical variants within their own hours. Verify their completion records at the checkpoint; they do not add another weighted exam part. All existing exam floors and technical/strand gates still apply.
Use the task-specific calibration and scoring rule after preserving your attempt. All part percentages use that common rule before applying the four equal weights.