An introduction to Java programming using BlueJ. The aim is to start the IB course with equivalent skills in Java as IGCSE computer science gives in Python.
A short introduction to IB computer science, based on the theme 'Did we emerge from World War II a better society?' Your other subjects will be following the same theme: try to relate what you do in each subject to the others. The induction period gives you the chance to reflect on whether you have chosen the right subjects and your teachers the chance to observe your strengths and weaknesses as an IB student.
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.
resources in a computer system and their limitations. Operating systems
and program control. TOK connections inclue the way the hiding of complexity and the
'black box' principle in technology moves users from their own reason towards faith in the technologist.
microprocessors, the input-process-output model, feedback, distributed
systems and autonomous agents. TOK connections inclue the ethics of who is responsible for
the actions of automated systems, can machines 'think' and is there a difference betwen thinking and reason?
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.
An introduction to programming in Java, based on Java for Everyone and referenced to the IB study guide. The order of topics is more logical than that in the IB guide.