198 terms
Algorithms and complexity
A simple searching algorithm that checks each element sequentially until finding the target or reaching the end. Linear
Fundamentals of algorithms
Algorithms and complexity
An efficient searching algorithm repeatedly dividing sorted search space in half until finding target or determining abs
Fundamentals of algorithms
Algorithms and complexity
The process of arranging elements in ascending or descending order according to defined criteria. Sorting enables binary
Fundamentals of algorithms
Algorithms and complexity
A simple sorting algorithm repeatedly comparing adjacent elements and swapping if out of order, moving larger elements t
Fundamentals of algorithms
Algorithms and complexity
A divide-and-conquer sorting algorithm recursively dividing data in half, sorting each half, then merging sorted halves.
Fundamentals of algorithms
Algorithms and complexity
Mathematical notation describing algorithm performance scaling with input size. Big O expresses upper bounds on time/spa
Fundamentals of algorithms
Algorithms and complexity
Measure of how algorithm runtime grows with input size. Time complexity analysis predicts performance without execution.
Fundamentals of algorithms
Algorithms and complexity
Measure of how algorithm memory usage grows with input size. Space complexity includes auxiliary space (extra memory bey
Fundamentals of algorithms
Algorithms and complexity
Algorithm analysis considers different input scenarios. Best case analyzes optimal inputs; worst case analyzes adversari
Fundamentals of algorithms
Algorithms and complexity
A divide-and-conquer sorting algorithm selecting a pivot and partitioning elements around it. Quicksort averages O(n log
Fundamentals of algorithms
Algorithms and complexity
A simple sorting algorithm building sorted array incrementally by inserting unsorted elements. Insertion sort is O(n²) b
Fundamentals of algorithms
Algorithms and complexity
A non-comparison sorting algorithm for integers in fixed range, achieving O(n + k) time where k is range. Counting sort
Fundamentals of algorithms
Algorithms and complexity
A pathfinding algorithm combining actual cost from start with estimated cost to goal (heuristic). A* finds optimal paths
Fundamentals of algorithms
Algorithms and complexity
A problem-solving technique exploring solution space by building candidates incrementally and abandoning partial solutio
Fundamentals of algorithms
Big Data concepts
Collections of data too large for traditional analysis requiring specialized tools and techniques. Big Data characterist
Big Data
Big Data concepts
The three defining characteristics of Big Data: volume (massive amounts), velocity (rapid generation), variety (multiple
Big Data
Big Data concepts
Data organized in predefined formats like tables with consistent schema enabling straightforward analysis and querying.
Big Data
Big Data concepts
Technology enabling computers to learn from data and improve performance without explicit programming. Machine learning
Big Data
Big Data concepts
Machine learning approach learning from labeled training data where inputs and expected outputs are known. Supervised le
Big Data
Big Data concepts
Analyzing networks represented as graphs with nodes and edges discovering relationships and patterns. Graph analysis sui
Big Data
Big Data concepts
Studying social structures using graph analysis revealing relationships, influence, and communities. Social network anal
Big Data
Big Data concepts
A programming model for processing Big Data by distributing computation across clusters. MapReduce enables scalable data
Big Data
Communication and networking
Arrangements of network nodes and connections including bus, star, ring, mesh, and tree topologies. Topology choices aff
Fundamentals of communication and networking
Communication and networking
Rules governing communication between network devices specifying message formats, timing, and sequencing. Protocols enab
Fundamentals of communication and networking
Communication and networking
Layered architecture defining protocols for internet communication: physical, data link, network, transport, and applica
Fundamentals of communication and networking
Communication and networking
A network communication method dividing data into packets routed individually through networks following available paths
Fundamentals of communication and networking
Communication and networking
A network communication method establishing dedicated connections between nodes before transmitting data. Circuit switch
Fundamentals of communication and networking
Communication and networking
Domain Name System translating human-readable domain names to IP addresses enabling web access. DNS provides directory s
Fundamentals of communication and networking
Communication and networking
Network security devices filtering traffic based on rules to protect networks from unauthorized access. Firewalls implem
Fundamentals of communication and networking
Communication and networking
An architecture where clients request services from servers. Client-server separates concerns enabling scalable systems.
Fundamentals of communication and networking
Communication and networking
A decentralized architecture where peers act as both clients and servers sharing resources directly. Peer-to-peer avoids
Fundamentals of communication and networking
Communication and networking
Networking without cables using radio frequencies enabling mobile communication. Wireless technologies include WiFi, Blu
Fundamentals of communication and networking
Computation theory
Abstract computational models with finite states, transitions triggered by input symbols, and optional output. Finite st
Theory of computation
Computation theory
Formal notation describing patterns of character sequences using metacharacters and operators. Regular expressions enabl
Theory of computation
Computation theory
Backus-Naur Form is a formal notation for specifying grammar rules and syntax of languages. BNF defines context-free gra
Theory of computation
Computation theory
Graphical representations of grammar rules showing valid language syntax through flowchart-like diagrams. Syntax diagram
Theory of computation
Computation theory
A state machine with finite states where each input leads to exactly one transition. DFAs recognize regular languages an
Theory of computation
Computation theory
A state machine where input may cause transitions to multiple states or enable epsilon transitions. NFAs are more expres
Theory of computation
Computation theory
State machines where output depends on current state and input. Mealy machines typically require fewer states than Moore
Theory of computation
Computation theory
State machines where output depends only on current state. Moore machines often require more states than Mealy machines
Theory of computation
Computation theory
Automata with finite states plus a stack enabling recognition of context-free languages. Pushdown automata are more powe
Theory of computation
Computation theory
Mathematical notation for describing collections of elements with operations and properties. Set notation enables formal
Theory of computation
Computation theory
Properties showing that regular languages are closed under union, concatenation, and Kleene star operations. Closure pro
Theory of computation
Computation theory
Computational problems with yes/no answers. Decision problems form basis of computability theory. Solvability classifica
Theory of computation
Computation theory
Functions computable by algorithms versus functions without computing procedures. Computability connects to Turing machi
Theory of computation
Computer organisation and architecture
A computer architecture with single unified memory storing both instructions and data, with CPU fetching and executing i
Fundamentals of computer organisation and architecture
Computer organisation and architecture
A computer architecture with separate instruction and data memory, enabling simultaneous access to both. Harvard archite
Fundamentals of computer organisation and architecture
Computer organisation and architecture
The fundamental CPU operation cycle: fetch instruction from memory, decode instruction determining operation and operand
Fundamentals of computer organisation and architecture
Computer organisation and architecture
A CPU register storing the memory address of the next instruction to execute. Program counter enables sequential executi
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Extremely fast memory locations within CPU storing operands, results, and control information. Registers enable fast ope
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Arithmetic Logic Unit performs arithmetic (add, subtract, multiply) and logical (AND, OR, NOT) operations on operands. A
Fundamentals of computer organisation and architecture
Computer organisation and architecture
The component directing CPU operation by decoding instructions and generating control signals. Control unit translates o
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Methods specifying operand locations in instructions. Different modes enable flexible data access patterns. Common modes
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Addressing mode where operand value is embedded in instruction. Immediate addressing is fast since no memory access need
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Addressing mode where instruction contains memory address of operand. Direct addressing enables simple variable access.
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Addressing mode where register contains memory address of operand. Indirect addressing enables dynamic memory access thr
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Addressing mode computing address as base address plus index register offset. Indexed addressing enables efficient array
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Auxiliary processors handling specialized operations (floating-point, graphics, cryptography). Co-processors accelerate
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Processors with multiple cores executing instructions in parallel. Multi-core enables true parallelism improving perform
Fundamentals of computer organisation and architecture
Computer organisation and architecture
Fast, small memory storing frequently accessed data reducing main memory access latency. Caches exploit locality of refe
Fundamentals of computer organisation and architecture
Computer systems and Boolean algebra
A mathematical system operating on truth values using logical operations (AND, OR, NOT), laws, and identities. Boolean a
Fundamentals of computer systems
Computer systems and Boolean algebra
Electronic switches implementing Boolean operations (AND, OR, NOT, NAND, NOR, XOR) on binary inputs producing binary out
Fundamentals of computer systems
Computer systems and Boolean algebra
Tabular representations showing input combinations and corresponding outputs for logical expressions or gates. Truth tab
Fundamentals of computer systems
Computer systems and Boolean algebra
Visual method for simplifying Boolean expressions by grouping adjacent 1s in truth table grids. Karnaugh maps provide ef
Fundamentals of computer systems
Computer systems and Boolean algebra
Sequential logic devices storing single bits with state persisting between clock cycles. Flip-flops enable memory, count
Fundamentals of computer systems
Computer systems and Boolean algebra
Combinational circuits performing binary addition on inputs producing sum and carry outputs. Half adders add two bits. F
Fundamentals of computer systems
Computer systems and Boolean algebra
Digital circuits where outputs depend only on current inputs, without memory or state. Combinational logic processes inp
Fundamentals of computer systems
Computer systems and Boolean algebra
Digital circuits where outputs depend on current inputs and previous state, incorporating memory through feedback. Seque
Fundamentals of computer systems
Computer systems and Boolean algebra
Core operating system component managing hardware resources and providing services to user programs. Kernel runs in priv
Fundamentals of computer systems
Computer systems and Boolean algebra
Operating system function determining which process executes when. Scheduling balances responsiveness, fairness, and thr
Fundamentals of computer systems
Computer systems and Boolean algebra
Operating system function allocating and deallocating memory to processes. Efficient memory management is critical for s
Fundamentals of computer systems
Computer systems and Boolean algebra
Memory management dividing physical memory and virtual address space into fixed-size pages. Paging eliminates external f
Fundamentals of computer systems
Computer systems and Boolean algebra
Memory management dividing memory into variable-size logical segments (code, data, stack, heap). Segments represent sema
Fundamentals of computer systems
Computer systems and Boolean algebra
Memory management technique presenting larger address space than physical memory through disk storage. Virtual memory en
Fundamentals of computer systems
Computer systems and Boolean algebra
Hardware signals causing processor to pause execution and service requests. Interrupts enable responsive device handling
Fundamentals of computer systems
Computer systems and Boolean algebra
Repeated checking of device status instead of using interrupts. Polling is simpler but less efficient than interrupts. S
Fundamentals of computer systems
Computer systems and Boolean algebra
Logical equivalences describing relationships between AND, OR, and NOT operators. De Morgan's laws enable Boolean expres
Fundamentals of computer systems
Computer systems and Boolean algebra
Reducing Boolean expressions using algebraic identities and laws. Simplified expressions reduce circuit complexity and c
Fundamentals of computer systems
Computer systems and Boolean algebra
Combinational circuit adding two single bits producing sum and carry. Half adder is basic arithmetic circuit building bl
Fundamentals of computer systems
Computer systems and Boolean algebra
Combinational circuit adding two bits and carry-in producing sum and carry-out. Full adders cascade for multi-bit arithm
Fundamentals of computer systems
Computer systems and Boolean algebra
Sequential circuit capturing data input D on clock edge and holding until next edge. D-type flip-flops are memory elemen
Fundamentals of computer systems
Computer systems and Boolean algebra
Flip-flops triggered by edge (transition) or level (high/low state). Edge-triggered enable synchronous design; level-tri
Fundamentals of computer systems
Data representation and encoding
Expressing numbers using base-2 positional notation with digits 0 and 1, the foundation of digital computing. Binary rep
Fundamentals of data representation
Data representation and encoding
Expressing numbers using base-16 positional notation with digits 0-9 and letters A-F. Hexadecimal provides compact notat
Fundamentals of data representation
Data representation and encoding
Positional notations representing numbers using different bases (binary-2, decimal-10, hexadecimal-16). Different bases
Fundamentals of data representation
Data representation and encoding
Performing addition, subtraction, multiplication, and division in binary using similar algorithms to decimal arithmetic.
Fundamentals of data representation
Data representation and encoding
A method representing negative integers in binary by inverting all bits and adding 1. Two's complement enables subtracti
Fundamentals of data representation
Data representation and encoding
A signed integer representation using one bit for sign and remaining bits for magnitude. Sign and magnitude is simple co
Fundamentals of data representation
Data representation and encoding
Number representation with fixed decimal point position dividing integer and fractional parts. Fixed point provides pred
Fundamentals of data representation
Data representation and encoding
Ensuring floating point mantissa is in form 1.something (or 0.1something) with adjustment to exponent. Normalisation pro
Fundamentals of data representation
Data representation and encoding
Components of floating point representation: mantissa (significant digits), exponent (scale). Together they represent nu
Fundamentals of data representation
Data representation and encoding
Overflow occurs when result exceeds maximum representable magnitude. Underflow occurs when result is smaller than minimu
Fundamentals of data representation
Data representation and encoding
Number of samples per unit time in analog-to-digital conversion. Sampling rate determines maximum frequency representabl
Fundamentals of data representation
Data representation and encoding
Precision of sampled values determined by bit depth. Higher resolution enables capturing finer amplitude variations. Res
Fundamentals of data representation
Data representation and encoding
Number of bits used to represent each sample value. Bit depth determines amplitude precision and dynamic range. Common d
Fundamentals of data representation
Data representation and encoding
Number of bits representing each pixel colour. Colour depth determines colour palette size and image quality. Common dep
Fundamentals of data representation
Data representation and encoding
Lossless compression encoding consecutive identical values as (value, count) pairs. Effective for images/data with long
Fundamentals of data representation
Data representation and encoding
Lossless compression replacing frequent patterns with shorter codes using a dictionary. Huffman and LZ77 variants exempl
Fundamentals of data representation
Data representation and encoding
Optimal prefix-free code construction assigning shorter codes to frequent symbols. Huffman coding minimizes average code
Fundamentals of data representation
Data representation and encoding
Encryption using same key for both encryption and decryption. Fast and efficient for bulk data. Requires secure key dist
Fundamentals of data representation
Data representation and encoding
Encryption using different keys: public key for encryption, private key for decryption. Enables secure communication wit
Fundamentals of data representation
Data representation and encoding
Functions mapping data to fixed-size hash values enabling fast lookup. Cryptographic hashes provide integrity verificati
Fundamentals of data representation
Data structures and abstract data types
Ordered collections of elements of the same data type stored in contiguous memory locations, accessed by integer indices
Fundamentals of data structures
Data structures and abstract data types
Data structures grouping multiple named fields of potentially different types, representing composite data entities. Rec
Fundamentals of data structures
Data structures and abstract data types
Last-In-First-Out (LIFO) data structures where elements are added and removed from the same end (top). Stacks naturally
Fundamentals of data structures
Data structures and abstract data types
First-In-First-Out (FIFO) data structures where elements are added at one end (rear) and removed from the other (front).
Fundamentals of data structures
Data structures and abstract data types
Sequential data structures where elements (nodes) contain data and references (pointers/links) to next nodes. Linked lis
Fundamentals of data structures
Data structures and abstract data types
Hierarchical data structures with a root node and child nodes, where each node has at most one parent. Trees organize da
Fundamentals of data structures
Data structures and abstract data types
Trees where each node has at most two children, typically called left and right children. Binary trees enable efficient
Fundamentals of data structures
Data structures and abstract data types
Data structures using hash functions to map keys to storage indices, enabling O(1) average-case lookup time. Hash tables
Fundamentals of data structures
Data structures and abstract data types
Data structures with nodes (vertices) and edges connecting pairs of nodes, enabling representation of arbitrary relation
Fundamentals of data structures
Data structures and abstract data types
Dynamic arrays that automatically resize when capacity is exceeded, providing both array-like indexed access and automat
Fundamentals of data structures
Data structures and abstract data types
A queue implementation where the end wraps around to the beginning, reusing storage space. Circular queues avoid wasting
Fundamentals of data structures
Data structures and abstract data types
A queue where elements are ordered by priority, with highest priority elements dequeued first. Priority queues enable sc
Fundamentals of data structures
Data structures and abstract data types
A 2D array representation of graphs where rows and columns represent vertices and matrix values represent edges. Element
Fundamentals of data structures
Data structures and abstract data types
A linked list representation of graphs where each vertex maintains a list of adjacent vertices. Adjacency lists are spac
Fundamentals of data structures
Data structures and abstract data types
Graphs where edges carry weights (costs, distances, capacities) representing relationship quantities. Weighted graphs mo
Fundamentals of data structures
Data structures and abstract data types
Trees where heights of subtrees differ by at most a constant factor, maintaining O(log n) operations. Balancing ensures
Fundamentals of data structures
Data structures and abstract data types
Self-balancing binary search trees where subtree heights differ by at most 1. AVL trees guarantee O(log n) operations th
Fundamentals of data structures
Databases and SQL
Databases organizing data into tables (relations) with rows (records) and columns (fields), related through keys. Relati
Fundamentals of databases
Databases and SQL
A method designing databases by identifying entities (things), attributes (properties), and relationships (connections).
Fundamentals of databases
Databases and SQL
Process organizing database design eliminating redundancy and ensuring data integrity through normal forms (1NF, 2NF, 3N
Fundamentals of databases
Databases and SQL
Structured Query Language is standard language querying and manipulating relational databases. SQL enables data retrieva
Fundamentals of databases
Functional programming
A programming paradigm treating computation as evaluation of mathematical functions avoiding mutable state. Functional p
Fundamentals of functional programming
Functional programming
Functions treated as values enabling passing to other functions, returning from functions, and storing in variables. Fir
Fundamentals of functional programming
Functional programming
Functions taking other functions as arguments or returning functions as results. Higher-order functions enable flexible,
Fundamentals of functional programming
Functional programming
Three fundamental higher-order functions: map applies function to each element, filter selects elements, fold aggregates
Fundamentals of functional programming
Functional programming
Combining functions so output of one becomes input to another creating new functions. Function composition enables build
Fundamentals of functional programming
Functional programming
Anonymous functions defined inline using concise syntax enabling functional programming. Lambda expressions reduce boile
Fundamentals of functional programming
Functional programming
The property that objects don't change after creation, fundamental to functional programming. Immutability prevents side
Fundamentals of functional programming
Functional programming
Functions always producing same output for same input without modifying external state or accessing external variables.
Fundamentals of functional programming
Legal and ethical considerations
Ethical considerations in computing including bias, fairness, autonomy, and accountability. Computing systems affect soc
Consequences of uses of computing
Legal and ethical considerations
Right and wrong conduct in computing considering consequences and principles. Ethics guides responsible technology devel
Consequences of uses of computing
Legal and ethical considerations
The right to control personal information and maintain confidentiality. Privacy protection balances individual rights ag
Consequences of uses of computing
Legal and ethical considerations
Legal rights protecting creations including software, designs, and algorithms through copyrights, patents, and trademark
Consequences of uses of computing
Legal and ethical considerations
Computing's effects on environment including power consumption, e-waste, and carbon emissions. Sustainable computing min
Consequences of uses of computing
Legal and ethical considerations
Laws requiring security measures to protect systems and data from unauthorized access and attacks. Legislation mandates
Consequences of uses of computing
Object-oriented programming
One of three fundamental programming constructs where instructions execute in order from first to last without branching
Fundamentals of programming
Object-oriented programming
A fundamental programming construct using conditional statements (if, if-else, switch) to execute different code blocks
Fundamentals of programming
Object-oriented programming
A fundamental programming construct enabling repeated execution of code blocks using loops (for, while, do-while). Itera
Fundamentals of programming
Object-oriented programming
Logical operators (AND, OR, NOT) that combine or negate boolean values to create complex conditions. Boolean operators e
Fundamentals of programming
Object-oriented programming
The practice of evaluating conditions and making decisions based on true/false results, forming the basis of selection c
Fundamentals of programming
Object-oriented programming
An object composition relationship where an object contains references to other objects as parts. Aggregation represents
Fundamentals of programming
Object-oriented programming
An object composition relationship where an object exclusively owns and controls contained objects. Composition represen
Fundamentals of programming
Object-oriented programming
A relationship between classes indicating that objects of one class use or interact with objects of another. Association
Fundamentals of programming
Object-oriented programming
Classes that cannot be instantiated directly but serve as templates for subclasses. Abstract classes define common struc
Fundamentals of programming
Object-oriented programming
Contracts specifying methods that implementing classes must provide without defining implementation. Interfaces define c
Fundamentals of programming
Problem solving methodology
The first phase of systematic problem-solving understanding problem requirements, constraints, and user needs. Analysis
Systematic approach to problem solving
Problem solving methodology
The second phase planning solution architecture and implementation approach. Design determines how analysis requirements
Systematic approach to problem solving
Problem solving methodology
The third phase writing code and building system according to design specifications. Implementation translates design in
Systematic approach to problem solving
Problem solving methodology
The fourth phase verifying software meets requirements and functions correctly. Testing identifies bugs before release.
Systematic approach to problem solving
Problem solving methodology
The final phase assessing solution against original requirements and user satisfaction. Evaluation determines if problem
Systematic approach to problem solving
Problem solving methodology
Collecting and documenting what software must do based on stakeholder needs. Requirements drive entire development proce
Systematic approach to problem solving
Problem solving methodology
Testing verifying software meets acceptance criteria and user requirements before deployment. Acceptance testing is fina
Systematic approach to problem solving
Problem solving methodology
Writing comprehensive system descriptions enabling understanding and maintenance. Documentation is essential for softwar
Systematic approach to problem solving
Problem solving methodology
Managing code changes tracking history and enabling collaboration. Version control prevents code loss and enables team d
Systematic approach to problem solving
Problem solving methodology
Process of examining code changes for quality, correctness, and compliance with standards. Code review catches bugs and
Systematic approach to problem solving
Problem solving methodology
Finding and fixing errors in code through systematic investigation. Debugging requires methodical problem-solving approa
Systematic approach to problem solving
Problem solving methodology
Restructuring code improving internal quality without changing external behavior. Refactoring reduces complexity and imp
Systematic approach to problem solving
Programming concepts and constructs
The fundamental building blocks of computer programs, including variables, constants, and assignments. Programming conce
Fundamentals of programming
Programming concepts and constructs
Classifications of data that define the type of values a variable can hold and the operations permitted on that data. Co
Fundamentals of programming
Programming concepts and constructs
Variables are named memory locations with modifiable values, while constants are named memory locations with fixed value
Fundamentals of programming
Programming concepts and constructs
A parameter passing mechanism where a copy of the argument value is passed to the function. Changes to the parameter ins
Fundamentals of programming
Programming concepts and constructs
A parameter passing mechanism where the address of the argument is passed to the function. Changes to the parameter insi
Fundamentals of programming
Programming concepts and constructs
Variables declared outside all functions with scope extending throughout the entire program. Global variables exist for
Fundamentals of programming
Programming concepts and constructs
Variables declared within functions or blocks with scope limited to that region. Local variables are created when execut
Fundamentals of programming
Programming concepts and constructs
The region of code where a variable is accessible and can be referenced. Scope rules determine variable visibility and l
Fundamentals of programming
Programming concepts and constructs
Operations on sequences of characters including concatenation, substring extraction, pattern matching, and manipulation.
Fundamentals of programming
Programming concepts and constructs
Input/output operations for reading from and writing to files on persistent storage. File handling enables data persiste
Fundamentals of programming
Subtopic b
An algorithm design paradigm dividing problems into smaller subproblems of same type, solving recursively, and combining
Fundamentals of algorithms
Subtopic b
Measurement of algorithm efficiency through time complexity (execution speed) and space complexity (memory usage). Big-O
Fundamentals of algorithms
Subtopic b
Abstract computational models consisting of infinite tape, read-write head, finite control, and state transitions. Turin
Theory of computation
Subtopic b
The study of what problems can be solved by computational processes and which are fundamentally unsolvable. Computable f
Theory of computation
Subtopic b
The undecidable problem of determining whether an arbitrary program terminates or loops infinitely. Proving the halting
Theory of computation
Subtopic b
Representing real numbers in binary using sign bit, exponent, and mantissa fields enabling representation of very large
Fundamentals of data representation
Subtopic b
Mapping characters to binary representations enabling text storage and transmission. ASCII encodes 128 characters using
Fundamentals of data representation
Subtopic b
The complete set of operations a CPU can execute, defined by opcode and operand formats. Instruction sets vary between C
Fundamentals of computer organisation and architecture
Subtopic b
Methods specifying where operand data comes from or results go, enabling flexible instruction design. Addressing modes i
Fundamentals of computer organisation and architecture
Subtopic b
A performance technique overlapping instruction execution stages (fetch, decode, execute, memory, write-back) enabling m
Fundamentals of computer organisation and architecture
Subtopic b
Two instruction set philosophies: Reduced Instruction Set Computer (RISC) emphasizes simple operations and pipelining, C
Fundamentals of computer organisation and architecture
Subtopic b
Components enabling computers to communicate with external devices through ports, buses, and controllers. I/O systems ha
Fundamentals of computer organisation and architecture
Subtopic b
Non-volatile storage devices (hard drives, solid-state drives, USB drives) retaining data without power. Secondary stora
Fundamentals of computer organisation and architecture
Subtopic b
Levels of memory with different speeds and capacities: registers (fastest, smallest), caches, main memory, and secondary
Fundamentals of computer organisation and architecture
Subtopic b
Fast temporary storage between CPU and main memory, reducing average access latency through locality exploitation. Cache
Fundamentals of computer organisation and architecture
Subtopic b
Executing multiple operations simultaneously to improve throughput and performance. Parallel processing includes multipr
Fundamentals of computer organisation and architecture
Subtopic b
Two parallel processing models: Single-Instruction Multiple-Data (SIMD) executes one instruction on multiple data, Multi
Fundamentals of computer organisation and architecture
Subtopic b
Using Graphics Processing Units for general-purpose computation, exploiting massive parallelism for data-parallel worklo
Fundamentals of computer organisation and architecture
Subtopic c
Named blocks of code that perform specific tasks and can be called multiple times from different locations in a program.
Fundamentals of programming
Subtopic c
Parameters are formal variables declared in function definitions, while arguments are actual values passed to functions
Fundamentals of programming
Subtopic c
Values that functions send back to calling code when they complete execution. Return statements specify which value to r
Fundamentals of programming
Subtopic c
Scope defines where variables are accessible in code, while lifetime defines how long variables persist in memory. Local
Fundamentals of programming
Subtopic d
A programming technique where functions call themselves to solve problems by breaking them into smaller versions of the
Fundamentals of programming
Subtopic e
Blueprints for creating objects that group related data (attributes) and behavior (methods) together. Classes enable obj
Fundamentals of programming
Subtopic e
Instances of classes containing specific attribute values and methods for performing actions. Objects represent concrete
Fundamentals of programming
Subtopic e
Bundling data and methods within classes while hiding internal implementation details through access modifiers. Encapsul
Fundamentals of programming
Subtopic e
A mechanism enabling classes to inherit attributes and methods from parent classes, promoting code reuse and hierarchy.
Fundamentals of programming
Subtopic e
The ability of objects to take multiple forms and be treated through common parent interfaces despite actual types diffe
Fundamentals of programming
Subtopic f
A programming mechanism for gracefully responding to errors and abnormal conditions using try-catch-finally blocks. Exce
Fundamentals of programming