How do we think about problems in a way which makes them solvable for a computer?
Computational thinking asks us to "think about a problem in a way it could be solved by a computer".
Our big questions (used with gratitude from wikipedia):
Identify the procedure appropriate to solving a problem.
Evaluate whether the order in which activities are undertaken will result in the required outcome.
Explain the role of sub-procedures in solving a problem.
Identify when decision-making is required in a specified situation.
Identify the decisions required for the solution to a specified problem.
Identify the condition associated with a given decision in a specified problem.
Explain the relationship between the decisions and conditions of a system.
Deduce logical rules for real-world situations.
Identify the inputs and outputs required in a solution.
Identify pre-planning in a suggested problem and solution.
Explain the need for pre-conditions when executing an algorithm.
Outline the pre- and post-conditions to a specified problem.
Identify exceptions that need to be considered in a specified problem solution.
Identify the parts of a solution that could be implemented concurrently.
Describe how concurrent processing can be used to solve a problem.
Evaluate the decision to use concurrent processing in solving a problem.
Identify examples of abstraction.
Explain why abstraction is required in the derivation of computational solutions for a specified situation.
Construct an abstraction from a specified situation.
Distinguish between a real-world entity and its abstraction.
Describe the characteristics of standard algorithms on linear arrays.
Outline the standard operations of collections.
Discuss an algorithm to solve a specific problem.
Analyse an algorithm presented as a flow chart.
Analyse an algorithm presented as pseudocode.
Construct pseudocode to represent an algorithm.
Suggest suitable algorithms to solve a specific problem.
Deduce the efficiency of an algorithm in the context of its use.
Determine the number of times a step in an algorithm will be performed for given input data.
State the fundamental operations of a computer.
Distinguish between fundamental and compound operations of a computer.
Explain the essential features of a computer language.
Explain the need for higher level languages.
Outline the need for a translation process from a higher level language to machine executable code.
Define the terms: variable, constant, operator, object.
Define the operators =, =?, <, <=, >, >=, mod, div.
Analyse the use of variables, constants and operators in algorithms.
Construct algorithms using loops, branching.
Describe the characteristics and applications of a collection.
Construct algorithms using the access methods of a collection.
Discuss the need for sub-programmes and collections within programmed solutions.
Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.
These are only displayed for our current academic year (2021 - 2022).
|Monday 30 August 2021||3||grade_11|
|Monday 30 August 2021||4||grade_11|
|Wednesday 1 September 2021||3||grade_11 programming|
|Wednesday 1 September 2021||4||grade_11|
|Friday 3 September 2021||3||grade_11|
|Friday 3 September 2021||4||grade_11|
|Tuesday 7 September 2021||3||grade_11 programming python|
|Tuesday 7 September 2021||4||grade_11 programming python|
|Thursday 9 September 2021||3||grade_11|
|Thursday 9 September 2021||4||grade_11|
|Monday 13 September 2021||4||grade_11|
|Monday 27 September 2021||6||grade_12|
|Wednesday 29 September 2021||5||grade_12|
|Wednesday 29 September 2021||6||grade_12|
|Monday 4 October 2021||6||grade_12|
|Wednesday 6 October 2021||5||grade_12 formative|
|Wednesday 6 October 2021||6||grade_12|
|Friday 8 October 2021||5||grade_12 data_representation|
|Friday 8 October 2021||6||grade_12|
|Monday 15 November 2021||6||grade_12 ia sub|
|Tuesday 23 November 2021||6||grade_12|