IB Computer Science SL Topics
The standard-level topics in the International Baccalaureate Diploma Programme (IB) for Computer Science are Topics 1-4.
Subscribed to premium resources? Click below.
For teaching resources, consider purchasing from the store now: Mr. Teasdale Shop
Topic 1 System Fundamentals
Learning Aim:
In this topic, you will begin to understand how computer systems are designed and used in the industry as well as the implications, ethical considerations, and problems that can arise from using digital systems.
What the syllabus says you need to know for this unit
1.1 Systems in Organizations (HL&SL)
| Planning and system installation 1.1.1 Identify the context for which a new system is planned. 1.1.2 Describe the need for change management 1.1.3 Outline compatibility issues resulting from situations including legacy systems or business mergers. 1.1.4 Compare the implementation of systems using a client’s hardware with hosting systems remotely 1.1.5 Evaluate alternative installation processes 1.1.6 Discuss problems that may arise as a part of data migration 1.1.7 Suggest various types of testing User focus 1.1.8 Describe the importance of user documentation 1.1.9 Evaluate different methods of providing user documentation 1.1.10 Evaluate different methods of delivering user training System Backup 1.1.11 Identify a range of causes of data loss 1.1.12 Outline the consequences of data loss in a specified situation 1.1.13 Describe a range of methods that can be used to prevent data loss Software Deployment 1.1.14 Describe strategies for managing releases and updates |
1.2 System Design basics (HL & SL)
| Components of a computer system 1.2.1 Define the terms: hardware, software, peripheral, network, human resources 1.2.2 Describe the roles that a computer can take in a networked world 1.2.3 Discuss the social and ethical issues associated with a networked world System design and analysis 1.2.4 Identify the relevant stakeholders when planning a new system 1.2.5 Describe methods of obtaining requirements from stakeholders 1.2.6 Describe appropriate techniques for gathering the information needed to arrive at a workable solution 1.2.7 Construct suitable representations to illustrate system requirements 1.2.8 Describe the purpose of prototypes to demonstrate the proposed system to the client 1.2.9 Discuss the importance of iteration during the design process 1.2.10 Explain the possible consequences of failing to involve the end user in the design process 1.2.11 Discuss the social and ethical issues associated with the introduction of new IT systems Human interaction with the system 1.2.12 Define the term usability 1.2.13 Identify a range of usability problems with commonly used digital devices 1.2.14 Identify methods that can be used to improve the accessibility of systems 1.2.15 Identify a range of usability problems that can occur in a system 1.2.16 Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines |
1. Systems in Organisations
Key Considerations for New Systems
- Compatibility Issues: Integrating software from different sources can result in conflicts with file formats, data structures, or communication protocols.
- Legacy Systems: Older software or hardware that remains vital to operations but may be difficult to integrate with modern systems.
- SaaS vs. Local Hosting:
| Aspect | SaaS (Software as a Service) | Local Hosting |
|---|---|---|
| Cost | Subscription-based (lower upfront) | High initial infrastructure costs |
| Maintenance | Managed by provider | Managed internally |
| Customisation | Limited | Highly flexible |
| Security | Dependent on provider | Direct control |
2. System Life Cycle
Stages
- Analysis
- Data Collection Methods: Interviews, surveys, observation, document analysis, and prototyping.
- Factors to Assess: Purpose, user requirements, budget, and technical limitations.
- Design
- User Interface (UI): Emphasise usability (e.g., graphical user interface versus command line interface).
- System Architecture: Plan hardware and software components and data flow.
- Implementation
- Methods:
- Parallel: Old and new systems run at the same time.
- Direct Changeover: Immediate switch to the new system.
- Phased: Gradual introduction by module or department.
- Methods:
- Maintenance
- Resolve bugs, optimise performance, and adapt to new requirements.
3. Implementation Challenges
Data Migration
- Issues: Incompatible file formats, differences in date/currency conventions (e.g.,
DD/MM/YYYYversusMM/DD/YYYY), and character encoding (e.g., ASCII versus Unicode). - Testing:
- Alpha/Beta Testing: Internal and external user trials.
- User Acceptance Testing (UAT): Ensures the system meets user requirements.
- Automated Testing: Scripts for repetitive testing tasks.
Change Management
- Communicate reasons for change.
- Address user concerns (e.g., training, support).
- Evaluate success after implementation.
4. System Management
Data Security
- Backup Strategies: Regular backups, offsite storage, and redundancy (e.g., RAID).
- Preventing Data Loss: Access controls, encryption, and versioning.
Documentation
- User Documentation: Manuals, tutorials, and FAQs for end-users.
- System Documentation: Technical information for developers (e.g., APIs, code structure).
5. Related Technologies
- Touchscreens: Resistive, capacitive, and infrared types are used in devices such as ATMs and point-of-sale systems.
- Memory Types:
- SRAM: Faster, used for cache memory (e.g., CPU cache).
- DRAM: Slower but more affordable, used for main memory (e.g., RAM).
6. Case Study: Importance of Testing
A notable example of the consequences of inadequate system testing is the accidental downing of a civilian aircraft by a misinterpreted radar signal. This highlights the critical need for rigorous validation and testing of systems, especially those used in safety-critical environments.
Topic 1 Quizlet
Topic 2 Computer Organisation
Learning Aim:
In this topic, you will begin to understand computer and processor architectures as well as how computers represent data (binary, hexadecimal) and use logic to make decisions
What the syllabus says you need to know for this unit
2.1 Computer organisation (HL&SL)
| Computer Architecture 2.1.1 Outline the architecture of the central processing unit (CPU) and the functions of the arithmetic logic unit (ALU) and the control unit (CU) and the registers within the CPU 2.1.2 Describe primary memory. Distinguish between random access memory (RAM) and read-only memory (ROM), and their use in primary memory 2.1.3 Explain the use of cache memory 2.1.4 Explain the machine instruction cycle Secondary memory 2.1.5 Identify the need for persistent storage Operating systems and application systems 2.1.6 Describe the main functions of an operating system 2.1.7 Outline the use of a range of application software 2.1.8 Identify common features of applications Binary representation 2.1.9 Define the terms: bit, byte, binary, denary/decimal, hexadecimal 2.1.10 Outline the way in which data is represented in the computer Simple logic gates 2.1.11 Define the Boolean operators: AND, OR, NOT, NAND, NOR, and XOR 2.1.12 Construct truth tables using the above operators 2.1.13 Construct a logic diagram using AND, OR, NOT, NAND, NOR, and XOR gates |
Computer Architecture and the Central Processing Unit (CPU)
- CPU Structure: The CPU is the ‘brain’ of the computer, responsible for interpreting and executing instructions. It consists of several key components:
- Arithmetic Logic Unit (ALU): Performs all arithmetic operations (such as addition and subtraction) and logical operations (such as AND, OR, NOT).
- Control Unit (CU): Manages the flow of data and instructions within the CPU, loading and decoding commands, and directing the operation of the ALU.
- Registers: Small, fast storage locations within the CPU used to temporarily hold data and instructions during processing.
- Von Neumann Architecture: Most modern computers are based on the Von Neumann model, which separates the system into a processor module (for calculations) and a memory module (for storing data and instructions).
2. Memory and Storage
- Primary Memory:
- RAM (Random Access Memory): Volatile memory used for the temporary storage of data and instructions that are actively being used by the CPU.
- ROM (Read-Only Memory): Non-volatile memory containing permanent instructions, such as the system’s firmware.
- Cache Memory: A small, high-speed memory located close to the CPU, used to store frequently accessed data and instructions to speed up processing.
- Persistent Storage:
- Needed to retain data when the computer is powered off.
- Examples include hard drives, SSDs, and other forms of secondary storage.
3. Operating Systems and Software
- Operating System (OS) Functions:
- Manages hardware resources and provides services for application software.
- Handles input/output operations, peripheral management (e.g., keyboard, mouse, printer), multitasking, and system security.
- Uses device drivers to communicate with hardware components.
- Application Software:
- Programmes designed for end-users, such as word processors, web browsers, and spreadsheets.
- Application software relies on the operating system to access hardware and system resources.
4. Data Representation
- Binary:
- The fundamental language of computers, using only two digits: 0 and 1.
- Each binary digit is called a bit; eight bits make a byte.
- Hexadecimal:
- Base-16 number system, using digits 0–9 and letters A–F.
- Used as a more human-friendly representation of binary values, as each hexadecimal digit corresponds to four binary digits (a nibble).
- Example: The binary number
0100 1111 0101is grouped into nibbles and converted into hexadecimal as4F5.
- Other Terms:
- Denary/Decimal: The base-10 number system, familiar in everyday use.
5. Logic and Decision Making
- Boolean Operators:
- AND, OR, NOT, NAND, NOR, XOR.
- Used to create logical expressions and circuits that form the basis of decision-making in computers.
- Truth Tables:
- Tables used to show all possible input combinations and their corresponding outputs for logical operators.
- Logic Diagrams:
- Visual representations of logical operations using standard symbols for each gate (AND, OR, NOT, etc.).
- Used in the design and analysis of digital circuits.
Summary Table
| Component/Concept | Description |
|---|---|
| CPU | Executes instructions; consists of ALU, CU, and registers |
| ALU | Performs arithmetic and logic operations |
| CU | Manages instruction execution and data flow |
| Registers | Temporary storage within the CPU |
| RAM | Volatile memory for active data |
| ROM | Non-volatile memory for permanent instructions |
| Cache | Fast memory for frequently used data |
| Persistent Storage | Retains data when powered off |
| Operating System | Manages hardware and software resources |
| Application Software | Programmes for end-users |
| Binary | Base-2 data representation |
| Hexadecimal | Base-16 data representation, more readable for humans |
| Boolean Logic | Logical operations and decision-making |
| Truth Tables | Show outputs for all logic input combinations |
| Logic Diagrams | Visual representation of logical circuits |
Topic 3 Network Fundamentals
Learning Aim:
In this topic, you will begin to understand how computing devices interconnect with each other and send information across the networks including the internet
What the syllabus says you need to know for this unit
3.1 Networking
| Network Architecture 3.1.1 Identify different types of networks. 3.1.2 Outline the importance of standards in the construction of networks. 3.1.3 Describe how communication over networks is broken down into different layers. 3.1.4 Identify the technologies required to provide a VPN. 3.1.5 Evaluate the use of a VPN. Data Transmission 3.1.6 Define the terms: protocol, data packet. 3.1.7 Explain why protocols are necessary. 3.1.8 Explain why the speed of data transmission across a network can vary. 3.1.9 Explain why compression of data is often necessary when transmitting across a network. 3.1.10 Outline the characteristics of different transmission media. 3.1.11 Explain how data is transmitted by packet switching. Wireless Networking 3.1.12 Outline the advantages and disadvantages of wireless networks. 3.1.13 Describe the hardware and software components of a wireless network. 3.1.14 Describe the characteristics of wireless networks. 3.1.15 Describe the different methods of network security. 3.1.16 Evaluate the advantages and disadvantages of each method of network security. |
1. Types of Networks
- LAN (Local Area Network): Connects computers within a limited area, such as a school or office.
- WAN (Wide Area Network): Spans large geographical areas, connecting multiple LANs (e.g., the Internet).
- WLAN (Wireless LAN): A LAN that uses wireless communication.
- VLAN (Virtual LAN): Groups devices from different physical LANs into a single logical network.
- SAN (Storage Area Network): Specialises in connecting storage devices.
- PAN (Personal Area Network): Covers a very small area, typically for personal devices (e.g., Bluetooth).
- VPN (Virtual Private Network): Creates a secure, encrypted connection over a public network.
- Extranet: Allows controlled access to outsiders.
- P2P (Peer-to-Peer): All computers act as both clients and servers.
Servers and Clients
- Server: Provides resources or services to other computers (clients) on the network.
- Client: Requests and uses resources provided by servers.
Key Hardware Components
- Hub: Connects devices in a network, sending data to all connected devices.
- Switch: Connects devices but sends data only to the intended recipient, reducing traffic.
- Router: Connects different networks and directs data between them.
2. Network Standards and Architecture
- Importance of Standards: Standards ensure compatibility and interoperability between devices and systems from different manufacturers. They define protocols, data formats, and electrical characteristics.
- Layered Architecture:
- Networks are structured in layers (e.g., the OSI model), each with specific responsibilities, facilitating troubleshooting and development.
3. Data Transmission
- Protocols: Agreed rules for data communication (e.g., TCP, IP). They define how data is formatted, transmitted, and received.
- Data Packets: Data is broken into small units called packets for transmission.
- Packet Switching: Each packet may take a different route to its destination, where packets are reassembled. This method is efficient and robust, allowing multiple communications to share the same network resources.
- Transmission Media: Includes copper cables, fibre optics, and wireless signals, each with its own characteristics regarding speed, cost, and reliability.
- Serial vs. Parallel Transmission: Serial sends data one bit at a time; parallel sends multiple bits simultaneously.
4. Factors Affecting Data Transmission
- Speed Variations: Influenced by bandwidth, network congestion, hardware limitations, and environmental factors.
- Data Compression: Reduces file size for faster transmission and efficient use of bandwidth.
5. Wireless Networking
- Advantages: Flexibility, ease of installation, and mobility.
- Disadvantages: Potentially lower speeds, interference, and security risks.
- Components: Wireless access points, network interface cards (NICs), and appropriate software.
- Characteristics: Coverage area, signal strength, and susceptibility to interference.
6. Network Security
- Security Methods:
- Encryption: Scrambles data to prevent unauthorised access.
- Firewalls: Block unauthorised traffic.
- MAC Address Filtering: Restricts network access to specific devices.
- User Authentication: Requires usernames and passwords.
- Evaluation: Each method has strengths and weaknesses; combining them improves security.
7. Virtual Private Networks (VPNs)
- Technologies Required: Encryption, tunnelling protocols, authentication mechanisms.
- Advantages: Secure remote access, privacy, and protection on public networks.
- Disadvantages: Potentially slower speeds, complexity, and reliance on correct configuration
Revision
Quiz yourself (Quizlet) or study more topic 3 Quizlet Terms.
Topic 4 Computational Thinking
Learning Aim:
In this topic, you will begin to understand the procedures in solving a problem and then applying this logic to a computer system
What the syllabus says you need to know for this unit
4.1 – General Principals (HL & SL)
| Thinking procedurally 4.1.1 Identify the procedure appropriate to solving a problem 4.1.2 Evaluate whether the order in which activities are undertaken will result in the required outcome 4.1.3 Explain the role of sub-procedures in solving a problem Thinking logically 4.1.4 Identify when decision-making is required in a specified situation 4.1.5 Identify the decisions required for the solution to a specified problem 4.1.6 Identify the condition associated with a given decision in a specified problem 4.1.7 Explain the relationship between the decisions and conditions of a system 4.1.8 Deduce logical rules for real-world situations Thinking ahead 4.1.9 Identify the inputs and outputs required in a solution 4.1.10 Identify pre-planning in a suggested problem and solution 4.1.11 Explain the need for pre-conditions when executing an algorithm 4.1.12 Outline the pre-and post-conditions to a specified problem 4.1.13 Identify exceptions that need to be considered in a specified problem solution Thinking concurrently 4.1.14 Identify the parts of a solution that could be implemented concurrently 4.1.15 Describe how concurrent processing can be used to solve a problem 4.1.16 Evaluate the decision to use concurrent processing in solving a problem Thinking abstractly 4.1.17 Identify examples of abstraction 4.1.18 Explain why abstraction is required in the derivation of computational solutions for a specified situation 4.1.19 Construct an abstraction from a specified situation 4.1.20 Distinguish between a real-world entity and its abstraction |
4.2 – Connecting computational thinking and program design (HL & SL)
| 4.2.1 Describe the characteristics of standard algorithms on linear arrays 4.2.2 Outline the standard operations of collections 4.2.3 Discuss an algorithm to solve a specific problem 4.2.4 Analyse an algorithm presented as a flow chart 4.2.5 Analyse an algorithm presented as pseudocode 4.2.6 Construct pseudocode to represent an algorithm 4.2.7 Suggest suitable algorithms to solve a specific problem 4.2.8 Deduce the efficiency of an algorithm in the context of its use 4.2.9 Determine the number of times a step in an algorithm will be performed for given input data |
4.3 – Introduction to programming (HL & SL)
| Nature of programming languages 4.3.1 State the fundamental operations of a computer 4.3.2 Distinguish between fundamental and compound operations of a computer 4.3.3 Explain the essential features of a computer language 4.3.4 Explain the need for higher-level languages 4.3.5 Outline the need for a translation process from a higher-level language to machine-executable code Use of programming languages 4.3.6 Define the terms: variable, constant, operator, object 4.3.7 Define the operators =, ., <, <=, >, >=, mod, div 4.3.8 Analyse the use of variables, constants, and operators in algorithms 4.3.9 Construct algorithms using loops, branching 4.3.10 Describe the characteristics and applications of a collection 4.3.11 Construct algorithms using the access methods of a collection 4.3.12 Discuss the need for sub-programmes and collections within programmed solutions 4.3.13 Construct algorithms using predefined sub-programmes, one-dimensional arrays, and/or collections |
All Assessments and Exams
Restricted
You must be logged in with a premium account to view this content. Click here to visit our shop.