Unit 1 Flashcards
What are the skills of computational thinking
Decomposition
Pattern recognition
Pattern generalisation and abstraction
Algorithm design
What is Decomposition
- Identifying and describing problems and processes.
- Breaking down problems and processes into distinct steps.
- Describing problems and processes as a set of structured steps.
- Communicating the key features of problems and processes to others.
What is pattern recognition
- Identifying common elements or features in problems or systems.
- Identifying and interpreting common differences between processes or problems.
- Identifying individual elements within problems.
- Describing patterns that have been identified.
- Making predictions based on identified patterns.
What is Abstraction
• Identifying information that is necessary to solve an identified problem.
• Filtering out information that is not needed to solve an identified problem.
• Representing parts of a problem or system in general terms by identifying:
o variables
o constants
o key processes
o repeated processes
o inputs
o outputs.
Label these flowchart symbols
What are the key data types
o alphanumeric strings
o arrays
o Boolean
o characters
o date/time
o floating point (real)
o integers
o objects
o records
o sets
o strings.
What is a record (or structure)
A record is a set layout for holding multiple different types of data in one object. For example a use for a record would be storing information about students in a school
What is a stack ( and name a use for one )
A stack is a LIFO (Last In First Out) data structure that has numorus uses.
The last in first out nature of a stack makes them incredibly useful for things like recursive algorithms.
What is a queue (and name a use for one)
A queue is a FIFO (First In First Out) data structure. the name makes it pretty obvious how it works. A use for a queue could be queuing commands to be sent to a server, or even something like orders to be made at a resturant
What is a set
A set is a data type that can hold unique values, without a particular order. A set can be used with other sets to find items that are shared across sets among other uses
Create a list of 5 random numbers and sort it on paper using bubble sort
If your sorting looks similar to this you did it right
Name 1 pros and 2 cons of bubble sort
Pro: Simple to implement / understand
Cons: Slow, Practically useless, rarely avalible in libraries so the developer will have to implement it by hand whereas with other algorithms it may be built into the language already
Make a list of 6 random numbers and sort it using quick sort
if it is done something like this it has been done correctly
Name 2 Pros and 2 Cons of quick sort
Pros: Very fast, Comes pre implemented with most coding languages
Cons: Complex, its worst case speed is very slow
Make a list of 6 numbers and sort it using insertion sort
if it looks like this it should be correct