H446 Section 10 Computational Thinking

studied byStudied by 4 people
5.0(1)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions
Get a hint
Hint

Computational Thinking

1 / 42

43 Terms

1

Computational Thinking

A problem-solving process that involves breaking down complex problems into manageable parts, using algorithms and abstraction to develop solutions. It emphasizes logical reasoning and the ability to think like a computer scientist.

New cards
2

Abstraction

The process of simplifying complex systems by focusing on the essential features while ignoring the irrelevant details.

New cards
3

Data Abstraction

A method of reducing complexity by providing a simplified view of data, allowing programmers to focus on high-level operations without needing to understand the intricate details of the data structures e.g. through the use of queues, stacks or trees.

New cards
4

Preconditions

Conditions that must be true before a function or algorithm is executed to ensure it operates correctly.

New cards
5

Dynamic Link Library

A collection of reusable code and resources that can be used by multiple programs simultaneously, allowing for efficient memory usage and modular programming.

New cards
6

Caching

A technique that stores copies of frequently accessed data in a temporary storage location, improving data retrieval speed and overall system performance.

New cards
7

Thinking Ahead

The process of anticipating future requirements or outcomes in problem-solving and designing algorithms, often to optimize performance and efficiency.

New cards
8

Thinking Abstractly

The ability to simplify complex problems by focusing on the main ideas and concepts, allowing for more effective problem-solving and algorithm design.

New cards
9

Thinking procedurally

The approach of breaking down tasks into a series of sequential steps or instructions, which can be followed to produce a desired outcome or solve a problem.

New cards
10

Thinking logically

The ability to reason through problems in a structured way, ensuring that conclusions follow from given premises and leading to sound problem-solving and algorithm development.

New cards
11

Thinking concurrently

The ability to understand and manage multiple tasks or processes happening at the same time, often used in programming and systems design to improve efficiency and performance.

New cards
12

Procedural abstraction

The practice of simplifying complex processes by defining a series of steps or functions that can be reused without needing to understand the underlying details, focusing on the 'what' rather than the 'how'.

New cards
13

Procedure interface

New cards
14

Problem decomposition

The process of breaking down a complex problem into smaller, more manageable sub-problems, making it easier to develop solutions and understand the overall structure.

New cards
15

Hierarchy chart

New cards
16

Clarity

The quality of being clear and understandable, which is essential in programming to ensure that code is easy to read, maintain, and debug.

New cards
17

Maintainability

The ease with which a software system can be updated, modified, or enhanced after its initial development, ensuring it remains functional and relevant over time.

New cards
18

block-structured language

A programming language that uses blocks to define the structure and flow of code, allowing for better organization and readability.

New cards
19
New cards
20
New cards
21

Parallel computing

A type of computation in which many calculations or processes are carried out simultaneously, leveraging multiple processors or computers to solve complex problems more efficiently.

New cards
22

Concurrent processing

A method of computing where multiple tasks are executed during overlapping time periods, allowing for efficient use of resources and improved system performance.

New cards
23

Benefits of concurrent processing

Includes improved resource utilization, increased system throughput, and enhanced responsiveness in applications but programs may take longer to complete if not managed properly due to potential contention for resources.

New cards
24

Benefits of parallel processing

Includes faster computation, improved performance for large tasks, and better resource allocation across multiple processors but may require complex programming and synchronization.

New cards
25

Computable problem

A problem for which an algorithm can be constructed to provide a solution in a finite amount of time.

New cards
26

Enumeration

A systematic listing of all possible values or configurations of a problem (exhaustive search), often used in algorithms to ensure completeness. Can be inefficient.

New cards
27
New cards
28

Top down design

A problem-solving approach that breaks down a system into smaller, manageable components, starting from the highest level of abstraction and progressively refining details.

New cards
29

Problem abstraction

The process of simplifying complex systems by focusing on the essential features while ignoring irrelevant details to reduce to a problem that has already been solved.

New cards
30

Graph unfolding

A technique used in computational thinking to represent complex graphs in a simplified manner, making it easier to analyze and understand their structure and properties.

New cards
31

Automation

Creating and putting into action models to solve problems.

New cards
32

Visualisation

The process of representing data or information in a visual context, such as charts or graphs, to make it easier to understand and analyze.

New cards
33

Backtracking

A problem-solving algorithm that incrementally builds candidates for solutions and abandons candidates as soon as it determines that they cannot lead to a valid solution.

New cards
34

Data mining

The practice of examining large datasets to uncover patterns, correlations, or trends that can inform decision-making and predictions.

New cards
35

Big data

Extremely large datasets that require advanced tools and techniques to store, process, and analyze, often to reveal insights and trends.

New cards
36

Intractable problems

Problems for which no efficient solution algorithm exists, making them impractical to solve in a reasonable time frame.

New cards
37

Travelling Salesman problem

A classic optimization problem that seeks the shortest possible route for a salesman to visit each city exactly once and return to the origin city. An example of an intractable problem

New cards
38

Brute-force method

A straightforward approach to solving problems by systematically enumerating all possible solutions and selecting the best one, often used for small datasets.

New cards
39

Time complexity

A computational measure that describes the amount of time an algorithm takes to complete as a function of the length of the input.

New cards
40

Heuristic method

A problem-solving approach that uses practical techniques or shortcuts to produce solutions that may not be optimal but are sufficient for reaching immediate goals. Heuristics are often used in complex problems where finding an exact solution is impractical.

New cards
41

Performance modelling

The process of creating abstract representations of a system's performance metrics to analyze and predict its behavior under various conditions. This technique helps in understanding resource usage and system efficiency.

New cards
42

Pipelining

A technique of splitting tasks into smaller parts and overlapping the processing of each part of the task. Commonly used in the fetch-decode-execute cycle of computer processors to improve instruction throughput and overall performance.

New cards
43
New cards

Explore top notes

note Note
studied byStudied by 38 people
83 days ago
5.0(1)
note Note
studied byStudied by 26 people
196 days ago
5.0(1)
note Note
studied byStudied by 802 people
648 days ago
5.0(2)
note Note
studied byStudied by 24 people
651 days ago
5.0(1)
note Note
studied byStudied by 170 people
840 days ago
5.0(3)
note Note
studied byStudied by 15 people
660 days ago
4.0(1)
note Note
studied byStudied by 7 people
833 days ago
5.0(1)
note Note
studied byStudied by 4701 people
1321 days ago
5.0(1)

Explore top flashcards

flashcards Flashcard (48)
studied byStudied by 5 people
371 days ago
5.0(1)
flashcards Flashcard (64)
studied byStudied by 15 people
657 days ago
4.0(1)
flashcards Flashcard (31)
studied byStudied by 12 people
311 days ago
5.0(1)
flashcards Flashcard (35)
studied byStudied by 19 people
443 days ago
5.0(1)
flashcards Flashcard (87)
studied byStudied by 17 people
763 days ago
5.0(2)
flashcards Flashcard (94)
studied byStudied by 35 people
515 days ago
5.0(1)
flashcards Flashcard (48)
studied byStudied by 222 people
357 days ago
4.7(3)
flashcards Flashcard (62)
studied byStudied by 20 people
157 days ago
5.0(1)
robot