G27

Concept map · the backbone

Every concept, with its prerequisites

Each concept has a unique ID and is mapped to the official syllabus lines it covers. Prerequisites define the learning order and the knowledge graph. Review this before any subject is written.

Concepts mapped

304

Tier 1 (full depth)

256

Tier 2 (lighter)

48

Pages written

232

Programming and Data Structures

33 concepts
#ConceptTierSyllabus linesPrerequisites
1Data types, operators and expressions
pds.c-types-operators
T1Programming in Cnone
2Control flow and loops
pds.c-control-flow
T2Programming in CData types, operators and expressions
3C memory layout: text, data, heap, stack
pds.c-memory-layout
T1Programming in CData types, operators and expressions
4Functions and parameter passing
pds.functions-parameter-passing
T1Programming in CControl flow and loops
5Scope, lifetime and storage classes
pds.scope-storage-classes
T1Programming in CFunctions and parameter passing
6Evaluation order, sequence points and undefined behaviour
pds.undefined-behaviour-sequence-points
T1Programming in CData types, operators and expressions
7Bitwise operations
pds.bitwise-operations
T2Programming in CData types, operators and expressions
8Preprocessor and macros
pds.preprocessor-macros
T2Programming in CData types, operators and expressions
9Arrays and indexing
pds.arrays
T1ArraysData types, operators and expressions
10Pointers and pointer arithmetic
pds.pointers
T1Programming in CC memory layout: text, data, heap, stack, Arrays and indexing
11Arrays, strings and pointers together
pds.pointers-arrays-strings
T1Arrays; Programming in CPointers and pointer arithmetic
12Multidimensional arrays and address calculation
pds.array-2d-address-calculation
T1ArraysArrays and indexing
13Dynamic memory: malloc, free and leaks
pds.dynamic-memory
T1Programming in CPointers and pointer arithmetic
14Structures, unions and memory alignment
pds.structs-unions
T2Programming in CPointers and pointer arithmetic
15Function pointers
pds.function-pointers
T2Programming in CPointers and pointer arithmetic, Functions and parameter passing
16Recursion and the call stack
pds.recursion-call-stack
T1RecursionFunctions and parameter passing, C memory layout: text, data, heap, stack
17Recursion patterns: tracing and output questions
pds.recursion-patterns
T1RecursionRecursion and the call stack
18Stack (ADT) and its implementations
pds.stack-adt
T1StacksArrays and indexing, Pointers and pointer arithmetic
19Stack applications: expression evaluation and matching
pds.stack-applications
T1StacksStack (abstract data type)
20Queue, circular queue and deque
pds.queue-adt
T1QueuesArrays and indexing
21Queue applications and queue using stacks
pds.queue-applications
T2QueuesQueue (abstract data type), Stack (abstract data type)
22Singly linked lists
pds.linked-list-singly
T1Linked listsPointers and pointer arithmetic, Dynamic memory: malloc, free and leaks
23Doubly and circular linked lists
pds.linked-list-variants
T2Linked listsSingly linked lists
24Reversal, cycle detection and merging
pds.linked-list-operations
T1Linked listsSingly linked lists
25Trees: terminology and properties
pds.trees-basics
T1TreesSingly linked lists
26Binary tree traversals
pds.binary-tree-traversals
T1TreesTrees and binary trees, Stack (abstract data type), Recursion and the call stack
27Constructing trees from traversals
pds.tree-construction-from-traversals
T1TreesBinary tree traversals
28Counting binary trees and tree properties
pds.binary-tree-counting
T1TreesTrees and binary trees, Counting: permutations and combinations
29Binary search trees
pds.bst
T1Binary search treesBinary tree traversals
30AVL trees and rotations
pds.avl-trees
T2Binary search treesBinary search trees
31Binary heaps and heap operations
pds.binary-heap
T1Binary heapsTrees and binary trees, Arrays and indexing
32Priority queues and building a heap
pds.heap-applications
T1Binary heapsBinary heaps and heap operations
33Graph representations
pds.graph-representations
T1GraphsArrays and indexing, Singly linked lists

Digital Logic

