Back to Singapore Computer Science
Singapore · SEABQ&A
Computer ScienceQ&A by dot point
A short Q&A bank for every Singapore Computer Science syllabus dot point. Each question and answer is drawn directly from our worked dot-point page, so you can scan key concepts before opening the long-form answer.
Algorithms and Problem Solving
- Analyse the time and space complexity of an algorithm using Big-O notation, and compare common growth rates3Q&A pairs
- Implement and trace bubble sort and insertion sort, analyse their complexity, and compare their behaviour on nearly sorted data5Q&A pairs
- Implement and trace breadth-first and depth-first traversal of a graph, and contrast the two strategies and their applications5Q&A pairs
- Implement and trace linear search and binary search, state their complexities, and justify when each applies6Q&A pairs
- Explain and trace merge sort and quicksort as divide-and-conquer algorithms, analyse their complexity, and compare their trade-offs5Q&A pairs
- Define recursion in terms of base and recursive cases, trace recursive calls, and compare recursion with iteration5Q&A pairs
Computer Architecture and Operation
- Describe the components of the CPU - control unit, ALU, registers - and the buses connecting it to memory in the von Neumann architecture6Q&A pairs
- Describe the fetch-decode-execute cycle, the registers involved, and how the program counter sequences instructions6Q&A pairs
- Explain interrupts and interrupt handling, contrast them with polling, and describe how the CPU services and resumes after an interrupt5Q&A pairs
- Construct and interpret logic gates and truth tables, write Boolean expressions, and simplify them using Boolean algebra laws8Q&A pairs
- Describe the memory hierarchy from registers to secondary storage, and explain how caching exploits locality of reference6Q&A pairs
Data, Information and Databases
- Normalise a relational design to first, second and third normal form, explaining the anomalies each form removes3Q&A pairs
- Model a problem domain with an entity-relationship diagram, identifying entities, attributes, relationships and cardinality, and map it to tables4Q&A pairs
- Describe the relational model in terms of tables, rows, attributes, primary keys and foreign keys, and explain referential integrity5Q&A pairs
- Define database schemas with CREATE TABLE, choosing data types and enforcing PRIMARY KEY, FOREIGN KEY, NOT NULL and UNIQUE constraints4Q&A pairs
- Write SQL queries using SELECT with WHERE, ORDER BY, JOIN, GROUP BY and aggregate functions, and modify data with INSERT, UPDATE and DELETE4Q&A pairs
Data Representation
- Apply bitwise AND, OR, XOR, NOT and shift operations, and use masks to set, clear, toggle and test individual bits7Q&A pairs
- Explain how characters are encoded using ASCII and Unicode, including code points and UTF-8, and the implications for storage and internationalisation4Q&A pairs
- Explain floating-point representation in terms of sign, mantissa and exponent, and discuss precision, range and rounding error4Q&A pairs
- Convert whole numbers between binary, denary and hexadecimal, and perform binary addition, explaining the role of place value and overflow4Q&A pairs
- Represent signed integers using two's complement, convert to and from denary, and perform subtraction by addition, explaining range and overflow6Q&A pairs
Data Structures
- Describe arrays and records as data structures, explain constant-time array indexing and contrast static with dynamic arrays4Q&A pairs
- Describe a binary search tree, perform insertion, search and in-order traversal, and explain how balance affects complexity6Q&A pairs
- Describe graphs and their terminology, represent them as adjacency matrices and adjacency lists, and compare the two representations6Q&A pairs
- Describe a hash table and hash function, explain collision resolution by chaining and open addressing, and analyse the effect of load factor7Q&A pairs
- Describe a linked list as nodes joined by pointers, implement insertion and deletion, and contrast it with an array3Q&A pairs
- Describe stacks (LIFO) and queues (FIFO), implement their core operations, and identify suitable applications of each6Q&A pairs
Machine Learning and Emerging Technologies
- Discuss the ethical and societal impacts of AI and automation, including bias, accountability, privacy and the effect on work5Q&A pairs
- Explain what machine learning is, how a model learns from training data, and how it differs from rule-based programming3Q&A pairs
- Describe an artificial neural network in terms of neurons, weights and layers, and explain how training adjusts weights7Q&A pairs
- Distinguish supervised, unsupervised and reinforcement learning, and identify classification, regression and clustering tasks6Q&A pairs
Networks and the Internet
- Explain how DNS resolves domain names to IP addresses, and describe the HTTP/HTTPS request-response model and the client-server architecture7Q&A pairs
- Explain IPv4 addressing, the role of the subnet mask in separating network and host parts, and the motivation for IPv66Q&A pairs
- Explain symmetric and public-key (asymmetric) encryption, digital signatures and common network threats and defences6Q&A pairs
- Explain packet switching, the structure of a packet, how routers forward packets, and contrast it with circuit switching6Q&A pairs
- Describe the layered TCP/IP model, the role of each layer, and how encapsulation passes data between layers3Q&A pairs
Programming and Software Development
- Handle runtime errors with try and except, and read from and write to text files safely in Python3Q&A pairs
- Apply decomposition, modularity and abstraction to structure software, explaining the benefits for maintenance and reuse7Q&A pairs
- Define classes with attributes and methods, create objects, and apply encapsulation, inheritance and polymorphism in Python7Q&A pairs
- Use Python selection, iteration and functions with parameters and return values to structure a solution, applying scope correctly7Q&A pairs
- Describe the stages of the software development lifecycle and compare the waterfall and agile (iterative) approaches6Q&A pairs
- Design test cases using normal, boundary and erroneous data, distinguish levels of testing, and apply systematic debugging techniques6Q&A pairs