Computational thinking, problem-solving and programming Flashcards
(29 cards)
What is concurrent implementation?
Concurrent implementation refers to situations where multiple parts of a system are developed or installed at the same time rather than one after the other.
What is concurrent processing?
Concurrent processing is when a computer executes multiple tasks or processes at the same time, giving the appearance of simultaneous execution.
What is abstraction?
Abstraction is the process of removing unnecessary details so you can focus on the important aspects of a problem or system.
What are standard algorithms on linear arrays?
Linear search, bubble sort, insertion sort, reversing an array, finding max/min or total.
What is a sequential search?
Sequential search is a standard algorithm that checks each element of an array one by one to find a target value.
What is a binary search?
A search algorithm that repeatedly divides a sorted array in half to find a target value.
What is bubble sort?
A sorting algorithm that repeatedly compares and swaps adjacent elements if they’re in the wrong order.
What is selection sort?
A sorting algorithm that repeatedly selects the smallest (or largest) element from the unsorted part and places it in the correct position.
What are the standard operations of collections?
Addition and retrieval of data, search, removal of data, update & sort.
What are standard algorithms?
These are commonly known and tested algorithms that solve general problems in a reliable, efficient way.
Eg. linear search, binary search, bubble sort, etc.
What are novel algorithms?
Novel algorithms are new or original algorithms created to solve a specific or unique problem not addressed by standard ones.
Often designed by the programmer during problem-solving, may combine or adapt standard algorithms, usually specific to a particular context or need.
What are the fundamental operations of a computer?
Add, compare, retrieve and store data.
What are compound operations of a computer?
Compound operations are made by combining multiple fundamental operations to complete a more complex task.
Eg. calculate an average.
What is the difference between fundamental and compound operations of a computer?
Fundamental operations are basic tasks a computer performs directly, while compound operations are more complex tasks built by combining several fundamental operations.
Examples include sorting a list or calculating an average.
What are the essential features of a computer language?
Fixed vocab, unambiguous meaning, consistent grammar and syntax.
Why do we need higher level languages?
Humans’ needs for computer systems have expanded and it would be impossible to construct the type of systems needed today using machine code.
What is the need for a translation process from a higher level language to machine executable code?
High-level languages must be translated into machine code for the CPU to execute them. This is done using a compiler, interpreter, or a virtual machine, which convert or run the code in a form the computer can understand.
What is a variable?
A named storage location in memory that can hold a value which may change during program execution.
What is a constant?
A named storage location whose value does not change during program execution.
Eg. pi.
What is an operator?
A symbol or keyword that performs an operation on one or more values or variables.
Example: + (addition), > (comparison), AND (logical operator).
What is an object?
An instance of a class that contains data (attributes) and behaviors (methods).
What are the characteristics and applications of a collection?
A collection is a dynamic and abstract data structure used to store and manage groups of related data items, typically of the same type.
Why are sub-programmes and collections needed within programmed solutions?
Sub-programmes (procedures or functions) and collections are essential for writing clear, efficient, and maintainable code.
Eg. code reuse, loops & algorithms.
Compiler
A program that translates the entire high-level source code into machine code before the program is run.