23 concepts
#ConceptTierSyllabus linesPrerequisites
1Number systems and conversion
dl.number-systems-conversion
T1Number representation and arithmetic: fixed pointnone
2Sign-magnitude, 1's and 2's complement
dl.signed-number-representation
T1Number representation and arithmetic: fixed pointNumber systems and conversion
3Fixed-point arithmetic and overflow
dl.fixed-point-arithmetic
T1Number representation and arithmetic: fixed pointSign-magnitude, 1's and 2's complement
4BCD, Gray and parity codes
dl.codes
T2Number representation and arithmetic: fixed pointNumber systems and conversion
5IEEE 754 floating point
dl.ieee754
T1Number representation and arithmetic: floating pointSign-magnitude, 1's and 2's complement
6Floating-point arithmetic and precision
dl.floating-point-arithmetic
T2Number representation and arithmetic: floating pointIEEE 754 floating point
7Boolean algebra and identities
dl.boolean-algebra
T1Boolean algebra and minimization: algebraic techniquenone
8SOP, POS, minterms and maxterms
dl.boolean-functions-forms
T1Boolean algebra and minimization: algebraic techniqueBoolean algebra and identities
9Functional completeness and duality
dl.functional-completeness-duality
T2Boolean algebra and minimization: algebraic techniqueBoolean algebra and identities
10Logic gates and universal gates
dl.logic-gates-universal
T1Design of combinational circuitsBoolean algebra and identities
11Karnaugh maps
dl.kmap
T1Boolean algebra and minimization: Karnaugh mapSOP, POS, minterms and maxterms
12Tabular method (Quine-McCluskey)
dl.quine-mccluskey
T2Boolean algebra and minimization: tabular methodKarnaugh maps
13Design of combinational circuits
dl.combinational-design
T1Design of combinational circuitsKarnaugh maps, Logic gates and universal gates
14Adders and subtractors
dl.adders-subtractors
T1Design of combinational circuitsDesign of combinational circuits
15Multiplexers and demultiplexers
dl.mux-demux
T1Design of combinational circuitsDesign of combinational circuits
16Decoders, encoders and comparators
dl.decoders-encoders
T1Design of combinational circuitsDesign of combinational circuits
17ROM, PLA and PAL
dl.rom-pla
T2Design of combinational circuitsDecoders, encoders and comparators
18Static and dynamic hazards in logic
dl.logic-hazards
T2Design of combinational circuitsKarnaugh maps
19Latches and flip-flops
dl.latches-flipflops
T1Design of sequential circuitsLogic gates and universal gates
20Excitation tables and flip-flop conversion
dl.flipflop-conversion
T1Design of sequential circuitsLatches and flip-flops
21Registers and shift registers
dl.registers-shift
T1Design of sequential circuitsLatches and flip-flops
22Synchronous and asynchronous counters
dl.counters
T1Design of sequential circuitsExcitation tables and flip-flop conversion
23FSM design: Mealy and Moore
dl.state-machines
T1Design of sequential circuitsExcitation tables and flip-flop conversion

Computer Organization and Architecture

27 concepts
#ConceptTierSyllabus linesPrerequisites
1Instruction cycle
coa.instruction-cycle
T1Instruction setRegisters and shift registers
2Instruction set architecture and formats
coa.isa-design
T1Instruction setInstruction cycle
3Instruction formats and expanding opcodes
coa.instruction-formats-opcodes
T1Instruction setInstruction set architecture and formats
4Addressing modes
coa.addressing-modes
T1Addressing modesInstruction set architecture and formats
5RISC versus CISC
coa.risc-cisc
T2Instruction setInstruction set architecture and formats
6Procedure calls and stack frames in hardware
coa.stack-frames-calls
T1Instruction setAddressing modes, Recursion and the call stack
7ALU design
coa.alu-design
T1Design of arithmetic and logic unit (ALU)Adders and subtractors
8Multiplication: shift-add and Booth
coa.multiplication-booth
T1Design of arithmetic and logic unit (ALU)ALU design, Fixed-point arithmetic and overflow
9Division algorithms
coa.division-algorithms
T2Design of arithmetic and logic unit (ALU)ALU design
10Single-bus datapath and register transfer
coa.datapath
T1Design of control unit: hardwiredRegisters and shift registers, ALU design
11Hardwired control unit
coa.control-hardwired
T1Design of control unit: hardwiredSingle-bus datapath and register transfer, FSM design: Mealy and Moore
12Microprogrammed control unit
coa.control-microprogrammed
T1Design of control unit: microprogrammedSingle-bus datapath and register transfer
13Memory hierarchy and performance (AMAT)
coa.memory-hierarchy
T1Memory hierarchy: performancenone
14Memory interfacing and address decoding
coa.memory-interfacing
T1Memory interfacingDecoders, encoders and comparators
15RAM, ROM and DRAM refresh basics
coa.ram-rom-technology
T2Memory interfacingMemory hierarchy and performance (AMAT)
16Cache memory mapping
coa.cache-mapping
T1Cache memory mappingMemory hierarchy and performance (AMAT)
17Cache replacement and write policies
coa.cache-replacement-write
T1Cache memory mappingCache memory mapping
18Cache performance and multilevel caches
coa.cache-performance
T1Memory hierarchy: performanceCache memory mapping
19Disk structure and access time
coa.secondary-storage-disk
T2Memory hierarchy: performanceMemory hierarchy and performance (AMAT)
20I/O interface and programmed I/O
coa.io-interface
T1I/O interface: interruptnone
21Interrupts and vectoring
coa.interrupts
T1I/O interface: interruptI/O interface and programmed I/O
22Direct memory access
coa.dma
T1I/O interface: DMAI/O interface and programmed I/O
23Instruction pipelining
coa.pipelining
T1Instruction pipeliningInstruction cycle
24Pipeline speedup and CPI calculations
coa.pipeline-performance
T1Instruction pipeliningInstruction pipelining
25Structural, data and control hazards
coa.pipeline-hazards
T1Pipeline hazardsInstruction pipelining
26Forwarding, stalls and branch prediction
coa.pipeline-forwarding-branch
T1Pipeline hazardsStructural, data and control hazards
27Performance: CPI, MIPS and Amdahl's law
coa.amdahl-performance
T1Instruction pipeliningInstruction pipelining

