Topic 4

For topic 4 , understanding and using Pseudocode is very important. There are two official IB pseudocode guides (see links page), and an online version to help you practice (thanks to Dave Mulkey of FIS!)

Click on the Topic code (e.g. 4.1.1) to download the class slideshow on that topic:

4.1 – General Principals (HL & SL)

Thinking procedurally   
4.1.1Identify the procedure appropriate to solving a problem4.1.1
4.1.2Evaluate whether the order in which activities are undertaken will result in the required outcome4.1.2
4.1.3Explain the role of sub-procedures in solving a problem4.1.3
Thinking logically
4.1.4Identify when decision-making is required in a specified situation4.1.4
4.1.5Identify the decisions required for the solution to a specified problem4.1.5
4.1.6Identify the condition associated with a given decision in a specified problem4.1.6
4.1.7Explain the relationship between the decisions and conditions of a system 4.1.7
4.1.8Deduce logical rules for real-world situations4.1.8
Thinking ahead
4.1.9Identify the inputs and outputs required in a solution4.1.9
4.1.10Identify pre-planning in a suggested problem and solution4.1.10
4.1.11Explain the need for pre-conditions when executing an algorithm4.1.11
4.1.12Outline the pre- and post-conditions to a specified problem4.1.12
4.1.13Identify exceptions that need to be considered in a specified problem solution4.1.13
Thinking concurrently
4.1.14Identify the parts of a solution that could be implemented concurrently4.1.14
4.1.15Describe how concurrent processing can be used to solve a problem4.1.15
4.1.16Evaluate the decision to use concurrent processing in solving a problem4.1.16
Thinking abstractly
4.1.17Identify examples of abstraction4.1.17
4.1.18Explain why abstraction is required in the derivation of computational solutions for a specified situation4.1.18
4.1.19Construct an abstraction from a specified situation4.1.19
4.1.20Distinguish between a real-world entity and its abstraction4.1.20

4.2 – Connecting computational thinking and program design (HL & SL)

4.2.1Describe the characteristics of standard algorithms on linear arrays 4.2.1
4.2.2Outline the standard operations of collections 4.2.2
4.2.3Discuss an algorithm to solve a specific problem 4.2.3
4.2.4Analyse an algorithm presented as a flow chart 4.2.4
4.2.5Analyse an algorithm presented as pseudocode 4.2.5
4.2.6Construct pseudocode to represent an algorithm 4.2.6
4.2.7Suggest suitable algorithms to solve a specific problem 4.2.7
4.2.8Deduce the efficiency of an algorithm in the context of its use 4.2.8
4.2.9Determine the number of times a step in an algorithm will be performed for given input data 4.2.9

4.3 – Introduction to programming (HL & SL)

Nature of programming languages 
4.3.1State the fundamental operations of a computer4.3.1
4.3.2Distinguish between fundamental and compound operations of a computer 4.3.2
4.3.3Explain the essential features of a computer language4.3.3
4.3.4Explain the need for higher level languages4.3.4
4.3.5Outline the need for a translation process from a higher level language to machine executable code4.3.5
Use of programming languages
4.3.6Define the terms: variable, constant, operator, object 4.3.6
4.3.7Define the operators =, ., <, <=, >, >=, mod, div 4.3.7
4.3.8Analyse the use of variables, constants and operators in algorithms 4.3.8
4.3.9Construct algorithms using loops, branching 4.3.9
4.3.10Describe the characteristics and applications of a collection4.3.10
4.3.11Construct algorithms using the access methods of a collection 4.3.11
4.3.12Discuss the need for sub-programmes and collections within programmed solutions 4.3.12
4.3.13Construct algorithms using predefined sub-programmes, one-dimensional arrays and/or collections 4.3.13