Pancyprian Computer Science - independent foundations cheat sheet
Pancyprian Computer Science - independent foundations · Keep the key ideas within reach.
Programming and Software Development
Recursion needs a base case and progress toward that base case.
Overloading uses different signatures; overriding replaces an inherited method.
Unit tests isolate units; integration tests combine them.
Short-circuit evaluation can skip the right operand.
Pass-by-value copies arguments; pass-by-reference can mutate the caller's object.
Computational Thinking and Problem Solving
Decomposition breaks problems down; abstraction removes irrelevant detail.
Binary search requires sorted data and is O(log n).
Merge sort is O(n log n) worst case; bubble sort is O(n^2).
Trace tables prevent guessing about loop output.
Update search bounds to mid + 1 or mid - 1, not mid.
Computing Systems
Fetch-decode-execute uses the PC, IR, ALU, and registers.
Memory hierarchy: registers, cache, RAM, storage, offline.
RAM is volatile; SSDs retain data without power.
A process has its own address space; threads share one.
Authentication verifies identity; authorization grants permissions.
TCP is reliable and connection-oriented; UDP is connectionless and lower overhead.
IP addresses route between networks; MAC addresses work on the local link.
A /26 subnet has 64 addresses and 62 usable hosts.
DNS resolves names; DHCP assigns addresses.
Security protects data; privacy governs collection and use.
Data, Databases, and Information Retrieval
Primary keys are unique and non-null; foreign keys enforce referential integrity.
WHERE filters rows before grouping; HAVING filters aggregated groups.
COUNT(*) counts rows; COUNT(column) skips NULL values.
LEFT JOIN preserves unmatched left rows; INNER JOIN removes them.
Precision = relevant retrieved / retrieved; recall = relevant retrieved / all relevant.