Higher Computing Science Revision checklist Summary notes Topic Programming – machine code, assembly language High-level – procedural ,declarative, object-oriented (methods) Parameter passing – by value, by reference, formal, actual Modularity – procedures, functions Module libraries Local and global variables, scope Data – string, integer, real, Boolean Data structures – variables, 1D arrays, records Sequential files – open/create, read, write, close Testing – comprehensive test plan, normal, extreme, exceptional, Pre-defined functions Programming constructs – conditional statements, of error – syntax, execution, logic Debugging - Dry runs, trace tables, breakpoint Standard algorithms – input validation, find min/max, linear search, count occurrences Design notations – pseudocode, structure diagram, flowchart, wireframe Development methodologies – RAD, top-down Development process – Analysis, Design, Implementation, Testing, Documentation, Evaluation, Maintenance Current trends: Languages & environments (e.g. higher level languages), Intelligent systems (e.g. autonomous unmanned vehicles), Online systems (e.g. social media, online shopping) Low level operations Data representation – binary integers, two’s complement Data representation – floating point (mantissa & exponent) Data representation – ASCII, Unicode Data representation – bitmap vs vector graphics Data representation – audio Data representation – video Processor - ALU, control unit, registers Memory – ROM, RAM, cache Buses – data, address, control Fetch-execute cycle Addressable memory Interfaces Virtual machines Emulators Mobile devices Databases Database structures – flat file, relational Primary keys, foreign keys, compound keys Cardinality – one-to-one, one-to-many, many-to-many Queries, forms, reports Design notations – ER diagrams, data dictionaries Validation checks
Web design Multi-level navigation CSS – purpose, basic code HTML tags – head, title, body, meta, script Dynamic vs static Database-driven website – purpose of SQL Interactive webpage Client-side scripting – purpose of JavaScript Server-side scripting – purpose of PHP Search Engine Optimisation techniques Optimising code (Web Crawlers, efficiency of coding) Testing – beta, usability ,compatibility, accessibility Technical Implementation Input and output devices Processors – type, cores, speed Memory – RAM, ROM, cache Device types – desktop, laptop, tablet, smartphone Functions of operating system Software licensing – commercial (single, multi-user, site), shareware, freeware Proprietary vs open source Portability of software Distributed storage Off-line storage Storage devices – capacities, speeds, etc Backup strategies – full, differential, incremental Cloud systems – public, private, hybrid Trends in OS design, backing storage, networking Security/ legal implications/ environment Computer Misuse Act Copyright, Designs and Patents Act Communications Act Regulation of Investigatory Powers Act Security risks – spyware, phishing, keylogging Security risks - online fraud, ID theft, Denial of Service attacks Encryption Digital certificates Digital signatures Server-side validation Biometrics Environmental benefits of computers Lifetime carbon footprint Economic impact of computers – competitive advantage, global marketplace, maintainability, scalability, business costs) Social impact of computers – censorship, freedom of speech, privacy, encryption, global citizenship, online communities