Operating Systems

32 concepts
#ConceptTierSyllabus linesPrerequisites
1System calls and kernel mode
os.system-calls
T1System callsInterrupts and vectoring
2Process model and PCB
os.process-model
T1ProcessesSystem calls and kernel mode
3Process states, fork and exec
os.process-states-creation
T1ProcessesProcess model and PCB
4Context switching
os.context-switch
T1ProcessesProcess model and PCB
5Threads and multithreading models
os.threads
T1ThreadsProcess model and PCB
6Inter-process communication
os.ipc
T2Inter-process communicationProcess model and PCB
7Critical section and race conditions
os.critical-section
T1Concurrency and synchronizationProcess model and PCB
8Peterson, Dekker and software solutions
os.sync-software-solutions
T1Concurrency and synchronizationCritical section and race conditions
9Test-and-set, swap and atomic instructions
os.sync-hardware
T2Concurrency and synchronizationCritical section and race conditions
10Semaphores
os.semaphores
T1Concurrency and synchronizationCritical section and race conditions
11Producer-consumer, readers-writers, dining philosophers
os.classic-sync-problems
T1Concurrency and synchronizationSemaphores
12Monitors and condition variables
os.monitors
T2Concurrency and synchronizationSemaphores
13Deadlock: conditions and resource allocation graphs
os.deadlock-conditions
T1DeadlockProcess model and PCB
14Deadlock avoidance and the Banker's algorithm
os.deadlock-avoidance-bankers
T1DeadlockDeadlock: conditions and resource allocation graphs
15Deadlock detection and recovery
os.deadlock-detection-recovery
T2DeadlockDeadlock: conditions and resource allocation graphs
16CPU scheduling: criteria, FCFS, SJF and SRTF
os.cpu-scheduling
T1CPU schedulingProcess states, fork and exec
17Priority and round robin scheduling
os.scheduling-priority-rr
T1CPU schedulingCPU scheduling: criteria, FCFS, SJF and SRTF
18Multilevel queues and real-time scheduling
os.scheduling-multilevel-realtime
T2CPU schedulingPriority and round robin scheduling
19Disk scheduling
os.disk-scheduling
T1I/O schedulingDisk structure and access time
20I/O subsystem, buffering and spooling
os.io-systems
T2I/O schedulingDirect memory access
21Memory management: partitioning and fragmentation
os.memory-management-basics
T1Memory managementnone
22Process address space
os.process-address-space
T1Memory managementC memory layout: text, data, heap, stack, Memory management: partitioning and fragmentation
23Paging and address translation
os.paging
T1Memory managementMemory management: partitioning and fragmentation
24Segmentation and segmented paging
os.segmentation
T1Memory managementPaging and address translation
25Multilevel, inverted and hashed page tables
os.page-table-structures
T1Virtual memoryPaging and address translation
26Virtual memory and demand paging
os.virtual-memory-paging
T1Virtual memoryPaging and address translation
27TLB and effective access time
os.tlb-effective-access
T1Virtual memoryPaging and address translation, Memory hierarchy and performance (AMAT)
28Page replacement algorithms
os.page-replacement
T1Virtual memoryVirtual memory and demand paging
29Thrashing and the working set
os.thrashing-working-set
T1Virtual memoryPage replacement algorithms
30File systems: concepts and directories
os.file-systems
T1File systemsnone
31File allocation methods and inodes
os.file-allocation
T1File systemsFile systems: concepts and directories
32Free-space management and file system performance
os.free-space-fs-performance
T2File systemsFile allocation methods and inodes

