β Singapore Computer Science
Singapore Β· SEABSyllabus
Computer Science syllabus, dot point by dot point
Every dot point in the Singapore Computer Sciencesyllabus, with a focused answer for each one. Click any dot point for a worked explainer, past exam questions, and links to related dot points. Written by Claude Opus 4.8, Anthropic's latest AI.
Algorithms and Problem Solving
Module overview β- How do we measure and compare the efficiency of algorithms independently of the machine they run on?Analyse the time and space complexity of an algorithm using Big-O notation, and compare common growth rates9 min answer β
- How do simple comparison sorts work, and why are they quadratic?Implement and trace bubble sort and insertion sort, analyse their complexity, and compare their behaviour on nearly sorted data9 min answer β
- How do we systematically visit every node in a graph, and when do we use breadth-first versus depth-first search?Implement and trace breadth-first and depth-first traversal of a graph, and contrast the two strategies and their applications9 min answer β
- How do we find an item in a collection, and why is a sorted list so much faster to search?Implement and trace linear search and binary search, state their complexities, and justify when each applies8 min answer β
- How do divide-and-conquer sorts achieve O(n log n), and how do merge sort and quicksort differ?Explain and trace merge sort and quicksort as divide-and-conquer algorithms, analyse their complexity, and compare their trade-offs9 min answer β
- How does a function that calls itself solve a problem, and when is recursion the right tool?Define recursion in terms of base and recursive cases, trace recursive calls, and compare recursion with iteration8 min answer β
Computer Architecture and Operation
Module overview β- What are the main parts of a CPU, and how do the control unit, ALU and registers work together?Describe the components of the CPU - control unit, ALU, registers - and the buses connecting it to memory in the von Neumann architecture8 min answer β
- How does a processor run a program, one instruction at a time, using the fetch-execute cycle?Describe the fetch-decode-execute cycle, the registers involved, and how the program counter sequences instructions8 min answer β
- How does a CPU respond to events from devices without constantly checking them, and what is an interrupt?Explain interrupts and interrupt handling, contrast them with polling, and describe how the CPU services and resumes after an interrupt8 min answer β
- How are logical decisions built from gates, and how do we simplify Boolean expressions?Construct and interpret logic gates and truth tables, write Boolean expressions, and simplify them using Boolean algebra laws9 min answer β
- Why do computers use several kinds of memory, and how does a cache speed things up?Describe the memory hierarchy from registers to secondary storage, and explain how caching exploits locality of reference8 min answer β
Data, Information and Databases
Module overview β- How do we organise tables to remove redundancy and avoid update anomalies?Normalise a relational design to first, second and third normal form, explaining the anomalies each form removes9 min answer β
- How do we plan a database before building it, capturing entities and the relationships between them?Model a problem domain with an entity-relationship diagram, identifying entities, attributes, relationships and cardinality, and map it to tables8 min answer β
- How does a relational database organise data into tables, and how do keys link those tables together?Describe the relational model in terms of tables, rows, attributes, primary keys and foreign keys, and explain referential integrity8 min answer β
- How do we define the structure of a database and enforce rules on the data it can hold?Define database schemas with CREATE TABLE, choosing data types and enforcing PRIMARY KEY, FOREIGN KEY, NOT NULL and UNIQUE constraints8 min answer β
- How do we retrieve and change data in a relational database using SQL?Write SQL queries using SELECT with WHERE, ORDER BY, JOIN, GROUP BY and aggregate functions, and modify data with INSERT, UPDATE and DELETE9 min answer β
Data Representation
Module overview β- How do programs manipulate individual bits, and what are masks and shifts used for?Apply bitwise AND, OR, XOR, NOT and shift operations, and use masks to set, clear, toggle and test individual bits8 min answer β
- How are text characters stored as numbers, and why did the world move from ASCII to Unicode?Explain how characters are encoded using ASCII and Unicode, including code points and UTF-8, and the implications for storage and internationalisation7 min answer β
- How do computers store fractional and very large numbers, and why is floating-point arithmetic only approximate?Explain floating-point representation in terms of sign, mantissa and exponent, and discuss precision, range and rounding error8 min answer β
- How do computers represent numbers in binary and hexadecimal, and how do we convert between bases reliably?Convert whole numbers between binary, denary and hexadecimal, and perform binary addition, explaining the role of place value and overflow8 min answer β
- How do computers store negative whole numbers, and why is two's complement the standard scheme?Represent signed integers using two's complement, convert to and from denary, and perform subtraction by addition, explaining range and overflow8 min answer β
Data Structures
Module overview β- How are arrays and records stored, and why is array access so fast?Describe arrays and records as data structures, explain constant-time array indexing and contrast static with dynamic arrays8 min answer β
- How does a binary search tree keep data ordered for fast search, and why does balance matter?Describe a binary search tree, perform insertion, search and in-order traversal, and explain how balance affects complexity9 min answer β
- How do we represent a graph in a program, and when is an adjacency matrix better than an adjacency list?Describe graphs and their terminology, represent them as adjacency matrices and adjacency lists, and compare the two representations8 min answer β
- How does a hash table achieve near constant-time lookup, and how are collisions handled?Describe a hash table and hash function, explain collision resolution by chaining and open addressing, and analyse the effect of load factor9 min answer β
- How does a linked list store a sequence using pointers, and how does it differ from an array?Describe a linked list as nodes joined by pointers, implement insertion and deletion, and contrast it with an array8 min answer β
- How do stacks and queues control the order items are added and removed, and where are they used?Describe stacks (LIFO) and queues (FIFO), implement their core operations, and identify suitable applications of each8 min answer β
Machine Learning and Emerging Technologies
Module overview β- What ethical and societal issues does artificial intelligence and automation raise, and how should they be addressed?Discuss the ethical and societal impacts of AI and automation, including bias, accountability, privacy and the effect on work8 min answer β
- What is machine learning, and how does learning from data differ from a traditional programmed solution?Explain what machine learning is, how a model learns from training data, and how it differs from rule-based programming8 min answer β
- How does a neural network learn, and what makes deep learning powerful for tasks like image recognition?Describe an artificial neural network in terms of neurons, weights and layers, and explain how training adjusts weights8 min answer β
- What are the main types of machine learning, and when do we use labelled versus unlabelled data?Distinguish supervised, unsupervised and reinforcement learning, and identify classification, regression and clustering tasks8 min answer β
Networks and the Internet
Module overview β- How does a domain name become an IP address, and what protocols carry web traffic?Explain how DNS resolves domain names to IP addresses, and describe the HTTP/HTTPS request-response model and the client-server architecture8 min answer β
- How are devices addressed on the internet, and how does a subnet mask split a network from a host?Explain IPv4 addressing, the role of the subnet mask in separating network and host parts, and the motivation for IPv68 min answer β
- How is data kept confidential and authentic over a network, and how do symmetric and public-key encryption work?Explain symmetric and public-key (asymmetric) encryption, digital signatures and common network threats and defences9 min answer β
- How does data cross the internet as packets, and how do routers decide where to send them?Explain packet switching, the structure of a packet, how routers forward packets, and contrast it with circuit switching8 min answer β
- How is network communication organised into layers, and what does each layer of the TCP/IP model do?Describe the layered TCP/IP model, the role of each layer, and how encapsulation passes data between layers8 min answer β
Programming and Software Development
Module overview β- How do programs handle errors gracefully and read and write files without crashing?Handle runtime errors with try and except, and read from and write to text files safely in Python8 min answer β
- How do we break a large problem into manageable parts, and why does hiding detail make software better?Apply decomposition, modularity and abstraction to structure software, explaining the benefits for maintenance and reuse8 min answer β
- How does object-oriented programming model real things as classes and objects, and what do encapsulation and inheritance give us?Define classes with attributes and methods, create objects, and apply encapsulation, inheritance and polymorphism in Python9 min answer β
- How do selection, iteration and functions structure a Python program, and why do functions matter?Use Python selection, iteration and functions with parameters and return values to structure a solution, applying scope correctly8 min answer β
- What stages does software pass through from idea to maintenance, and how do development models differ?Describe the stages of the software development lifecycle and compare the waterfall and agile (iterative) approaches8 min answer β
- How do we test software systematically and find the cause of a defect efficiently?Design test cases using normal, boundary and erroneous data, distinguish levels of testing, and apply systematic debugging techniques8 min answer β