Number systems
- Place values
- binary 2k, octal 8k, hex 16k
- To decimal
- Σ dk·bk
- From decimal
- divide by the base, read the remainders bottom-up
- Hex ↔ binary
- one hex digit = 4 bits
- Two’s complement
- invert the bits and add 1
Formula sheets, the key method steps for every topic and 20 practice problems, with full solutions at the back.
Set the bits so they store −11 in 8-bit two's complement. Read as an unsigned number, what is the pattern's value U?
Set the bits to the 8-bit result of 1000 0110 OR 1100 0011. What is the result's value R in decimal?
Is (q ∨ r) ∧ (¬q ∧ ¬r) a tautology, a contradiction or a contingency? Click your answer.
How many of the 16 rows of the truth table make ((r → q) → (p ∨ ¬s)) → ¬((p ∧ r) ∨ s) true? Call this number N.
A 4-to-1 multiplexer has its select inputs S₁ = A and S₀ = B, and its data inputs tied to I₀ = 0, I₁ = C′, I₂ = C, I₃ = 0. For how many of the 8 combinations of A, B and C is the output F = 1? Find N.
A 4-bit ring counter Q₃Q₂Q₁Q₀ starts at 1100. At every clock edge the bits shift one place to the right (Q₃ → Q₂ → Q₁ → Q₀) and Q₃ receives Q₀. Give the state Q = Q₃Q₂Q₁Q₀ as a decimal number after 7 clock edges.
Find Euler’s totient φ(104), the number of integers from 1 to 104 that are coprime to 104.
Use repeated squaring to find 976 mod 74.
The time complexity of naive recursive Fibonacci (fib(n) = fib(n−1) + fib(n−2)) is:
Why does any comparison-based search in a sorted array need Ω(log n) comparisons in the worst case?
Which data structure is used to check whether the brackets in "{[()]}" are balanced?
The union-find (disjoint set) structure with union by rank and path compression has an amortised cost per operation of:
A connected graph has 17 vertices and 18 edges. How many edges k must be removed to leave a spanning tree?
Use Dijkstra’s algorithm to find the length d(F) of the shortest path from A to F in the weighted graph.
Second normal form (2NF) removes:
Why is NATURAL JOIN considered risky in production queries?
Which medium access method did classic shared (half-duplex) Ethernet use?
A remote-terminal application feels sluggish because small keystroke packets are held back. Which TCP mechanism is often responsible?
A department needs 91 host addresses in a single subnet. What is the longest prefix length p (smallest subnet) that is big enough?
A host has the address 10.20.251.24/28. What is the last number (fourth octet) x of its subnet's broadcast address?
Answer: U = 245
Setting bits: each bit is worth a power of two (128, 64, …, 1). One hex digit is exactly four bits, and in 8-bit two's complement the leftmost bit is worth −128. Bitwise operations work on each bit position separately.
Answer: R = 199
Setting bits: each bit is worth a power of two (128, 64, …, 1). One hex digit is exactly four bits, and in 8-bit two's complement the leftmost bit is worth −128. Bitwise operations work on each bit position separately.
OR gives 1 where at least one bit is 1.
Answer: contradiction
Logical equivalence: two formulas are equivalent (≡) when they have the same value in every row of the truth table. A tautology is 1 in every row, a contradiction is 0 in every row, and a contingency is neither. Useful laws: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b and ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contrapositive); ¬(a → b) ≡ a ∧ ¬b; and the distributive laws, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
Answer: N = 9
Truth tables: a formula with n different variables has 2ⁿ rows, one for every combination of truth values (1 = true, 0 = false). Work from the inside out and give every subformula its own column. ¬a flips the value; a ∧ b is 1 only when both are 1; a ∨ b is 0 only when both are 0; a → b is 0 only when a = 1 and b = 0; a ↔ b is 1 when both sides are equal.
Answer: N = 2
Multiplexer: a 2ⁿ-to-1 multiplexer passes one of its data inputs to the output; the select lines, read as a binary number, pick which one. For a 4-to-1 MUX with selects S₁S₀ = AB, F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Tying the data inputs to 0, 1, C or C′ makes the MUX produce any function of A, B and C, which is a common way to build logic with one chip.
Answer: Q = 9
Flip-flops and counters: a flip-flop changes only at the active clock edge. D copies its input (Q⁺ = D); T toggles when T = 1; JK holds for 00, resets for 01, sets for 10 and toggles for 11. An n-bit binary counter has 2ⁿ states and counts modulo 2ⁿ; a mod-N counter goes 0, 1, …, N − 1 and back to 0, and needs the smallest n with 2ⁿ ≥ N flip-flops. Each stage of a ripple counter halves the frequency, so the last output of a mod-N counter runs at fclk/N. A Johnson counter of n flip-flops has 2n states, a ring counter n.
Answer: φ(104) = 48
Inverses and congruences: a has an inverse modulo n exactly when gcd(a, n) = 1. The extended Euclidean algorithm writes 1 = s·n + t·a, and then a⁻¹ ≡ t (mod n). A congruence a·x ≡ b (mod n) with gcd(a, n) = 1 has the solution x ≡ a⁻¹·b. Two congruences x ≡ r₁ (mod m₁) and x ≡ r₂ (mod m₂) with coprime moduli have one solution modulo m₁·m₂ (Chinese remainder theorem). Euler’s φ(n) counts the numbers from 1 to n that are coprime to n: φ(n) = n·∏(1 − 1/p).
Answer: 976 mod 74 = 49
Modular powers and RSA: compute aᵏ mod n by repeated squaring: write k in binary, square, reduce after every step and multiply the powers whose bit is 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) for a prime p not dividing a, so the exponent can be reduced modulo p − 1. RSA: choose primes p and q, n = p·q and φ(n) = (p − 1)(q − 1); the public exponent e is coprime to φ(n), and the private exponent is d = e⁻¹ mod φ(n). Encrypt with c = mᵉ mod n and decrypt with m = cᵈ mod n.
Answer: D · Exponential
The call tree grows roughly like φⁿ (about 1.618ⁿ). Memoisation reduces it to O(n).
Answer: A · A decision tree with n possible outcomes must have depth at least log₂ n
Each comparison at most halves the set of remaining possibilities, so distinguishing n positions needs at least log₂ n comparisons.
Answer: B · A stack
Push each opening bracket and pop when a closing bracket appears; it must match the popped bracket and the stack must be empty at the end.
Answer: C · O(α(n)), the inverse Ackermann function, which is practically constant
With both optimisations, operations take O(α(n)) amortised time; α(n) ≤ 4 for any realistic n.
Answer: k = 2
Euler, Hamilton and trees: a connected graph has an Euler circuit (every edge once, back to the start) when every vertex has even degree, and an Euler path that is not a circuit when exactly two vertices have odd degree; the path then runs from one odd vertex to the other. A Hamilton circuit visits every vertex once; Kn has (n − 1)!/2 of them. A tree on n vertices has n − 1 edges, and a connected graph with m edges keeps a spanning tree after removing m − n + 1 edges.
Answer: d(F) = 6
Shortest paths and spanning trees: Dijkstra’s algorithm settles one vertex per round: the unsettled vertex with the smallest tentative distance. Its distance is then final, and every neighbour v gets d(v) = min(d(v), d(u) + w(u, v)). Kruskal’s algorithm builds a minimum spanning tree by taking the edges from light to heavy and skipping any edge that would close a cycle; Prim’s algorithm grows one tree from a start vertex by always adding the lightest edge that leaves it. A spanning tree of n vertices has n − 1 edges.
Each line: the vertex settled, its final distance, and the neighbours whose distance improves.
Answer: C · Partial dependencies of non-key columns on part of a composite key
2NF requires 1NF and that every non-key attribute depends on the whole key, not just part of it.
Answer: A · It joins on every column with the same name, so a new column can silently change the result
A natural join matches all identically named columns, for example an unrelated "name" or "created_at"; an explicit ON or USING clause is safer.
Answer: D · CSMA/CD
Carrier sense multiple access with collision detection: stations stop when they detect a collision and retry after a random backoff. Full-duplex switched Ethernet has no collisions.
Answer: D · Nagle's algorithm
Nagle's algorithm waits to bundle small segments while earlier data is unacknowledged. This saves bandwidth but adds delay for interactive traffic.
Answer: p = 25
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Answer: x = 31
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
ExamProblems · examproblems.com/courses/computer-science-fundamentals