Compiler Design

29 concepts
#ConceptTierSyllabus linesPrerequisites
1Phases of a compiler
cd.compiler-phases
T1Lexical analysisnone
2Lexical analysis
cd.lexical-analysis
T1Lexical analysisPhases of a compiler, Regular expressions
3Ambiguity, left recursion and left factoring
cd.grammar-ambiguity-transformations
T1ParsingContext-free grammars and derivations
4FIRST and FOLLOW sets
cd.first-follow
T1ParsingAmbiguity, left recursion and left factoring
5Top-down parsing and LL(1)
cd.parsing-ll1
T1ParsingFIRST and FOLLOW sets
6Recursive descent and predictive parsing
cd.parsing-recursive-descent
T2ParsingTop-down parsing and LL(1)
7Shift-reduce parsing and handles
cd.parsing-shift-reduce
T1ParsingAmbiguity, left recursion and left factoring
8Bottom-up parsing and LR
cd.parsing-lr
T1ParsingShift-reduce parsing and handles
9LR(0) and SLR(1) construction
cd.parsing-lr0-slr
T1ParsingBottom-up parsing and LR, FIRST and FOLLOW sets
10CLR(1) and LALR(1)
cd.parsing-clr-lalr
T1ParsingLR(0) and SLR(1) construction
11Operator precedence parsing
cd.parsing-operator-precedence
T2ParsingShift-reduce parsing and handles
12Parser power hierarchy and conflicts
cd.parser-comparison
T1ParsingCLR(1) and LALR(1), Top-down parsing and LL(1)
13Syntax-directed definitions: synthesized and inherited
cd.sdt-attributes
T1Syntax-directed translationBottom-up parsing and LR
14S-attributed, L-attributed and evaluation orders
cd.sdt-evaluation-orders
T1Syntax-directed translationSyntax-directed definitions: synthesized and inherited attributes
15Translation schemes and semantic actions
cd.sdt-translation-schemes
T1Syntax-directed translationS-attributed, L-attributed and evaluation orders
16Runtime environments and activation records
cd.runtime-activation-records
T1Runtime environmentsRecursion and the call stack
17Storage organisation: static, stack and heap
cd.runtime-storage-organisation
T2Runtime environmentsRuntime environments and activation records
18Parameter passing modes and access links
cd.runtime-parameter-passing
T1Runtime environmentsRuntime environments and activation records
19Intermediate code generation
cd.intermediate-code
T1Intermediate code generationTranslation schemes and semantic actions
20Three-address code, quadruples and triples
cd.three-address-code
T1Intermediate code generationIntermediate code generation
21Translating expressions and control flow, backpatching
cd.control-flow-translation
T1Intermediate code generationThree-address code, quadruples and triples
22Basic blocks and control flow graphs
cd.basic-blocks-cfg
T1Local optimisationThree-address code, quadruples and triples
23Local optimisation
cd.local-optimisation
T1Local optimisationBasic blocks and control flow graphs
24DAG representation of basic blocks
cd.dag-basic-block
T1Local optimisationBasic blocks and control flow graphs
25Data flow analysis framework
cd.dataflow-framework
T1Data flow analyses: constant propagationBasic blocks and control flow graphs
26Reaching definitions and constant propagation
cd.dataflow-reaching-constprop
T1Data flow analyses: constant propagationData flow analysis framework
27Liveness analysis
cd.dataflow-liveness
T1Data flow analyses: liveness analysisData flow analysis framework
28Available expressions and common sub-expression elimination
cd.dataflow-available-cse
T1Data flow analyses: common sub expression eliminationData flow analysis framework
29Code generation and register allocation (outside syllabus, used in the journey)
cd.code-generation-registers
T2outside syllabusBasic blocks and control flow graphs, Addressing modes

Algorithms

