IB Computer Science
Within the context of your wider development as a learner, computer science requires an understanding of the fundamental concepts of computational thinking, as well as knowledge of how computers and other digital devices operate. The DP computer science course aims to be engaging, accessible, inspiring and rigorous. It draws on a wide spectrum of knowledge; enables and empowers innovation, exploration and the acquisition of further knowledge; raises ethical issues and interacts with and influences cultures, society and how individuals and societies behave.
The planning that goes into the installation of a new system: the analysis and design, the components of a computer system, software deployment and backup and the focus on users and human interaction.
Computer architecture, the processor, memory and storage, operating systems and application software, binary representation and simple logic gates. TOK themes include: 'if there are no consequences of data loss, why is it stored?', 'there is no such thing as persistent storage.' 'does binary represent an example of a lingua franca?' 'can machines think?' and reason as a way of knowing.
Network hardware and software fundamentals, including the types of network, data transmission, the need for protocols, VPNs, packet switching, data compression, wireless networking and network security. TOK themes include the nature of privacy and the need for freedom of expression, surveillance and security, personal freedom versus national security.
Computational thinking involves thinking procedurally, thinking logically, thinking ahead, thinking concurrently and thinking abstractly. Programming languages, translators and program design. Algorithms, flow charts and pseudocode. Loops, decisions, sub-programs, arrays, collections, recursion, linked lists and trees. TOK themes include reasoning as a form of decision-making, abstract though and the nature of language and meaning.
Further abstract dynamic data structures, two dimensional arrays, manipulation of stacks, queues, linked lists and binary trees. TOK themes include the nature of procedural and abstract thinking and effective problem solving through reasoning.
The resources in a computer system and their limitations. Operating systems and program control. TOK themes inclue the hiding of complexity and the 'black box' principle in technology.
Control systems, microprocessors, the input-process-output model, feedback, distributed systems and autonomous agents. TOK themes inclue who is responsible for the actions of automated systems and can machines think?
Objects and instantiation, UML diagrams, modular decomposition, encapsulation, inheritance and polymorphism, libraries, object references, programming style. TOK themes include program languages as international languages, the natrue of formal and natural language, virtualisation and reality.