Please enable JavaScript.
Coggle requires JavaScript to display documents.
Computational Thinking - Coggle Diagram
Computational Thinking
Decomposition & Abstraction
Decomposition
Breaking down into smaller parts. Both problems and solutions can be decomposed into smaller parts
Subprograms
Revision planner
Abstraction
The process of removing or hiding unnecessary details so that only the most important points remain
Baking a cake
Driving a car
Subprograms
A self-contained block of code that performs a certain task. It can be
called
by a main program when necessary
Algorithms
Representation of algorithms
Trace Tables
Using a table to show how variables vary throughout the course of a program
Plain English
Python
Pseudocode
Flowcharts
Diamonds
Decisions
Parallelograms
Input/output
Rectangles
Process
Ovals
Start/finish
Two rectangles in each other
Sub-program call
Operators
Arithmetic
Addition (+)
Subtraction (-)
Division (/)
Multiplication (*)
Modulus (%)
The remainder that is left over after when a number is divided by another
Integer division (//)
The whole number that of integers that the number can be divided by
Powers (**)
Relational
Equal to (==)
Less than (<)
More than (>)
Less than or equal to (<=)
More than or equal to (>=)
Logical
Types of errors
Syntax Errors
Errors in the use of programming language
Missing ','
Missing/excessive indentation
Runtime Errors
Errors which cause a program to crash
'Divide by zero'
'Index out of range'
Logic Errors
Errors which cause incorrect or unwanted behaviours
Using the wrong operator
Mixing up two variable names
Version Control
Who
What
When
Searching and Sorting Algorithms
Bubble Sort
Sorting through a list, comparing the two left-most, then switching if needs be and continuing all the way until the end, which is the end of a
Pass
, before repeating until all is sorted
Very slow
Merge Sort
Sorting through a list, by dividing it up into individual characters, before grouping them together in factors of two, sorting between them until they are all sorted
Quick
Linear Search
Searching through an unsorted list, comparing each value to the one that is trying to be found
Very slow
Binary Search
Searching through a sorted list, comparing the middle value, and halving it and repeating that until the value is found
Very quick
Boolean
AND
OR
NOT
Truth Tables
Core Programming concepts
Sequencing
Putting something in the right order
Selection
Choices and decisions
Repetition
Repeating an action
Iteration
Repeating an action over a data structure
Sub-programs
Procedure
Does not return anything at the end
Function
Returns something at the end
Data Structures
Arrays (Homogeneous)
Items are all of the same data type
Records (Heterogeneous)
Items
could
be of different data types
List
Python's version