30 concepts
#ConceptTierSyllabus linesPrerequisites
1Asymptotic notation
algo.asymptotic-notation
T1Asymptotic worst case time and space complexitynone
2Analysing loops, time and space
algo.algorithm-analysis
T1Asymptotic worst case time and space complexityAsymptotic notation
3Solving recurrences: substitution, tree and Master theorem
algo.recurrence-solving
T1Asymptotic worst case time and space complexityAsymptotic notation, Recurrence relations
4Amortized analysis
algo.amortized-analysis
T2Asymptotic worst case time and space complexityAnalysing loops, time and space
5Linear and binary search
algo.searching-linear-binary
T1SearchingAnalysing loops, time and space, Arrays and indexing
6Bubble, selection and insertion sort
algo.sorting-elementary
T1SortingAnalysing loops, time and space
7Divide and conquer
algo.divide-and-conquer
T1Algorithm design technique: divide-and-conquerSolving recurrences: substitution, tree and Master theorem, Recursion and the call stack
8Divide and conquer applications
algo.dc-applications
T1Algorithm design technique: divide-and-conquerDivide and conquer
9Merge sort
algo.sorting-merge
T1SortingDivide and conquer
10Quicksort
algo.sorting-quick
T1SortingDivide and conquer
11Heap sort
algo.sorting-heap
T1SortingPriority queues and building a heap
12Lower bound and linear-time sorts
algo.sorting-lower-bound-linear
T1SortingMerge sort, Quicksort
13Stability, in-place and comparison of sorts
algo.sorting-properties
T1SortingBubble, selection and insertion sort
14Hashing: functions and collisions
algo.hashing-basics
T1HashingArrays and indexing
15Chaining and open addressing
algo.hashing-chaining-open
T1HashingHashing: functions and collisions
16Load factor and expected probes
algo.hashing-analysis
T1HashingChaining and open addressing, Random variables, expectation and variance
17Greedy method and exchange argument
algo.greedy-method
T1Algorithm design technique: greedyAnalysing loops, time and space
18Activity selection and fractional knapsack
algo.greedy-scheduling-knapsack
T1Algorithm design technique: greedyGreedy method and exchange argument
19Huffman coding
algo.huffman-coding
T1Algorithm design technique: greedyGreedy method and exchange argument, Binary heaps and heap operations
20Dynamic programming and memoization
algo.dp-memoization
T1Algorithm design technique: dynamic programmingRecursion and the call stack, Solving recurrences: substitution, tree and Master theorem
21LCS, edit distance, knapsack and matrix chain
algo.dp-classic-problems
T1Algorithm design technique: dynamic programmingDynamic programming and memoization
22DP on sequences: LIS and coin change
algo.dp-sequences
T1Algorithm design technique: dynamic programmingDynamic programming and memoization
23BFS and DFS
algo.graph-traversals-bfs-dfs
T1Graph traversalsGraph representations, Queue (abstract data type)
24DFS edge types, topological sort and SCC
algo.dfs-classification
T1Graph traversalsBFS and DFS
25Spanning trees and the cut property
algo.mst-basics
T1Minimum spanning treesGreedy method and exchange argument, BFS and DFS
26Kruskal and Prim
algo.mst-kruskal-prim
T1Minimum spanning treesSpanning trees and the cut property
27Dijkstra's algorithm
algo.sssp-dijkstra
T1Shortest pathsBFS and DFS, Binary heaps and heap operations
28Bellman-Ford
algo.sssp-bellman-ford
T1Shortest pathsDijkstra's algorithm
29Floyd-Warshall
algo.all-pairs-floyd
T1Shortest pathsDynamic programming and memoization
30P, NP and NP-completeness (outside syllabus, appeared in earlier papers)
algo.complexity-classes-np
T2outside syllabusAnalysing loops, time and space

Theory of Computation

