0417
1 Types and components of computer systems
2 Input and output devices
3 Storage devices and media
4 Networks and the effects of using them
5 The effects of using IT
6 ICT applications
7 The systems life cycle
8 Safety and security
9 Audience
10 Communication
11 File management
12 Images
13 Layout
14 Styles
15 Proofing
16 Graphs and charts
17 Document production
18 Databases
19 Presentations
20 Spreadsheets
21 Website authoring
0478
Computer systems
1 Data representation
2 Data transmission
3 Hardware
4 Software
5 The internet and its uses
6 Automated and emerging technologies
Algorithms, programming and logic
7 Algorithm design and problem-solving
8 Programming
9 Databases 10 Boolean logic
9618
1 Information representation
1.1 Data Representation
1.2 Multimedia – Graphics, Sound 1.3 Compression
2 Communication
2.1 Networks including the internet
3 Hardware
3.1 Computers and their components 3.2 Logic Gates and Logic Circuits
4 Processor Fundamentals
4.1 Central Processing Unit (CPU) Architecture 4.2 Assembly Language
4.3 Bit manipulation
5 System Software
5.1 Operating Systems 5.2 Language Translators
6 Security, privacy and data integrity
6.1 Data Security 6.2 Data Integrity
7 Ethics and Ownership
7.1 Ethics and Ownership
8 Databases
8.1 Database Concepts 8.2 Database Management Systems (DBMS) 8.3 Data Definition Language (DDL) and Data Manipulation Language (DML)
9 Algorithm Design and Problem-solving
9.1 Computational Thinking Skills 9.2 Algorithms
10 Data Types and Structures
10.1 Data Types and Records
10.2 Arrays
10.3 Files
10.4 Introduction to Abstract Data Types (ADT)
11 Programming
11.1 Programming Basics 11.2 Constructs
11.3 Structured Programming
12 Software Development
12.1 Program Development Life cycle 12.2 Program Design
12.3 Program Testing and Maintenance
13 Data Representation
13.1 User-defined data types 13.2 File organisation and access 13.3 Floating-point numbers, representation and manipulation
14 Communication and internet technologies
14.1 Protocols
14.2 Circuit switching, packet switching
15 Hardware and Virtual Machines
15.1 Processors, Parallel Processing and Virtual Machines 15.2 Boolean Algebra and Logic Circuits
16 System Software
16.1 Purposes of an Operating System (OS) 16.2 Translation Software
17 Security
17.1 Encryption, Encryption Protocols and Digital certificates
18 Artificial Intelligence (AI)
18.1 Artificial Intelligence
19 Computational thinking and Problem-solving
19.1 Algorithms 19.2 Recursion
20 Further Programming
20.1 Programming Paradigms
20.2 File Processing and Exception Handling
1
Primitive types
1.1Why Programming? VAR Why Java? 2 4 VAR
1.2 Variables and Data Types 1 CON
1.3 Expressions and Assignment Statements 1 2 CON
1.4 Compound Assignment 2 Operators 5 CON
1.5 Casting and Ranges of 2 Variables 5 UNIT 1 P
2
Using Objects
~13–15 Class Periods 5–7.5% AP Exam Weighting
2.1 Objects: Instances of Classes 5 MOD
2.2 Creating and Storing VAR Objects (Instantiation) 1 3 MOD
2.3 Calling a Void Method 1 3 MOD
2.4 Calling a Void Method 2 with Parameters 3 MOD
2.5 Calling a Non-void 1 Method 3 VAR
2.6 String Objects: Concatenation, Literals, and More 2 VAR
2.7 String Methods 2 3 VAR
2.8 Wrapper Classes: Integer and Double 2 MOD
2.9 Using the Math Class
3
Boolean Expressions and if Statements UNIT 3
~11–13 Class Periods 15–17.5% AP Exam Weighting
3.1 Boolean Expressions 2 CON
3.2 if Statements and 2 Control Flow 3 CON
3.3 if-else Statements 3 4 CON
3.4 else if Statements 3 4 CON
3.5 Compound Boolean 2 Expressions 3 CON
3.6 Equivalent Boolean Expressions 4 CON
3.7 Comparing Objects
4
Iteration UNIT 4
~14–16 Class Periods 17.5–22.5%AP Exam Weighting
4.1 while Loops + CON
4.2 for Loops + CON
4.3 Developing Algorithms 2 Using Strings 3 CON
4.4 Nested Iteration + CON
4.5 Informal Code Analysis 2 CON
5
Writing Classes
UNIT 5 ~12–14 Class Periods 5–7.5% AP Exam Weighting MOD
5.1 Anatomy of a Class 1 MOD
5.2 Constructors 1 3 MOD
5.3 Documentation with Comments 5 MOD
5.4 Accessor Methods 3 5 MOD
5.5 Mutator Methods 3 4 MOD
5.6 Writing Methods 1 3 MOD
5.7 Static Variables and 3 Methods 5 VAR
5.8 Scope and Access 3 5 VAR
5.9 this Keyword 2 IOC
5.10 Ethical and Social Implications of Computing Systems N/A CON
6
Array UNIT 6
~6–8 Class Periods 10–15% AP Exam Weighting
6.1 Array Creation and 1 Access 3 VAR
6.2 Traversing Arrays + VAR
6.3 Enhanced for Loop 3 for Arrays 4 CON
6.4 Developing Algorithms Using Arrays
7
ArrayList UNIT 7
~10–12 Class Periods 2.5–7.5% AP Exam Weighting ~10–12 Class Periods 7.5–10% AP Exam Weighting VAR
7.1 Introduction to 1 ArrayList 3 VAR
7.2 ArrayList Methods 2 3 VAR
7.3 Traversing ArrayLists 2 3 CON
7.4 Developing Algorithms 3 Using ArrayLists 4 CON
7.5 Searching 3 5 CON
7.6 Sorting 2 IOC
7.7 Ethical Issues Around Data Collection N/A VAR
8
2D Array UNIT 8 VAR
8.1 2D Arrays 1 3 VAR
8.2 Traversing 2D Arrays
9
Inheritance UNIT 9
~13–15 Class Periods 5–10% AP Exam Weighting
9.1 Creating Superclasses 1 and Subclasses 3 MOD
9.2 Writing Constructors 3 for Subclasses 5 MOD
9.3 Overriding Methods 3 5 MOD
9.4 super Keyword 1 3 MOD
9.5 Creating References Using Inheritance Hierarchies 3 5 MOD
9.6 Polymorphism 3 5 MOD
9.7 Object Superclass
10
Recursion UNIT 10
~3–5 Class Periods 5–7.5%AP Exam Weighting CON
10.1 Recursion 1 5 CON
10.2 Recursive Searching 2 and Sorting MOD
1
Creative Development
10–13% AP Exam Weighting 1 6
1.1 Collaboration 1 3 4
1.2 Program Function and Purpose 1 4 6
1.3 Program Design and Development 1 4
1.4 Identifying and Correcting Errors
2
Data
17–22% AP Exam Weighting 1 2 3
2.1 Binary Numbers 1
2.2 Data Compression 5
2.3 Extracting Information from Data 2 5
2.4 Using Programs with Data
3
Algorithms and Programming
30–35% AP Exam Weighting 3 4
3.1 Variables and Assignments 3
3.2 Data Abstraction 2 4
3.3 Mathematical Expressions 4
3.4 Strings 2 4
3.5 Boolean Expressions 2 4
3.6 Conditionals 2 4
3.7 Nested Conditionals 2 4
3.8 Iteration 1 2
3.9 Developing Algorithms 2 4
3.10 Lists 1
3.11 Binary Search 3 4
3.12 Calling Procedures 3
3.13 Developing Procedures 2
3.14 Libraries 2 4
3.15 Random Values 1
3.16 Simulations 1
3.17 Algorithmic Efficiency 1
3.18 Undecidable Problems
4
Computer Systems and Networks
11-15% AP Exam Weighting 5
4.1 The Internet 1 5
4.2 Fault Tolerance 1
4.3 Parallel and Distributed Computing
5
Impact of Computing
21–26% AP Exam Weighting 5
5.1 Beneficial and Harmful Effects 5
5.2 Digital Divide 5
5.3 Computing Bias 1
5.4 Crowdsourcing 5
5.5 Legal and Ethical Concerns 5
5.6 Safe Computing
Core syllabus content SL/HL core •
Topic 1: System fundamentals •
Topic 2: Computer organization •
Topic 3: Networks •
Topic 4: Computational thinking, problem-solving and programming HL extension •
Topic 5: Abstract data structures •
Topic 6: Resource management •
Topic 7: Control Case study Additional subject content introduced by the annually issued case study
Option SL/HL core HL extension Students study one of the following options: •
Option A: Databases •
Option B: Modelling and simulation •
Option C: Web science •
Option D: Object-oriented programming (OOP)
Math and Theory
Data structures and Algorithm
Systems
Curve Fitting, Regression, Bayesian Methods, Gaussian Methods
Nearest Neighbor Methods, Clustering and Expectation-Maximization
Graphical Models, Neural Networks, Stochastic Gradient Descent
Samping, Principal Component Analysis
Markov Models, Linear Dynamical Systems and Filters
Mixture Models and Boosting
Contemporary Models
Representation, Signal Processing & Filters, Feature Descriptors
Geometry-Based Methods & Stereo Vision
Semantic Segmentation, Detection, Object Recognition
Clustering, Graphical Models
Motion, Tracking
Deep Learning, Data-Based Methods
Constraint Satisfaction, Linear Programming
Search, Informed Search, Planning & Heuristic Based Methods (A*, D*)
Game Theory
Probabilistic Graphical Models, Markov Decision Process,
Optimization (Convex, Constraints, Newton’s Methods, Evolutionary Algorithms)
Linear Dynamic System and Controls
Filtering (Kalman, Particle)
Reinforcement Learning