Computational-thinking retrieval + static/dynamic structures, arrays and lists
Computational thinking gives you a language-independent way to specify, decompose and solve problems before you worry about syntax. Programming fundamentals turn algorithms into reliable executable procedures. Scope, data types, debugging and exceptions all affect correctness.
What you need to be able to do
- ConstructA problem specification
- DescribeThe fundamental concepts of computational thinking
- ExplainHow applying computational thinking to fundamental concepts is used to approach and solve problems in computer science
- Construct + traceAnd trace programs using a range of global and local variables of various data types
- CompareStatic and dynamic data structures
Rapid Recall Deck
Say the answer aloud before flipping. Mark secure knowledge quickly and spend time on the gaps.
- What should a strong problem specification define?: A problem statement, constraints and limitations, objectives and goals, input specifications, output specifications, and evaluation criteria.
- What are the four fundamental concepts of computational thinking?: Abstraction, algorithmic design, decomposition, and pattern recognition.
- What is abstraction in computational thinking?: Abstraction focuses on the essential features of a problem while hiding or ignoring detail that is not relevant to the current solution.
- How do decomposition and pattern recognition support problem-solving?: Decomposition breaks a complex problem into smaller parts; pattern recognition identifies similarities that can suggest reusable approaches or algorithms.
- What is the difference between a global variable and a local variable?: A global variable is accessible across a wider program scope; a local variable exists only within the block, function, or method where it is defined.
- What are the five basic data types used in these programming lessons?: Boolean value, char, decimal, integer, and string.
- What is the key difference between a static and a dynamic data structure?: A static structure has a fixed size once allocated, while a dynamic structure can grow or shrink as the program runs.
- What operations should you be able to perform on a dynamic list?: Add elements, remove elements, and traverse the list. In Java this includes ArrayList; in Python, Lists are dynamic.
- Which array and list dimensions are used in the programming syllabus?: One-dimensional and two-dimensional structures: 1D/2D arrays and ArrayLists in Java, and 1D/2D Lists in Python.
Core knowledge and application
A problem specification
Computational thinking gives you a language-independent way to specify, decompose and solve problems before you worry about syntax.
Explain it without notes
Construct: A problem specification in the context of a school study-room recommendation system.
- The specification of a problem may include a problem statement, constraints and limitations, objectives and goals, input specifications, output specifications, evaluation criteria
The fundamental concepts of computational thinking
Computational thinking gives you a language-independent way to specify, decompose and solve problems before you worry about syntax.
Explain it without notes
Describe: The fundamental concepts of computational thinking in the context of a school study-room recommendation system.
- Abstraction, algorithmic design, decomposition, pattern recognition
Core knowledge and application
How applying computational thinking to fundamental concepts is used to approach and solve problems in computer science
Computational thinking gives you a language-independent way to specify, decompose and solve problems before you worry about syntax.
Explain it without notes
Explain: How applying computational thinking to fundamental concepts is used to approach and solve problems in computer science in the context of a school study-room recommendation system.
- Computational thinking does not necessarily involve programming—it is a toolkit of available techniques for problem-solving
- Real-world examples may include software development, data analysis, machine learning, database design, network security
And trace programs using a range of global and local variables of various data types
Programming fundamentals turn algorithms into reliable executable procedures. Scope, data types, debugging and exceptions all affect correctness.
Explain it without notes
Construct + trace: And trace programs using a range of global and local variables of various data types in the context of a student-record processing program.
- Data types: Boolean value, char, decimal, integer, string
Core knowledge and application
Static and dynamic data structures
Data structures organize information so that operations are efficient, understandable and appropriate to the problem.
Explain it without notes
Compare: Static and dynamic data structures in the context of a scheduling application with changing data.
- The fundamental differences between static and dynamic data structures, including their underlying mechanisms for memory allocation and resizing
- The advantages and disadvantages of each type in various scenarios, considering factors such as speed, memory usage, flexibility
Programs that apply arrays and Lists
Data structures organize information so that operations are efficient, understandable and appropriate to the problem.
Explain it without notes
Construct: Programs that apply arrays and Lists in the context of a scheduling application with changing data.
- One-dimensional (1D) arrays, two-dimensional (2D) arrays, ArrayLists in Java
- One-dimensional (1D) Lists and two-dimensional (2D) Lists in Python
- Add, remove and traverse elements in a dynamic list
Programming checkpoint
scores = [72, 88, 91]
scores.append(84)
for score in scores:
if score >= 80:
print(score)ArrayList<Integer> scores = new ArrayList<>();
scores.add(72);
scores.add(88);
scores.add(91);
scores.add(84);
for (int score : scores) {
if (score >= 80) System.out.println(score);
}Modify it
Change one condition, input or operation so the program solves a slightly different problem. Predict the effect before editing.
Transfer to a new scenario
- The specification of a problem may include a problem statement, constraints and limitations, objectives and goals, input specifications, output specifications, evaluation criteria
- Abstraction, algorithmic design, decomposition, pattern recognition
- Computational thinking does not necessarily involve programming—it is a toolkit of available techniques for problem-solving
- Real-world examples may include software development, data analysis, machine learning, database design, network security
- Data types: Boolean value, char, decimal, integer, string
- The fundamental differences between static and dynamic data structures, including their underlying mechanisms for memory allocation and resizing
- The advantages and disadvantages of each type in various scenarios, considering factors such as speed, memory usage, flexibility
Paper 2 practice
- Construct: A problem specification in the context of a school study-room recommendation system.
- Describe: The fundamental concepts of computational thinking in the context of a school study-room recommendation system.
- Explain: How applying computational thinking to fundamental concepts is used to approach and solve problems in computer science in the context of a school study-room recommendation system.
Finish the learning cycle
IA — main task
Refine Criteria A/B/C. Use today’s lesson to make the problem specification, decomposition, algorithms or testing plan more precise where relevant.
Syllabus — 10–15 min
Repeat the recall deck and complete the lesson response prompt without model support.