29 concepts
#ConceptTierSyllabus linesPrerequisites
1Alphabets, strings and languages
toc.alphabets-strings-languages
T1Finite automatanone
2Deterministic finite automata
toc.dfa
T1Finite automataAlphabets, strings and languages
3DFA design patterns and counting states
toc.dfa-design-patterns
T1Finite automataDeterministic finite automata
4NFA and epsilon-NFA
toc.nfa
T1Finite automataDeterministic finite automata
5Subset construction
toc.nfa-dfa-conversion
T1Finite automataNFA and epsilon-NFA
6DFA minimisation
toc.dfa-minimisation
T1Finite automataSubset construction
7Mealy and Moore machines
toc.finite-state-transducers
T2Finite automataDeterministic finite automata
8Regular expressions
toc.regular-expressions
T1Regular expressionsNFA and epsilon-NFA
9Regex to automata and back
toc.regex-fa-conversion
T1Regular expressionsRegular expressions, Subset construction
10Closure properties of regular languages
toc.regular-closure-properties
T1Regular languagesDFA minimisation
11Pumping lemma for regular languages
toc.pumping-lemma-regular
T1Pumping lemmaClosure properties of regular languages
12Myhill-Nerode theorem
toc.myhill-nerode
T2Regular languagesDFA minimisation
13Decision problems for regular languages
toc.regular-decision-problems
T2Regular languagesClosure properties of regular languages
14Context-free grammars and derivations
toc.context-free-grammars
T1Context-free grammarsAlphabets, strings and languages
15Ambiguity in grammars
toc.cfg-ambiguity
T1Context-free grammarsContext-free grammars and derivations
16Simplification, CNF and GNF
toc.cfg-normal-forms
T1Context-free grammarsContext-free grammars and derivations
17Pushdown automata
toc.pda
T1Push-down automataNFA and epsilon-NFA, Stack (abstract data type)
18PDA and CFG equivalence
toc.pda-cfg-equivalence
T1Push-down automataPushdown automata, Context-free grammars and derivations
19Deterministic versus nondeterministic PDA
toc.dpda-vs-npda
T1Push-down automataPushdown automata
20Closure properties of CFLs
toc.cf-closure-properties
T1Context-free languagesPDA and CFG equivalence
21Pumping lemma for CFLs
toc.pumping-lemma-cfl
T1Pumping lemmaClosure properties of CFLs
22Decision problems for CFLs
toc.cfl-decision-problems
T2Context-free languagesClosure properties of CFLs
23Chomsky hierarchy
toc.chomsky-hierarchy
T1Context-free languagesClosure properties of CFLs, Closure properties of regular languages
24Turing machines
toc.turing-machines
T1Turing machinesPushdown automata
25TM variants and the Church-Turing thesis
toc.tm-variants-church
T1Turing machinesTuring machines
26Linear bounded automata and context-sensitive languages
toc.lba-context-sensitive
T2Turing machinesTuring machines, Chomsky hierarchy
27Decidable and recognisable languages
toc.decidable-recognisable
T1UndecidabilityTM variants and the Church-Turing thesis
28Halting problem and reductions
toc.undecidability-halting
T1UndecidabilityDecidable and recognisable languages
29Rice's theorem
toc.rice-theorem
T1UndecidabilityHalting problem and reductions

Databases

28 concepts
#ConceptTierSyllabus linesPrerequisites
1ER model
dbms.er-model
T1ER-modelnone
2ER to relational mapping
dbms.er-to-relational
T1ER-modelER model, Relational model and keys
3Relational model and keys
dbms.relational-model-keys
T1Integrity constraintsRelations and their properties
4Relational algebra
dbms.relational-algebra
T1Relational model: relational algebraRelational model and keys, Sets and set identities
5Joins, division and expression trees
dbms.relational-algebra-advanced
T1Relational model: relational algebraRelational algebra
6Tuple relational calculus
dbms.tuple-relational-calculus
T1Relational model: tuple calculusRelational algebra, First order logic
7Safe expressions and domain calculus
dbms.domain-calculus-safety
T2Relational model: tuple calculusTuple relational calculus
8SQL: DDL and basic queries
dbms.sql-basics
T1Relational model: SQLRelational algebra
9Joins, grouping and aggregates
dbms.sql-joins-aggregates
T1Relational model: SQLSQL: DDL and basic queries
10Nested queries, views and NULL
dbms.sql-nested-views
T1Relational model: SQLJoins, grouping and aggregates
11Integrity constraints and triggers
dbms.sql-constraints-triggers
T1Integrity constraintsSQL: DDL and basic queries
12Functional dependencies and closure
dbms.functional-dependencies
T1Normal formsRelational model and keys
13Finding candidate keys
dbms.candidate-keys
T1Normal formsFunctional dependencies and closure
141NF to BCNF
dbms.normal-forms
T1Normal formsFinding candidate keys
15Lossless join and dependency preservation
dbms.decomposition-lossless-dp
T1Normal forms1NF to BCNF
16Canonical cover and 3NF synthesis
dbms.canonical-cover-3nf-synthesis
T2Normal formsLossless join and dependency preservation
17Multivalued dependencies and 4NF
dbms.multivalued-4nf
T2Normal forms1NF to BCNF
18File organisation and blocking factor
dbms.file-organisation
T1File organizationDisk structure and access time
19Ordered, primary, clustering and secondary indexes
dbms.indexing-ordered
T1Indexing (e.g., B and B+ trees)File organisation and blocking factor
20B trees
dbms.b-tree
T1Indexing (e.g., B and B+ trees)Ordered, primary, clustering and secondary indexes, Binary search trees
21B+ trees
dbms.b-plus-tree
T1Indexing (e.g., B and B+ trees)B trees
22Hash-based file organisation
dbms.hash-file-organisation
T2Indexing (e.g., B and B+ trees)File organisation and blocking factor, Hashing: functions and collisions
23Transactions and ACID
dbms.txn-acid
T1Transactionsnone
24Log-based recovery and checkpoints
dbms.recovery-logging
T2TransactionsTransactions and ACID
25Schedules, conflict and view serializability
dbms.schedules-serializability
T1Concurrency controlTransactions and ACID
26Recoverable, cascadeless and strict schedules
dbms.recoverability
T1Concurrency controlSchedules, conflict and view serializability
27Two-phase locking and its variants
dbms.two-phase-locking
T1Concurrency controlSchedules, conflict and view serializability, Deadlock: conditions and resource allocation graphs
28Timestamp ordering
dbms.timestamp-ordering
T2Concurrency controlSchedules, conflict and view serializability

