RBSE SS Computer Science study materials
RBSE SS Computer Science study resources

RBSE SS Computer Science common mistakes

RBSE SS Computer Science · Understand the traps and how to avoid them.

Mistake 1

When converting between binary, octal, decimal and hexadecimal, the candidate divides or multiplies by the wrong base, or writes the digits of the result in the order they were produced (e.g. reporting 25 decimal as binary 10011 read right-to-left as 11001).

The repeated-division and repeated-multiplication methods are memorised as a procedure without understanding that remainders are generated least-significant digit first, so the final reversal step is skipped or applied to the wrong side.

What to do instead

Always write the division table in columns (number, quotient, remainder) and explicitly label the remainder column 'LSD first'. After forming the answer, verify by positional expansion: 11001 = 16+8+1 = 25. Do three verification expansions per practice set until the habit is automatic.

Mistake 2

The candidate treats a 2's complement negative number as if it were sign-magnitude, or forgets to add 1 after inverting bits, so -5 in 4 bits is written as 1101 instead of 1011.

Two different representations of signed numbers are taught in the same chapter and the candidate blends the rules; the 'invert and add one' step is dropped because inversion alone feels like a complete operation.

What to do instead

Use a fixed three-step template every time: write the positive magnitude, invert all bits including the sign position, add 1, then confirm the sign bit is 1 and that the value plus its magnitude equals 2^n. Check by adding the result to +5 and confirming the sum is 0000 with the carry discarded.

Mistake 3

When writing pseudocode or a flowchart for a loop problem, the candidate initialises the accumulator inside the loop body, or places the update step after the condition in a way that produces an infinite loop or an off-by-one count.

The candidate jumps straight to syntax instead of tracing the state of variables; the difference between initialisation, condition and update is not tied to a concrete trace table.

What to do instead

Before writing any code, draw a three-column trace table (iteration, variable values, output) for a small input such as n=4. Only translate to code once the trace is correct, then run the same trace against the finished program and compare row by row.

Mistake 4

The candidate misreads operator precedence and associativity in expressions mixing arithmetic, comparison and logical operators, for example evaluating 2 + 3 * 4 ** 2 as 400, or assuming and binds tighter than not.

Precedence is studied as a list to memorise rather than as a hierarchy that can be reconstructed; the candidate also confuses left-to-right associativity of arithmetic with the right-to-left associativity of exponentiation.

What to do instead

Insert explicit parentheses into every expression during rough work, then simplify inside-out. Memorise the short chain: parentheses, exponent, unary, multiply/divide, add/subtract, comparison, not, and, or. Practise by rewriting five expressions with full parentheses and checking against the interpreter.

Mistake 5

The candidate writes a Python function that is supposed to modify a list or a variable but returns None, or expects changes to an integer argument to be visible to the caller.

The distinction between rebinding a name inside a function and mutating the object it refers to is not understood; the candidate assumes all arguments are passed by reference in the same way.

What to do instead

Learn the rule: assignment inside a function creates a local name, while methods such as append or item assignment mutate the shared object. Write paired examples, one using lst.append and one using lst = lst + [x], and print the caller's list after each. Always return and reassign when a new object is produced.

Mistake 6

When asked for the output of a linear search or binary search on a given array, the candidate reports the number of comparisons without tracking the low, high and mid indices, and applies binary search to an unsorted list.

The algorithm is memorised as 'halve the list' without the precondition of sorted order or the index-update rule mid = (low + high) // 2 followed by low = mid + 1 or high = mid - 1.

What to do instead

Trace with a table of low, high, mid and the compared value for each step, and state the sorted precondition before starting. After finding the target, count the rows to get the comparison count. Do one trace on an unsorted array to see the failure explicitly.

Mistake 7

The candidate writes a SELECT query that returns duplicate rows, or puts a column condition in WHERE when it should filter an aggregate in HAVING, and mixes up WHERE with JOIN conditions.

The logical order of evaluation (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY) is not internalised, so the candidate assumes clauses execute in the order they are typed.

What to do instead

Write the evaluation order at the top of the answer sheet before each query. Test the rule: WHERE filters rows before grouping and cannot use aggregate functions; HAVING filters groups after grouping. Add DISTINCT deliberately and justify it, and run a small mental dataset of five rows to see which rows survive each clause.

Mistake 8

The candidate confuses the roles of IP addresses, MAC addresses, ports and DNS, for example saying a MAC address is assigned by DHCP, or that a switch routes packets between different networks.

The layers are learned as isolated definitions rather than as a stack where each layer solves a specific problem; similar-sounding terms (routing versus switching, hub versus switch) blur together.

What to do instead

Build a one-page layer map: physical link (MAC, switch, hub), network (IP, router), transport (port, TCP/UDP), application (DNS, HTTP). For each device, write what it forwards and what address it reads. Then answer ten 'which layer' questions and justify each with the address used.

Mistake 9

The candidate describes a strong password or firewall as complete protection, or states that HTTPS encrypts the URL path and the server's identity is guaranteed by the padlock alone, without mentioning certificate validation.

Security is studied as a list of terms rather than as threat models; the candidate repeats marketing phrases instead of reasoning about what an attacker can still do.

What to do instead

For every control, write one sentence of the form 'this stops X but does not stop Y'. For HTTPS, state that it protects data in transit and that the padlock means a certificate was presented and validated for that hostname, not that the site is trustworthy. Practise with three scenarios and name the residual risk in each.

Mistake 10

In the practical record or project report, the candidate pastes code and output without a problem statement, test cases, or explanation of errors encountered, and cannot reproduce the program live when asked to modify one line.

The report is treated as a submission formality rather than evidence of work; code is copied from a source without being typed, run and debugged by the candidate.

What to do instead

Structure every practical as aim, algorithm or pseudocode, code, sample input and output, two edge-case tests, and a short note on one bug and its fix. Before submission, retype the program from memory and change one input; if it fails, the understanding is not yet there. Keep a dated log of errors and their causes.