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
Prior Module Question 1: Binary Search
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.
Prior Module Question 3: Graph Search
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
- Convert decimal
13to binary and hexadecimal. Show the division or place-value work. - Add binary
1011 + 0110by hand and check the result in decimal. - Explain why the text
"A"and the number65can share a byte pattern but mean different things depending on encoding and interpretation. - Trace a small program through hardware, operating system, runtime, application, data, and network layers.
- In Python, when would you choose a list, dictionary, set, function, module, or file? Give one concrete use for each.