Tamil Nadu HSE First Year Computer Science study materials
Tamil Nadu HSE First Year Computer Science study resources

Tamil Nadu HSE First Year Computer Science common mistakes

Tamil Nadu HSE First Year 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 but keeps the remainders in the order they were produced (top-to-bottom) instead of reversing them, so 25 decimal is written as 0011 instead of 11001.

The repeated-division method produces remainders least-significant first, but candidates copy them down the page as if they were reading the answer naturally, and school practice rarely forces them to check by converting back.

What to do instead

Always finish a conversion by converting the result back to the original base and confirming it matches. Write remainders upward with an arrow, and drill 5-6 conversions each of decimal-to-binary, binary-to-decimal, binary-to-octal (group in 3s from the right) and binary-to-hex (group in 4s from the right), padding the leftmost group with zeros.

Mistake 2

The candidate evaluates a Boolean expression by substituting 0 and 1 but applies operator precedence wrongly, for example reading A + B.C as (A + B).C, and then fills a truth table that contradicts the expression.

In ordinary arithmetic, addition is written before multiplication in left-to-right reading, and the dot is visually small, so candidates treat + and . as equal precedence or read strictly left to right.

What to do instead

Memorise the order NOT, then AND, then OR, and bracket every sub-expression before substituting. For any expression with 3 variables, build the full 8-row truth table with separate columns for each intermediate term, and verify the final column against the laws (e.g. check A + A'B = A + B row by row).

Mistake 3

The candidate writes Python code where indentation is inconsistent (a mix of tabs and spaces, or a body indented by two spaces in one block and four in the next), then reports that the program 'does not work' without reading the IndentationError message.

In mathematics and in most other languages taught at school, whitespace is irrelevant, so beginners do not treat indentation as syntax and paste code from different sources.

What to do instead

Use four spaces for every level and configure the editor to insert spaces when Tab is pressed. When an error appears, read the last line of the traceback first and note the line number; practise rewriting a small if-else and for loop from scratch with correct indentation until it becomes automatic.

Mistake 4

The candidate confuses the assignment operator = with the equality operator ==, writing if x = 5: or while choice = 'y':, and also forgets the colon at the end of if, for, while, def and else lines.

In algebra, = means 'is equal to', and the colon has no counterpart in the maths the candidate already knows, so both are omitted under time pressure.

What to do instead

Adopt the reading '=' as 'is assigned the value' and '==' as 'is equal to'. Before running, scan each compound statement for two things: a trailing colon and a double equals inside conditions. Write ten one-line condition checks by hand and mark each operator before typing it.

Mistake 5

When a function is defined with parameters, the candidate prints the result inside the function but never uses return, then tries to assign the call to a variable or add it to another value and gets None or a TypeError.

print and return both make a value visible on screen in simple examples, so the difference only shows up when the value is needed elsewhere, which is exactly the exam question.

What to do instead

Remember: print displays, return hands back. If the question says 'write a function that returns', the last statement must be return. Test by writing y = f(3) then print(y + 1); if that fails, the function is printing instead of returning.

Mistake 6

The candidate slices a string or list with the wrong end index, expecting s[1:4] to include the character at index 4, and mixes up negative indices such as s[-1] and s[-2].

Everyday counting starts at 1 and 'from 1 to 4' naturally includes 4, so the zero-based start and exclusive end of Python slicing both feel wrong.

What to do instead

Draw the index positions above the string, with the stop boundary sitting between characters. Compute length as stop - start. Verify by counting characters in the output. Practise s[0:3], s[:3], s[3:], s[-3:] and s[::-1] on a known word such as 'COMPUTER' and check each result by hand.

Mistake 7

The candidate treats a list as if it were a tuple or a dictionary: attempting to change a tuple element (marks[0] = 90), or looking up a dictionary value by position (d[0]) instead of by key (d['name']), and confuses append with extend.

All three containers are introduced close together and all display with brackets or braces, so their mutability and access rules blur; append versus extend differs only when the argument is itself a sequence.

What to do instead

Build a one-page comparison table: brackets used, mutable or not, how elements are accessed, and the effect of append([1,2]) versus extend([1,2]) on a list. For each container, write one line that would raise an error and explain why, so the boundary becomes explicit.

Mistake 8

The candidate names the parts of the CPU and their roles but swaps the functions of the ALU and the control unit, or says the program counter holds the instruction being executed rather than the address of the next instruction.

The terms are memorised as a list of labels without a data-flow picture, and the registers (PC, IR, MAR, MBR, accumulator) are learned as names rather than as stages of the fetch-decode-execute cycle.

What to do instead

Learn the cycle as a story: PC gives the address, MAR carries it to memory, the instruction arrives in the IR, the control unit decodes it, the ALU executes it, the accumulator holds the result, and the PC increments. Draw the block diagram from memory three times and label each register with the one thing it stores.

Mistake 9

The candidate answers questions on network topology, transmission media and OSI layers with vague generalities, for example calling a star topology 'the best' without stating the central-hub failure point, or placing the router at the wrong layer.

These topics are descriptive and easy to skim, so candidates memorise advantages and disadvantages as slogans and never attach each device to a specific layer or function.

What to do instead

For each topology (bus, star, ring, mesh), write one advantage and one failure scenario in a single sentence. For each device, fix its layer: hub and repeater at physical, switch at data link, router at network. For media, state one concrete difference between twisted pair, coaxial and fibre optic (cost, bandwidth or immunity to interference).

Mistake 10

The candidate defines cybercrime terms by example only, so phishing, hacking and cyberstalking are all described as 'stealing information online', and ethical safeguards such as strong passwords, two-factor authentication and not sharing OTPs are mentioned only generically.

The ethics and cyber security unit is treated as a reading chapter, and candidates revise definitions without linking each crime to a specific attack method and a specific preventive measure.

What to do instead

Make a three-column table: crime, how it is carried out, one precise preventive measure. For example, phishing uses fake email or login pages and is prevented by verifying the sender address and never entering credentials from a link. Pair each entry with the relevant legal provision named in the Tamil Nadu textbook, and state the measure as an action, not a slogan.