Topic 4 - Computational thinking, problem-solving and programming
4.1 GENERAL PRINCIPLES
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.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 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
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 INTRODUCING TO PROGRAMMING
Nature of programming languages
4.3.1 State the fundamental operations of a computer
4.3.2 Distinguish between fundamental andcompound 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.
- State the fundamental operations of a computer
- Explain the essential features of a computer language.
- Define high level programming and low level languages (state some examples)
- Define compiler, debugger, virtual machine
- Define IDE (state some examples), GUI
- Define OOP (Oriented Objects Programming)
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.5 Outline the need for a translation process from a higher level language to machine executable code.
4.3.13 Construct algorithms using predefined sub-programmes, onedimensional arrays and/or collections. br>
- Solve the WORKSHOP 1 - One Dimesional Arrays
- Solve the MUSIC PLAYER exercise [CLICK HERE]
D. OBJECT - ORIENTED PROGRAMMING
D.2 Features of OOP
D.2.2 Define the term inheritanceD.2.5 Explain the advantages of inheritance