SLR24 Flashcards

1
Q

What is abstraction in computing?

A

Abstraction is the process of separating ideas from specific instances of those ideas in work. It helps maximize the chance of solving a problem by letting us separate the components and deciding which matter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is an abstract model?

A

An abstract model is any model of a system that has been taken from or based on a real life situation or problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is recursion in programming?

A

Recursion is an advanced programming construct where a block of code (often a function) calls itself. It requires a terminating condition.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are functions in programming?

A

A function is a block of code given a unique identifiable name. It can take parameters and return a value.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are parameters in programming?

A

Parameters are data structures passed into a procedure or function when they are called.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the difference between passing by value and passing by reference?

A

Passing by value means a copy of the data is used within the subprogram. Passing by reference means the location (in memory) of the variable is used, and changes affect the variable in the main program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is concurrent processing?

A

Concurrent processing is when more than one thing is happening at the same time in the design or programming of a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is pipelining in computing?

A

Pipelining is when multiple machine instructions are decoded or processed in parallel, reducing processing time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is decomposition in problem-solving?

A

Decomposition involves breaking down a large problem into smaller parts that are easier to solve.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is object-oriented programming?

A

Object-oriented programming (OOP) is a programming paradigm based on the concept of objects which interact with one another. Example: Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the elements of computational thinking?

A

Elements of computational thinking include: compatibility, speed, human-computer collaboration, and recognizing problems that can be solved algorithmically.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is problem recognition?

A

Problem recognition involves recognizing a problem and using computational and intuitive methods to come up with a solution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is backtracking?

A

Backtracking is an algorithmic approach where partial solutions to a problem are built up, and if a solution fails, the search begins at the last potentially successful point.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is data mining?

A

Data mining involves searching through large datasets for relationships and facts not immediately obvious. Example: supermarket loyalty card schemes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What makes data mining possible?

A

Data mining is possible because of big databases and faster processing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is pipelining in computing?

A

Pipelining is the process where an instruction is fetched while the previous instruction is decoded, improving processing efficiency.

17
Q

What is visualization in problem-solving?

A

Visualization involves presenting data in an easy-to-understand form, such as graphs, which can make previously unnoticed facts and trends apparent.

18
Q

How does abstraction help in real-world problem-solving?

A

Abstraction makes solving real-world problems possible by separating and focusing on essential components, like using variables to represent real-world values.

19
Q

What are levels of abstraction?

A

Levels of abstraction involve creating higher-level abstractions to represent large problems and breaking them down into smaller components. This helps in focusing on one issue at a time.

20
Q

What is the benefit of layering in large systems?

A

Layering divides the functionality of a system into separate areas, making the system more manageable and easier to work with.

21
Q

What does thinking ahead in computer science involve?

A

Thinking ahead involves determining outputs, necessary actions, resources, and considering user expectations before writing a program.

22
Q

What does caching do?

A

Caching stores data in memory to speed up processes by avoiding the need to read it from slower storage, reducing load on web servers.

23
Q

What is the purpose of prefetching?

A

Prefetching anticipates instructions before they are needed and stores them in a cache, speeding up the process by reducing delay.

24
Q

What are reusable program components?

A

Reusable program components are existing code elements used in new software development, saving time and improving dependability.

25
Q

What are the benefits of reusable components?

A

Reusable components can increase dependability, reduce risk, and speed up development by saving time and ensuring standards compliance.

26
Q

What are the drawbacks of reusable components?

A

Drawbacks include potential maintenance costs, lack of support, and difficulty in adapting components to new environments.

27
Q

How did NASA think ahead with the New Horizons mission?

A

NASA considered factors like how to maintain equipment without onboard staff, cost, power requirements, speed, and how to collect and send information.

28
Q

What is the purpose of caching in systems?

A

Caching improves response time by storing frequently used data in memory to avoid re-reading from slower storage and reducing web server load.

29
Q

What is decomposition in problem-solving?

A

Decomposition is the process of breaking down a complex problem into smaller, manageable sub-problems that can be solved individually.

30
Q

What is the order in program planning?

A

Order may or may not be important. In event-driven situations, order may be unpredictable, but in others, specific order is necessary for successful execution.

31
Q

What is logical thinking in program design?

A

Logical thinking involves identifying decision points and planning a program using structured statements, pseudocode, or flowcharts.

32
Q

What is concurrent thinking in program design?

A

Concurrent thinking involves designing programs to execute multiple instructions simultaneously, improving processing efficiency.

33
Q

What are parallel processors?

A

Parallel processors enable different parts of a program to be executed simultaneously, improving processing power and efficiency.

34
Q

What is the advantage of multicore processors?

A

Multicore processors allow multiple tasks to be executed at the same time, improving speed and efficiency in programs.

35
Q

How can programs take advantage of parallel processors?

A

Programs need to be specifically written to use parallel processors to divide tasks, saving time but adding complexity.

36
Q

What are the potential disadvantages of parallel processors?

A

Programs using parallel processors can become longer and more complex, as they need to be written to handle parallel execution.

37
Q

How does decomposition aid in problem-solving?

A

Decomposition breaks large problems into smaller, more manageable sub-problems, often making them easier to solve.