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 −14 in 8-bit two's complement. Read as an unsigned number, what is the pattern's value U?
A system must give every one of 3306 items its own binary code of the same length. What is the smallest number of bits b needed?
Which formula is logically equivalent to ¬(c ∧ a)? Click it.
How many of the 16 rows of the truth table make ¬((¬b → ¬a) ∨ c) ∨ (¬d → (c ↔ a)) true? Call this number N.
Simplify F = AB + ABC + A′BC + A′B′C′ to its minimal sum-of-products form. How many literals L does the simplified expression contain?
A positive-edge-triggered JK flip-flop starts with Q = 0 and receives the inputs shown. Click the first clock edge at which Q goes from 1 back to 0.
Solve 6x ≡ 7 (mod 17). Give the solution x with 0 < x < 17.
Use repeated squaring to find 61155 mod 74.
In a sorted array, you look for two elements that sum to a target by moving one pointer from each end inwards. What is the time complexity?
What is the time complexity of: for i = 1 to n: for (j = i; j ≤ n; j = j + i) do O(1) work?
Which data structure is used to check whether the brackets in "{[()]}" are balanced?
The time complexity of decrease-key in a binary heap (given the element's position) is:
A tree has 4 vertices of degree 4, 2 vertices of degree 5, 2 vertices of degree 2, and all its other vertices are leaves (degree 1). How many leaves L does it have?
Prim’s algorithm builds a minimum spanning tree starting from vertex C. Click the edge it adds as edge number 5.
What does a common table expression (WITH name AS (...)) provide?
Which isolation level prevents dirty reads but still allows non-repeatable reads?
Which metric does RIP use to choose routes?
In a SYN flood attack, what resource is the attacker trying to exhaust?
The network 192.168.59.0/24 is divided into /27 subnets, numbered 1, 2, 3, … from the lowest address (subnet 1 starts at .0). What is the fourth octet x of the network address of subnet 5?
A host has the address 10.20.234.129/30. What is the fourth octet x of its network address?
Answer: U = 242
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: b = 12 bit
Positional number systems: each digit is worth its value times a power of the base. In binary the places are worth 1, 2, 4, 8, 16, …; in hexadecimal 1, 16, 256, …, with A–F standing for 10–15. In 8-bit two's complement the leftmost bit is worth −128 instead of +128, which is how negative numbers are stored.
Answer: ¬c ∨ ¬a
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).
The columns after the bar are the options in the order shown.
Answer: N = 13
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: L = 7
Boolean algebra: the rules that simplify expressions are X + X′ = 1 and X·X′ = 0, X + X = X, absorption X + X·Y = X, the combining rule X·Y + X·Y′ = X, X + X′Y = X + Y and the consensus theorem XY + X′Z + YZ = XY + X′Z. De Morgan's laws turn (X·Y)′ into X′ + Y′ and (X + Y)′ into X′·Y′. A Karnaugh map applies these rules graphically: every group of two neighbouring cells is one use of XY + XY′ = X.
Answer: clock edge 3
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.
A JK flip-flop: 00 holds, 01 resets (Q = 0), 10 sets (Q = 1), 11 toggles.
Answer: x = 4
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: 61155 mod 74 = 59
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: A · O(n)
If the sum is too small the left pointer moves right, if too large the right pointer moves left, so there are at most n steps.
Answer: C · O(n log n)
The total is n / 1 + n / 2 + ... + n / n = n × Hn, and the harmonic number Hn is Θ(log n).
Answer: D · 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: B · O(log n)
After decreasing the key, the element sifts up at most the height of the heap. Fibonacci heaps achieve O(1) amortised decrease-key.
Answer: L = 16
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.
Shortcut: L = 2 + Σ (d − 2) over the vertices with degree d ≥ 3.
Answer: edge DF
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.
Answer: D · A named temporary result that can be used within one statement
A CTE gives a subquery a name, which makes complex queries easier to read and can be referenced several times in the same statement.
Answer: C · Read committed
Read committed hides uncommitted changes; repeatable read also prevents non-repeatable reads; serializable prevents phantoms too.
Answer: D · Hop count
RIP is a distance-vector protocol that counts hops, with 16 meaning unreachable. This limits it to small networks.
Answer: A · The server's table of half-open connections
Each SYN makes the server reserve state and wait for an ACK that never comes. SYN cookies avoid storing state until the handshake completes.
Answer: x = 128
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 = 128
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