Netherlands HAVO 4 (bovenbouw, 2e fase) Computer Science
Chapters: 4
1. Skills
General skills · Scientific skills · Computing-specific skills
- Research Skills: From a Question to a Finished Project – Research is a careful way of finding an answer. You ask a clear, focused question, plan how to answer it, find information and check that each source can be trusted, collect and analyse your own data, draw a conclusion that the evidence supports, and share it while crediting every source you used.
- The Design Process: From Problem to Product – The design process is a loop of steps designers use to solve a real problem for real people: investigate the need, define it in a brief and a measurable specification, generate many ideas, build a prototype, then test and evaluate it against the specification. Whatever fails sends you back round the loop. This repeating is called iteration, and it is how almost every product, app, building and artwork is improved.
2. Foundations
Algorithms · Data structures · Automata · Grammars
- Introduction to Problem Solving – Problem solving on a computer has stages: analyse the problem (inputs, outputs, rules), develop an algorithm (a finite, clear, ordered set of steps), code it in a programming language, test it with different inputs, and debug (find and remove errors). An algorithm can be shown as a flowchart (oval = start/stop, parallelogram = input/output, rectangle = process, diamond = decision, arrows = flow) or as pseudocode (structured plain English). Decomposition breaks a big problem into smaller sub-problems that are solved separately and then joined.
- Data Structures: Arrays, Lists, Stacks, Queues and Trees – A data structure is a way of organising data in memory so a program can use it well. Arrays keep items in numbered boxes for instant access by index. Linked lists chain nodes with pointers, so inserting is easy. Stacks work last-in-first-out, queues first-in-first-out. Dictionaries find values by key, and trees store data in levels so searching is fast. Choosing the right structure makes programs faster and simpler.
- Finite State Machines and Formal Languages – A finite state machine (FSM) has a fixed set of states, an alphabet of input symbols, a start state, a transition function that says which state comes next for each symbol, and (for an acceptor) a set of accepting states. It reads an input string one symbol at a time; if it ends in an accepting state the string is accepted. A Mealy machine also gives an output on each transition. The strings an FSM accepts form a regular language, which can also be described by a regular expression. Languages with nesting (like brackets) need more power: they are context-free and are written with BNF rules or syntax diagrams.
3. Information
Goals of information processing · Identifying information · Representing data · Standard representations · Structured data
- Data Representation: How Computers Store Numbers, Text, Images and Sound – Data is raw facts; information is data given meaning; knowledge is information we can use. A computer stores all data as bits (0 or 1). 8 bits make a byte, and 1 kB = 1000 bytes, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB. Numbers are stored in binary, where place values double: 1, 2, 4, 8 and so on. Text uses a character set: in ASCII 'A' is 65; Unicode covers every script. A bitmap image is a grid of pixels; size = width × height × colour depth. Sound is sampled: size = sample rate × bit depth × seconds. Vector images store shapes instead of pixels. Compression makes files smaller: lossless keeps every bit, lossy throws some detail away.
- Data Structures: Arrays, Lists, Stacks, Queues and Trees – A data structure is a way of organising data in memory so a program can use it well. Arrays keep items in numbered boxes for instant access by index. Linked lists chain nodes with pointers, so inserting is easy. Stacks work last-in-first-out, queues first-in-first-out. Dictionaries find values by key, and trees store data in levels so searching is fast. Choosing the right structure makes programs faster and simpler.
- SQL with MySQL: Create Tables, Change Rows and Ask Questions – SQL (Structured Query Language) is the language used to talk to a relational DBMS like MySQL. DDL commands (CREATE, ALTER, DROP) define tables; DML commands (INSERT, UPDATE, DELETE) change rows; DQL (SELECT) reads data. Each column has a data type such as INT, FLOAT, CHAR, VARCHAR or DATE. SELECT … WHERE filters rows using relational operators, BETWEEN, AND/OR/NOT and IS NULL.
4. Programming
Developing programs · Inspecting and adapting programs
- Programming Basics: Sequence, Selection, Loops and Functions – A program is a set of exact instructions a computer follows. Every program is built from three structures: sequence (steps in order), selection (if/else choices) and iteration (loops). Variables store values. Functions group code into reusable, named blocks, which makes programs modular and easier to test, debug and maintain.