Computer Networks

25 concepts
#ConceptTierSyllabus linesPrerequisites
1Layering: OSI and TCP/IP
cn.layering-osi-tcpip
T1Principles of layeringnone
2Circuit, packet and virtual-circuit switching
cn.switching-types
T1Basics of switching (circuit, packet and virtual circuit)Layering: OSI and TCP/IP
3Delay, throughput and bandwidth-delay product
cn.performance-metrics
T1Performance metricsCircuit, packet and virtual-circuit switching
4Error detection: parity, checksum and CRC
cn.error-detection-crc
T1Data link layer: error detectionLayering: OSI and TCP/IP
5Hamming code (error correction, extra)
cn.error-correction-hamming
T2outside syllabusError detection: parity, checksum and CRC
6Medium access: ALOHA, CSMA and CSMA/CD
cn.mac-protocols
T1Data link layer: Medium Access ControlDelay, throughput and bandwidth-delay product
7Ethernet, frames and minimum frame size
cn.ethernet
T1Data link layer: EthernetMedium access: ALOHA, CSMA and CSMA/CD
8Switches, learning bridges and VLANs
cn.switches-bridges-vlan
T2Data link layer: EthernetEthernet, frames and minimum frame size
9IPv4 addressing and classful addressing
cn.ipv4-addressing
T1IPv4: CIDR notationLayering: OSI and TCP/IP
10CIDR and subnetting
cn.cidr-subnetting
T1IPv4: CIDR notationIPv4 addressing and classful addressing
11IPv4 header and fragmentation
cn.ipv4-fragmentation
T1IPv4: fragmentationIPv4 addressing and classful addressing
12Network address translation
cn.nat
T1IPv4: Network Address TranslationIPv4 addressing and classful addressing
13ICMP, ARP and DHCP (supporting)
cn.icmp-arp-dhcp
T2outside syllabusIPv4 addressing and classful addressing
14Distance vector routing
cn.routing-distance-vector
T1Distance vector routingCIDR and subnetting
15Link state routing
cn.routing-link-state
T1Link state routingCIDR and subnetting, Dijkstra's algorithm
16RIP, OSPF and BGP overview
cn.routing-protocols-overview
T2Link state routingDistance vector routing, Link state routing
17TCP: segments, handshake and teardown
cn.tcp-basics
T1TCP: flow controlIPv4 header and fragmentation
18Sliding window: stop-and-wait, Go-Back-N, Selective Repeat
cn.sliding-window-protocols
T1TCP: flow controlDelay, throughput and bandwidth-delay product
19TCP flow control
cn.tcp-flow-control
T1TCP: flow controlTCP: segments, handshake and teardown, Sliding window: stop-and-wait, Go-Back-N, Selective Repeat
20TCP congestion control
cn.tcp-congestion-control
T1TCP: congestion controlTCP flow control
21RTT estimation and retransmission timers
cn.tcp-rtt-timers
T2TCP: congestion controlTCP: segments, handshake and teardown
22UDP and ports
cn.udp-ports
T2Socket APITCP: segments, handshake and teardown
23Socket API
cn.socket-api
T1Socket APITCP: segments, handshake and teardown, System calls and kernel mode
24DNS
cn.dns
T1DNSUDP and ports
25HTTP
cn.http
T1HTTPSocket API, DNS

Engineering Mathematics

