1 - IB Computer Science

Course Topic Breakdown

Topic 1—System fundamentals (20 hours)
Planning and system installation
System Context Identification
Navigating Compatibility Issues in Technology Mergers
Troubleshooting Data Migration Issues
Comparing Client Hardware Implementation with Remote Hosting Systems
Custom Installation Options
Types of Testing
Revamping Your Organizational Strategy: An Overview of Change Management
User focus
Creating Effective User Documentation
Effective Strategies for Documenting User Experiences
Innovative Approaches to Delivering User Training
System backup
Causes of Data Loss
Data Loss: Understanding the Causes
Lessons from Losing Data
Effective Methods for Preventing Data Loss
Mitigating the Effects of Data Loss
Creating Effective Data Backup Strategies
Improving Data Security and Privacy Measures
Choosing the Right RAID Configuration
Software deployment
Managing Releases and Updates Strategies
Components of a computer system
Exploring Computer Roles in a Networked World
Discussion of Social and Ethical Issues in a Networked World
Introduction to Computer Terminology
System design and analysis
Techniques for Collecting Information to Arrive at a Workable Solution
Illustrating System Requirements with Suitable Representations
Demonstrating Proposed System to Clients with Prototypes
Exploring the Importance of User Involvement in Design Process
Discussing Social and Ethical Issues Associated with the Introduction of New IT Systems
Obtaining Requirements from Stakeholders
The Significance of Iteration in Design
Identifying Relevant Stakeholders for System Planning
Human interaction with the system
Creating a User-Friendly Interface
Identifying Usability Issues with Digital Devices
Identifying Usability Problems in a System
Exploring the Implications of Human-Machine Interaction
Improving System Accessibility
Topic 2—Computer organization (6 hours)
Computer architecture
Exploring the Components of a CPU and Its Architecture
Explaining the machine instruction cycle
Explaining Cache Memory Use without Numbers
Understanding Primary Memory: Differentiating between RAM and ROM usage
Secondary memory
Identifying the Need for Persistent Storage
Operating systems and application systems
Describing Operating System Functions
Identifying Common Features of Applications
Using Various Application Software
Binary representation
Introduction to Digital Number Systems
Exploring Data Representation in Computers
Simple logic gates
Boolean Operators: AND, OR, NOT, NAND, NOR and XOR
Constructing Truth Tables with Operators
Logic Diagrams with Gates
Topic 3—Networks (9 hours)
Network fundamentals
Identifying Network Types
Breaking Down Communication Networks into Different Layers
Evaluate the use of a VPN
Data Transmission Lesson
Exploring Protocol and Data Packet Definitions
Explaining the Importance of Data Compression for Network Transmission
Exploring Transmission Media Characteristics
Explaining the Process of Transmitting Data through Packet Switching
Explaining Variations in Data Transmission Speed Across Networks
Wireless networking
Exploring Wireless Network Pros and Cons
Exploring the Components of a Wireless Network
Exploring the Features of Wireless Networks
Evaluating Pros and Cons of Network Security Methods
Different Methods of Network Security
Topic 4—Computational thinking, problem-solving and programming (45 hours)
Thinking procedurally
The Importance of Sub-Procedures in Problem Solving
Thinking logically
Identify the decisions required for the solution to a specified problem
Explaining the Relationship Between Decisions and Conditions in a System
Deducing Logical Rules for Real-World Situations
Identifying Decision Making in Specific Situations
Thinking ahead
Identifying Solution Inputs and Outputs
Explaining the Importance of Pre-Conditions in Algorithm Execution
Outlining pre- and post-conditions for a problem
Exception Identification in Problem Solutions
Thinking concurrently
Using Concurrent Processing to Solve Problems
Thinking abstractly
Understanding Abstraction Concepts
Understanding Standard Algorithms for Linear Arrays
Construct pseudocode to represent an algorithm
Efficiency of Algorithm in Context of Use
Determining Algorithm Step Execution Frequencies
Nature of programming languages
Distinguishing Fundamental and Compound Operations of a Computer
Explaining the essential features of a computer language
Exploring the Importance of High-Level Programming Languages
Translating Higher Level Languages to Machine Executable Code
Use of programming languages
Introduction to Programming Concepts
Introduction to Operators in Programming
Analyse the use of variables, constants and operators in algorithms
Characteristics and Applications of a Collection
Constructing Algorithms with Collection Access Methods
The Importance of Sub-Programmes and Collections in Programmed Solutions
Topic 5—Abstract data structures (23 hours)
Thinking recursively
Recursive thinking for situational identification
Recursive Thinking in Problem Solutions
Tracing Recursive Algorithms for Problem Solving
Abstract data structures
Exploring Stacks: Characteristics and Applications
Building Algorithms with Stack Access Methods
Understanding Queues: Applications and Characteristics
Constructing Algorithms with Queue Access Methods
Using Arrays as Static Stacks and Queues
Linked lists
How Linked Lists Operate Logically
Sketch linked lists (single, double and circular)
Trees
Introduction to Tree Structures: Understanding Parents, Children, Subtrees, Roots and Leaves
Tree Traversal Results
Creating Binary Trees using Sketching Techniques
Applications
Dynamic Data Structures
Comparing Static and Dynamic Data Structures
Topic 6—Resource management (8 hours)
System resources
Identifying limitations of resources in a computer system
Role of the operating system
Topic 7—Control (14 hours)
Centralized control systems
Automatic doors control systems
Heating systems control systems
Taxi meter control systems
Elevator control systems
Washing machine control systems
Process control systems
Device driver control systems
Domestic robot control systems
GPS systems control systems
Traffic light control systems
Topic – Options (SL 30 hours/HL 45 hours): D—Object-oriented programming
Objects as a programming concept
Features of OOP
Program development
Advanced program development