Skip to content

Singapore-Cambridge A-Level Computing (H2)

A-Level · SEABComputer Science45 notes in 6 folders, 289 KB

Notes for Singapore-Cambridge A-Level Computing (H2, syllabus 9569), in folders for the syllabus's six modules in its order: programming fundamentals, data structures and algorithms, data and information, computer networks, social, ethical and security impact, and emerging technologies. Python, SQL, HTML, CSS and Flask are covered with code. They follow the syllabus for exams from 2027.

Adding them puts a copy in your notes, in a folder of its own with the folders below, for you to change and turn into flashcards or a question deck. Download gives you a zip of markdown files, which opens in any notes app.

What is inside

  • Programming fundamentals
    • Algorithms, pseudocode and problem solving6 KB
    • Data types, operators and library functions7 KB
    • Lists, tuples and dictionaries6 KB
    • Functions, procedures and scope5 KB
    • Coding standards4 KB
    • Recursion6 KB
    • Data validation and verification5 KB
    • Errors, exceptions and testing6 KB
  • Data structures and algorithms
    • Stacks6 KB
    • Queues5 KB
    • Linked lists6 KB
    • Binary trees and binary search trees6 KB
    • Tree traversals and searching a tree6 KB
    • Hash tables6 KB
    • Text files5 KB
    • Insertion sort and bubble sort4 KB
    • Quicksort and merge sort6 KB
    • Linear search and binary search5 KB
    • Time complexity and Big-O5 KB
    • Classes, objects and encapsulation6 KB
    • Inheritance, polymorphism and class diagrams6 KB
  • Data and information
    • Number bases5 KB
    • Character encoding5 KB
    • Relational databases and keys6 KB
    • Redundancy, dependency and normalisation6 KB
    • Entity-relationship diagrams5 KB
    • SQL statements7 KB
    • Using SQL from Python6 KB
    • NoSQL databases6 KB
  • Computer networks
    • Networks, IP addresses and DNS7 KB
    • Protocols, packet switching and client-server7 KB
    • Web and native applications and usability6 KB
    • HTML and CSS8 KB
    • Flask web applications13 KB
  • Social, ethical and security impact of computing
    • Social, ethical, legal and economic issues and professional conduct9 KB
    • Singapore legislation: CMCA, POFMA, POHA and PDPA9 KB
    • Confidentiality: authentication, access control and firewalls7 KB
    • Encryption7 KB
    • Integrity and non-repudiation: hashes, checksums and digital signatures7 KB
    • Availability: denial of service, malware and recovery8 KB
    • Cybersecurity: social engineering and web application vulnerabilities9 KB
  • Emerging technologies
    • Artificial intelligence and machine learning6 KB
    • Supervised learning and k-nearest neighbours6 KB
    • Unsupervised learning and k-means6 KB
    • The machine learning workflow with scikit-learn9 KB

The first note

Programming fundamentals / Algorithms, pseudocode and problem solving

## Algorithms An **algorithm** is a finite, ordered set of unambiguous steps that solves a problem or carries out a task. Given the same input it gives the same output, it ends after a finite number of steps, and each step is precise enough to be carried out without judgement. Writing the algorithm down before any code is written lets its logic be checked on its own, separately from the details of a programming language. Every algorithm, however large, is built from three control structures. - **Sequence**: statements run one after another, in the order written. - **Selection**: a condition decides which statements run, using `if`, `elif` and `else`. - **Iteration**: statements repeat, either while a condition holds (`while`) or for each item in a range or collection (`for`). A program that finds the larger of two numbers uses sequence to read the numbers in, selection to compare them and sequence again to show the answer. A program that adds up the marks in a list uses iteration to visit each mark. ## Pseudocode **Pseudocode** describes an algorithm in structured, plain language, close enough to code to be translated easily but free of the syntax rules of any one language. There is no required syntax for it. What matters is that the logic is correct, that every step is unambiguous and that the layout shows which statements belong inside a selection or a loop, usually by indentation. ```text INPUT mark IF mark >= 50 THEN OUTPUT "Pass" ELSE OUTPUT "Fail" ENDIF ``` The same…

And 44 more once you add or download them.

Reviews

No written reviews yet. Add these notes to yours and you can be the first to leave one.