34 concepts
#ConceptTierSyllabus linesPrerequisites
1Propositional logic
math.logic-propositional
T1Propositional logicnone
2First order logic
math.logic-first-order
T1First order logicPropositional logic
3Sets and set identities
math.sets-operations
T1Setsnone
4Relations and their properties
math.relations
T1RelationsSets and set identities
5Equivalence relations and partitions
math.equivalence-relations
T1RelationsRelations and their properties
6Functions: injective, surjective, bijective
math.functions
T1FunctionsRelations and their properties
7Partial orders, Hasse diagrams and lattices
math.posets-lattices
T1Partial orders and latticesRelations and their properties
8Semigroups, monoids and groups
math.algebraic-structures
T1Monoids; GroupsFunctions: injective, surjective, bijective
9Subgroups, cyclic groups and Lagrange's theorem
math.group-theory-subgroups
T1GroupsSemigroups, monoids and groups
10Graph connectivity and trees
math.graph-connectivity
T1Graphs: connectivitySets and set identities
11Euler and Hamiltonian paths
math.graph-euler-hamilton
T1Graphs: connectivityGraph connectivity and trees
12Matching
math.graph-matching
T1Graphs: matchingGraph connectivity and trees
13Graph colouring
math.graph-colouring
T1Graphs: colouringGraph connectivity and trees
14Planar graphs and degree sequences
math.graph-planarity
T1Graphs: connectivityGraph connectivity and trees
15Counting: permutations and combinations
math.counting-principles
T1Combinatorics: countingSets and set identities
16Pigeonhole and inclusion-exclusion
math.counting-inclusion-exclusion
T1Combinatorics: countingCounting: permutations and combinations
17Recurrence relations
math.recurrence-relations
T1Combinatorics: recurrence relationsCounting: permutations and combinations
18Generating functions
math.generating-functions
T1Combinatorics: generating functionsRecurrence relations
19Matrices and operations
math.matrices-basics
T1Matricesnone
20Determinants
math.determinants
T1DeterminantsMatrices and operations
21Systems of linear equations and rank
math.linear-systems
T1System of linear equationsDeterminants
22Eigenvalues and eigenvectors
math.eigen
T1Eigenvalues and eigenvectorsDeterminants
23LU decomposition
math.lu-decomposition
T1LU decompositionSystems of linear equations and rank
24Limits
math.limits
T1Limitsnone
25Continuity and differentiability
math.continuity-differentiability
T1Continuity and differentiabilityLimits
26Maxima and minima
math.maxima-minima
T1Maxima and minimaContinuity and differentiability
27Mean value theorems
math.mean-value-theorems
T1Mean value theoremContinuity and differentiability
28Integration
math.integration
T1IntegrationContinuity and differentiability
29Probability axioms and counting-based probability
math.probability-basics
T1Random variablesCounting: permutations and combinations
30Conditional probability and Bayes' theorem
math.conditional-probability-bayes
T1Conditional probability and Bayes theoremProbability axioms and counting-based probability
31Random variables, expectation and variance
math.random-variables-expectation
T1Random variablesProbability axioms and counting-based probability
32Binomial and Poisson distributions
math.discrete-distributions
T1Binomial distribution; Poisson distributionRandom variables, expectation and variance
33Uniform, exponential and normal distributions
math.continuous-distributions
T1Uniform distribution; Exponential distribution; Normal distributionRandom variables, expectation and variance, Integration
34Mean, median, mode and standard deviation
math.descriptive-statistics
T1Mean, median, mode and standard deviationnone

General Aptitude

14 concepts
#ConceptTierSyllabus linesPrerequisites
1Grammar and usage
ga.verbal-grammar-usage
T1Verbal aptitudenone
2Vocabulary: synonyms, antonyms, idioms
ga.verbal-vocabulary
T1Verbal aptitudenone
3Reading comprehension
ga.verbal-reading-comprehension
T1Verbal aptitudenone
4Sentence completion and ordering
ga.verbal-sentence-completion-ordering
T1Verbal aptitudeGrammar and usage
5Percentages, ratio and proportion
ga.quant-percent-ratio-proportion
T1Quantitative aptitudenone
6Time, speed, distance and work
ga.quant-time-speed-work
T1Quantitative aptitudePercentages, ratio and proportion
7Number system and algebra
ga.quant-algebra-numbers
T1Quantitative aptitudenone
8Data interpretation
ga.quant-data-interpretation
T1Quantitative aptitudePercentages, ratio and proportion
9Geometry and mensuration
ga.quant-geometry-mensuration
T1Quantitative aptitudenone
10Logical reasoning and deduction
ga.analytical-logical-reasoning
T1Analytical aptitudenone
11Number series and patterns
ga.analytical-series-patterns
T1Analytical aptitudenone
12Seating arrangements and puzzles
ga.analytical-arrangements
T1Analytical aptitudeLogical reasoning and deduction
13Paper folding and cutting
ga.spatial-folding-cutting
T1Spatial aptitudenone
143D visualisation and rotations
ga.spatial-3d-visualisation
T1Spatial aptitudenone