Skip to main content

Module Quiz

Complete this quiz after finishing the concept and practice pages.

Current Module Questions​

Question 1: What CS Studies​

What is computer science about besides "writing code"?

Answer: It studies how to model problems, represent information, design computations, reason about feasibility, and run those computations on real machines.

Question 2: Feasibility​

Why can a very fast computer still fail to make a bad approach practical?

Answer: Because poor growth can explode with input size. Extra hardware helps only so much when the work grows too quickly.

Question 3: Strategy​

What problem signal suggests backtracking instead of blind brute force?

Answer: A search problem where partial choices can be checked early and invalid branches can be cut off before exploring the whole space.

Question 4: ADT vs Data Structure​

What is the difference between an abstract data type and a data structure?

Answer: An ADT describes the operations and behavior you want, while a data structure is the concrete representation that implements those operations.

Question 5: Storage​

What is one beginner-level tradeoff between relational and non-relational storage?

Answer: Relational systems are strong when structure and relationships are stable and important, while non-relational systems can fit flexible or differently shaped data more naturally.

Question 6: Serialization​

Why do serialization formats matter even if a database already stores the data?

Answer: Programs still need ways to exchange or persist data across boundaries, and the chosen format affects readability, compatibility, and tooling.

Question 7: Stack of Execution​

What does the operating system do for a running program that the compiler does not?

Answer: The operating system manages runtime concerns like process creation, files, memory allocation, scheduling, and device interaction.

Question 8: Memory Hierarchy​

Why do registers, cache, and RAM all exist instead of one big uniform memory?

Answer: Faster memory is more limited and expensive, so systems use layers to balance speed, size, and cost.

Question 9: Paradigms​

How can programming paradigms change a solution even when the underlying task is the same?

Answer: They push you toward different ways of organizing state, control flow, and abstraction, which changes how the solution is expressed and maintained.

Question 10: Systems Map​

Why does the Semester 0 CS map connect algorithms, data, storage, machines, and languages instead of treating them as isolated topics?

Answer: Because real software decisions cross layers. Strategy, data shape, persistence, execution, and expression choices all affect one another.

Interleaved Review Questions​

What is the key reason binary search is faster than linear search on sorted data?

Answer: Each comparison eliminates half the remaining possibilities, which produces logarithmic growth instead of linear scanning.

Prior Module Question 2: Recursion​

What happens if a recursive function never reaches a base case?

Answer: It keeps creating calls until the program fails, typically by exhausting the call stack.

Why does BFS find the shortest path in an unweighted graph?

Answer: It explores nodes in layers by distance from the start, so the first time it reaches a target is the shallowest path.

Self-Assessment​

  • 90%+ correct: ready to move into Module 3 with a solid Semester 0 map
  • 70-89% correct: revisit the weak concept pages and redo one practice page
  • <70% correct: redraw the CS map and re-explain one program through the stack before moving on

Readiness Check​

  • I can explain computer science as problem modeling plus computation
  • I can justify a strategy choice with growth or pruning signals
  • I can distinguish ADTs, data structures, and databases
  • I can explain the path from source code to hardware at a beginner level
  • I can describe how language choices shape code structure

Added Repair Questions​

  1. Convert decimal 13 to binary and hexadecimal. Show the division or place-value work.
  2. Add binary 1011 + 0110 by hand and check the result in decimal.
  3. Explain why the text "A" and the number 65 can share a byte pattern but mean different things depending on encoding and interpretation.
  4. Trace a small program through hardware, operating system, runtime, application, data, and network layers.
  5. In Python, when would you choose a list, dictionary, set, function, module, or file? Give one concrete use for each.