Tamil Nadu HSE First Year Computer Science flashcards
Tamil Nadu HSE First Year Computer Science · Build recall with a focused review session.
38 cards. Read the term and the definition here. The deck at the top of this page is optional.
- IPO cycle
- Input-Process-Output: the fundamental model of computing in which data enters the system, is transformed by the processor under program control, and leaves as information, with storage supporting each stage.
- Two's complement
- A signed binary representation obtained by inverting all bits of a number and adding 1. For n bits the representable range is -2^(n-1) to 2^(n-1) - 1.
- Universal gate
- A gate from which every other logic function can be built. NAND and NOR are universal because each can produce NOT, AND and OR when wired appropriately.
- De Morgan's theorems
- Two Boolean identities: the complement of a sum equals the product of the complements, (A+B)' = A'B', and the complement of a product equals the sum of complements, (AB)' = A'+B'.
- Half adder
- A combinational circuit adding two single bits, producing Sum = A XOR B and Carry = A AND B. It cannot accept a carry-in, so full adders chain it for multi-bit addition.
- Floor division operator
- Python's // operator divides and rounds the result down to the nearest integer, so 7 // 2 is 3 and -7 // 2 is -4. The / operator always returns a float.
- Indentation in Python
- Leading whitespace defines statement blocks in Python instead of braces. Consistent indentation is syntactically required, and mixing tabs and spaces raises errors.
- Loop else clause
- Python allows an else block after for or while. It executes only when the loop ends normally, and is skipped when the loop exits through break.
- Recursion base case
- The condition in a recursive function that returns without calling itself again. Without a reachable base case, recursion continues until a RecursionError occurs.
- List versus tuple
- Lists are mutable, written with square brackets, and support item assignment. Tuples are immutable, written with parentheses, hashable when their items are, and usable as dictionary keys.
- Dictionary get method
- d.get(key, default) returns the value for a key, or the default when the key is absent. Unlike d[key], it never raises KeyError for missing keys.
- Fetch-decode-execute cycle
- The instruction cycle in which the CPU fetches the instruction addressed by the program counter, decodes its opcode, executes the operation, and stores any result.
- Cache memory
- A small, fast memory between the CPU and main memory that holds recently used instructions and data, exploiting locality of reference to reduce average access time.
- Round robin scheduling
- A preemptive CPU scheduling algorithm giving each ready process a fixed time quantum in turn. It is fair and responsive, but a very large quantum degenerates to FCFS.
- Simplex transmission
- A data communication mode in which signals travel in one direction only, such as keyboard-to-computer input or a television broadcast. Half duplex and full duplex allow two-way traffic.
- Phishing
- A social-engineering attack in which a fraudulent message impersonates a trusted entity to trick the recipient into revealing passwords, OTPs or card details, or into opening malicious links.
- Digital signature
- A cryptographic value created with the sender's private key and verified with the public key. It provides authentication, integrity and non-repudiation, but not confidentiality by itself.
- Flowchart decision symbol
- The diamond symbol in a flowchart. It represents a yes/no question, has one entry and two exits, and controls which branch of the algorithm executes next.
- Binary search precondition
- Binary search repeatedly halves the search interval and requires the data to be sorted. It runs in O(log n) comparisons, far fewer than linear search's O(n).
- File open modes
- Python open() modes: 'r' reads an existing file, 'w' writes and truncates, 'a' appends, and adding 'b' selects binary mode. Omitting the mode defaults to 'r'.
- try except finally
- Python's exception handling structure. try holds risky code, except handles named errors, else runs when none occurred, and finally always runs, typically for cleanup.
- Module import forms
- import math loads the module and uses math.sqrt; from math import sqrt binds the name directly; import math as m renames it. A package is a directory of modules with __init__.py.
- random randint versus randrange
- random.randint(a, b) returns an integer including both endpoints. random.randrange(start, stop, step) excludes stop, matching the behaviour of the range function.
- Class and instance attributes
- Class attributes are defined in the class body and shared by all instances. Instance attributes are set on self, usually in __init__, and belong to one object only.
- Generator yield
- A function containing yield returns a generator that produces values lazily, one per next() call, remembering its state. It is exhausted after one complete pass.
- String slicing
- s[start:stop:step] returns a new string from index start up to but excluding stop, taking every step-th character. Negative indices count from the end, and s[::-1] reverses.
- String immutability
- Strings cannot be changed after creation, so assigning to an index raises TypeError. All string methods return new strings, leaving the original object unchanged.
- Set operations
- Sets hold unique hashable items. Union (|), intersection (&), difference (-) and symmetric difference (^) combine them, and membership tests run in constant average time.
- Shallow versus deep copy
- A shallow copy duplicates only the outer container, so nested objects remain shared. copy.deepcopy recursively duplicates nested structures, giving a fully independent object.
- Hexadecimal to binary
- Each hexadecimal digit corresponds to exactly four binary bits, so D6 becomes 1101 0110. Conversion between binary, octal and hexadecimal passes through bit grouping.
- Multiplexer
- A combinational circuit with several data inputs, select lines and one output. The select lines choose which data input is routed to the output, earning the name data selector.
- Truthy and falsy values
- In Python conditions, zero, 0.0, empty strings, lists, tuples and dictionaries, None and False are falsy. Every other value, including negative numbers, is truthy.
- TCP versus UDP
- TCP is connection-oriented and reliable, acknowledging and retransmitting segments. UDP is connectionless, with no delivery guarantee, but has lower overhead for streaming and queries.
- DNS
- The Domain Name System translates human-readable domain names into IP addresses through a distributed hierarchy of name servers, letting browsers reach servers by name.
- Ransomware
- Malicious software that encrypts a victim's files or locks the system and demands payment for the key. Offline backups are the most reliable recovery defence.
- Multi-factor authentication
- Authentication requiring two or more independent factors, such as a password plus a one-time code or biometric. It limits damage when a password alone is stolen.
- Cloud service models
- IaaS provides virtual machines and storage, PaaS provides a managed runtime and tools for developers, and SaaS delivers complete applications over the internet on a subscription basis.
- Blockchain
- A distributed ledger of hash-linked blocks replicated across nodes, where consensus replaces a central authority. Records are append-only, making tampering detectable across the network.