Computer Science (CS) HL IB DP course syllabus 6-8 School of Young Politicians Gymnasium 36 Teacher: Andrew Rayton Nature of the Subject 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 Diploma Programme computer science course is engaging, accessible, inspiring and rigorous. It has the following characteristics. draws on a wide spectrum of knowledge enables and empowers innovation, exploration and the acquisition of further knowledge interacts with and influences cultures, society and how individuals and societies behave raises ethical issues is underpinned by computational thinking. Computational thinking involves the ability to: think procedurally, logically, concurrently, abstractly, recursively and think ahead utilize an experimental and inquiry-based approach to problem-solving develop algorithms and express them clearly appreciate how theoretical and practical limitations affect the extent to which problems can be solved computationally. During the course the student will develop computational solutions. This will involve the ability to: identify a problem or unanswered question design, prototype and test a proposed solution liaise with clients to evaluate the success of the proposed solution and make recommendations for future developments. Prior Learning and Distinction between Higher and Standard Level The school currently offers this subject at Higher Level only. The study of computer science at HL demands a higher level of problem-solving skills and the ability to understand and manipulate abstract concepts. Although no previous knowledge of computer science is required, some exposure to programming is desirable. Students at HL are required to study additional topics in the core, a case study and also extension material of a more demanding nature in the option chosen. Syllabus Outline The core topics that must be studied, including some practical work, are: Topic : System fundamentals Topic : Computer organization
Topic 3: Networks Topic : Computational thinking, problem-solving and programming The Higher Level extension topics relating to the core are: Topic 5: Abstract data structures Topic 6: Resource management Topic 7: Control Additional subject content will be introduced at HL by the annually issued case study. Finally, students study one of the following options: Option A: Databases Option B: Modeling and simulation Option C: Web science Option D: Object-oriented programming (OOP) Objectives Having followed the Diploma Programme course in Computer Science, students will be expected to: Demonstrate knowledge and understanding of specified content, methods, terminology. Apply and use relevant facts and concepts, relevant design methods and techniques, appropriate communication methods to present information. Construct, analyse, evaluate and formulate success criteria, solution specifications including task outlines, designs and test plans, appropriate techniques with a specified solution Demonstrate the personal skills of cooperation and perseverance as well as appropriate technical skills for effective problem solving in developing a specified product. Assessment The final Diploma grade in the subject is determined by two assessment components: External Paper, which consists of two compulsory sections: Section A consists of several compulsory short answer questions Section B consists of five compulsory structured questions. Paper, which is linked to the option studied. Paper 3, which consists of four compulsory questions based on a pre-seen case study. Internal Assessment a) The development of a computational solution, including a product and a, word written supporting documentation. b) The group Project, a collaborative activity where students from different group subjects work together and are assessed using the criterion of Personal skills. Syllabus course planner. Systems in Organisation s.. Planning and installation Content Organisational Context, Change management, implementation, compatibility, alternative installation, data Migration & Testing
..8 User focus User documentation & User training.. System Causes of data loss, consequences, prevention backup.. Software deployment Describe strategies for managing releases and updates.. System design basics.. Components of a computer.. System design and analysis.. Human interaction with the. Computer organisation.. Computer architecture..5 Secondary memory..6 Operating s and application s..9 Binary representati on.. Simple logic gates 6 hardware, software, peripheral, network, human resources, roles of computers, ethical issues Stakeholders, Client requirements, gathering and representing s info, Design Cycles, Prototypes and clients involvement, Social & Ethical implications of installation Usability and Accessability, moral, ethical, social, economic and environmental implications of the interaction between humans and machines CPU, ALU, Input & Outputs block diagram with MAR & MDR, Primary Memory, ROM & RAM, Cache Memory, Machine Instruction Cycle (Data bus & Address Bus) Identify the need for persistent storage. HDD Flash CD ROM Main Functions of OS, Word Processors, Spreadsheets, Databases, Email, Web, CAD, Menus Toolbars GUIs Define the terms: bit, byte, binary, denary/decimal, hexadecimal, how is data represented in the computer, To include strings, integers, characters and colours AND, OR, NOT, NAND, NOR and XOR, construct truth tables & Logic diagrams 3. Networks 9 3.. Network fundamental s 3..6 Data transmission 3.. Wireless networking LAN, VLAN, WAN, SAN, WLAN,internet, extranet, VPN, PAN, PP, Standards, Compatibility, Awareness of the OSI seven layer model is required Protocol, data, packet, why protocols are necessary, speed of data transmission, compression, transmission media (metal conductor, fibre optic, wireless), Packet switching. advantages and disadvantages of wireless networks, hardware and software, components, Characteristics, security,. General Principles.. Thinking procedurally Procedures appropriate to solving a problems, Evaluate solution order, the role of sub-procedures... Thinking Identify when decision-making is required, what decisions, Conditions,
logically..9 Thinking ahead.... 7 Thinking concurrently Thinking abstractly Relationships, Testing AND, OR, NOT, If, THEN, ELSE etc.., Deduce logical rules for real-world situations, relationships Boolean tests Identify the inputs and outputs required in a solution, Gantt charts, Preordering, Caching/pre-fetching. Identify exceptions that need to be considered in a specified problem solution libraries of pre-formed elements for future use, Pre-conditions, Post Conditions concurrent processing Selecting the pieces of information that are relevant to solving the problem, why abstraction is required in the derivation of computational solutions for a specified situation. Connecting Computation al Thinking.. Algorithims sequential search, binary search, bubble sort, selection sort, binary vs sequential search,.. Flow Diagrams Analyse Flow diagrams - variables, calculations, simple and nested loops, simple conditionals and multiple or nested conditionals..6 Psuedocode Analyse Psuedocode - variables, calculations, simple and nested loops, simple conditionals and multiple or nested conditionals..8 Efficiency of Algorithim the difference in efficiency between a single loop, nested loops, a loop that ends when a condition is met - iterations that a step will execute.3 Introduction to Programmin g.3. Nature of programmin g languages.3.6 Use of programmin g languages 5. Abstract Data Structures 5.. Thinking recursively 5.. Abstract data 5.. 5.. 5.. 8 structures Linked lists Trees Applications 3 3 fundamental operations of a computer, add, compare, retrieve and store data, fundamental and compound operation. Language, Syntax, Unabiguity, why we need High Level Language, compilers and interpreters, the virtual machine variable, constant, operator, object, Define the operators =,, <, <=, >, >=, mod, div. (Approvaed notation sheet), analyse, construct algorithims using loop and branching, the need for sub-programs (classes), When it is required, Identification, state the output of the recursive algorithm characteristics of a two dimensional array, constructing algorithims with D arrays, Stacks and Queues Dynamic Data structues, linked lists, adding a data item to linked list, deleting specified data item, modifying the data held in the linked list, searching for a given data item how trees operate logically, parent, left-child, right-child, subtree, root and leaf, the result of inorder, postorder, and preorder tree traversal, Sketching Binary Trees. static and dynamic data structures
6. Resource Managemen t 6.. System resources 6..5 Role of the operating 7. Centralised Control 7.. Centralized control s 7..7 Distributed s D Objects as a programmin g concept D. Definition, Template or Class D.3 UML Diagrams D.5 Decompositi on and Relationships D.9 Data types & Parameters 8 6 The resources that need to be managed within a computer, availability, limitations, potential problems What does the Operating do? Managing memory, peripherals, hardware, resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling, the advantages of specific OS for devices. automatic doors, heating s, taxi meters, elevators, washing machines, process control, device drivers, domestic robots, GPS s, traffic lights and other common devices, the uses of microprocessors and sensor input in control s. Inputs, processes and outputs. Social implications Centrally controlled Versus a distributed. The role of autonomous agents acting within a larger D Features of OOP D. Encapsulatio Definitions, advantages, disadvantages. n, Inheritence & Polymorphis m D.7 Libraries of Definitions, advantages, disadvantages. Objects D.8 OOP Disadvantages, programming teams, modularity in program development D3 Program developmen t D3. Terms Definition class, identifier, primitive, instance variable, parameter variable, local variable, method, accessor, mutator, constructor, signature, return value, private, protected, public, extends, static
D3. Primitive data types D3.5 Construct Code the uses of the primitive data types and the reference class string, primitive types will be limited to int, long, double, char and Boolean trace, explain or construct algorithms related to selection statements, repetition statements, static arrays, UNICODE, Ethics D Advanced program developmen t D. Recursive Algorithims D.5 Object Reference 5 Definition, Applications, limitations, trace and understand As typified by simple classes that are self-referential, algorithims with reference mechanisms D.7 ADTS Abstract Data Types, Features and nature of D.8 Lists Stacks and Queues Construct and understand code, features of, advantages of library collections, D. 5 Style and Conventions understand that meaningful identifiers, proper indentation and adequate comments all improve the readability of code for humans CS IA Case Study Computation al Solution 3