Computational Thinking - A Level Computer Science OCR

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/22

encourage image

There's no tags or description

Looks like no tags are added yet.

23 Terms

1
New cards

What is abstraction?

The process of removing detail from a problem to make it easier to approach, understand or solve.

2
New cards

What is data abstraction?

Where the details of how data is stored are hidden from the user.

3
New cards

What is a classic example of abstraction?

The London Underground map.

4
New cards

How does abstraction relate to the writing of code?

High-level languages are an abstraction of low-level languages, because high-level languages' syntax encompasses many lines of a low-level language into one line of code which is easier to remember and understand.

5
New cards

What is thinking procedurally?

The process of thinking of a large piece of code in terms of procedures.

6
New cards

How does thinking procedurally relate to abstraction?

Programmers work with a procedure interface rather than the actual code of the procedure. They do not need to fully understand the procedure's code to use it.

7
New cards

What is a procedure interface?

The format in which inputs and outputs are sent and received from a procedure, as well as the name of the procedure.

8
New cards

What is decomposition?

Where a large task is broken down into smaller tasks which are individually solved.

9
New cards

How does decomposition relate to thinking procedurally?

A program is broken down into procedures, which are individually written.

10
New cards

What are the benefits of using procedures? (3)

- Code becomes more maintainable, as the procedure causing an issue can be identified and focused on.

- Easier for team members to work on code together, as they do not need to understand how the procedures work, and can be assigned to work on different procedures.

- Code is reusable so time is saved as code does not need to be rewritten.

11
New cards

What is pattern recognition?

The process of recognising that a problem is a variation of one that has already been solved.

12
New cards

How can pattern recognition be used when a team starts a project?

The team can recognise where they have written code which would be appropriate for the project, and reuse that code, making small tweaks if necessary.

13
New cards

What is divide and conquer?

The process of breaking down a problem into smaller parts, solving these individually, and piecing them together for the solution.

14
New cards

What are the key examples of divide and conquer algorithms? (3)

- Merge Sort

- Quick Sort

- Binary Search

15
New cards

What is thinking logically?

Understanding the flow of a program and the boolean operations that are a part of it.

16
New cards

What are the components that control the flow of a program? (3)

- Sequence

- Selection

- Iteration

17
New cards

What is problem recognition?

The process of recognising where a problem is occurring, the cause of the problem, and conceptualising a solution to the problem.

18
New cards

When is a problem classed as 'solvable'?

If every instance of it can be solved within a limited number of instructions.

19
New cards

What is problem solving?

The process of creating an algorithm which will consistently produce the solution to a problem.

20
New cards

What is thinking concurrently?

Understanding potential issues that may arise if two operations attempt to take place at the same time.

21
New cards

How is thinking concurrently used in databases?

Record locking protects any records which are needed by a specific transaction from being accessed by other transactions.

22
New cards

What is thinking ahead?

Thinking about issues which may arise in a solution and how to handle them in the best way possible, as well as thinking about the future needs of a user.

23
New cards

What is an example of thinking ahead relating to operating systems?

Caching; the operating system predicts which resources will be needed in the near future, and caches them for future use.