Your cart is empty
Too many selected pages
International Baccalaureate IB Computer Science
B.2.1.2 Substring Extraction & Edit
Construct programs that can extract and manipulate substrings. - Writing of programs that accurately identify and extract substrings from given strings, demonstrating the ability to perform various manipulations, such as altering, concatenating or replacing
B.2.3.1 Instruction Sequencing
Construct programs that implement the correct sequence of code instructions to meet program objectives. - The impact of instruction order on program functionality - Ways to avoid errors, such as infinite loops, deadlock, incorrect output
B.2.3.2 Using If-Else Constructs
Construct programs utilizing appropriate selection structures. - Must include: if, else, else if (Java), elif (Python), to execute different code blocks based on specified conditions - Selection structures with or without Boolean operators (AND, OR, NOT) and/or relational operators (<, <=, >, >=, ==, !=) to control program flow effectively
B.2.4.1 Algorithm Complexity & Big O
Describe the efficiency of specific algorithms by calculating their Big O notation to analyse their scalability. - The time and space complexities of algorithms and calculating Big O notation - Algorithm choice based on scalability and efficiency requirements
B.2.4.2 Linear vs Binary Search
Construct and trace algorithms to implement a linear search and a binary search for data retrieval. - The differences in efficiency between different methods of linear and binary search - Use of search technique based on efficiency requirements—for example, searching a database for a sorted/indexed list of names to find a phone number, versus searching by the number to identify the name
B.2.4.3 Bubble & Selection Sort
Construct and trace algorithms to implement bubble sort and selection sort, evaluating their time and space complexities. - The time and space complexities of each algorithm, denoted by their respective Big O notations - The advantages and disadvantages of each algorithm in terms of efficiency across various data sets
B.2.4.4 Recursion: Concepts & Apps
Explain the fundamental concept of recursion and its applications in programming. (HL only) - The fundamentals of recursion and its advantages and limitations - The utility of recursion in solving problems that can be broken down into smaller, similar subproblems - Recursive algorithms, including but not limited to quicksort - The limitations of recursion, including complexity and memory usage - Situations that best suit the use of recursion, including fractal image creation, traversing binary trees, sorting algorithms
B.2.4.5 Simple Recursive Algorithms
Construct and trace recursive algorithms in a programming language. (HL only) - Simple, non-branching recursive algorithms in programming only