Thinking abstractly Flashcards

Elements of computational thinking

1
Q

What is abstraction?

A

Abstraction is a representation of reality, hiding non-essential detail and focusing on key elements of a problem.

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

What are the examples of abstraction?

A
  • Variables
  • Objects
  • Layers
  • Data models
  • Data structures
  • Entity-relationship diagrams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define computational thinking.

A

A set of problem-solving methods that express problems and solutions in ways that a computer could execute.

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

What is data abstraction?

A

Using a data structure without being concerned about how it is implemented.

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

What is generalisation in the context of abstraction?

A

Grouping together items with similar features that are relevant to the problem, allowing for reuse of approaches to solutions.

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

True or False: All high-level coding is an abstraction.

A

True

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

What does abstraction enable programmers to focus on?

A

The important aspects of a problem rather than unnecessary detail.

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

What is layering in programming?

A

Organising programs into separate functional components that interact in a hierarchical way.

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

What is a data model?

A

An abstract model that organises elements of data and how they relate to one another and to real-world entities.

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

What is an entity-relationship diagram?

A

A graphical model to represent the relationships between different entities.

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

What is the purpose of generalisation?

A

Solving new problems based on previous problems with existing solutions.

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

Fill in the blank: An object in programming is an _______.

A

[abstract data type]

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

What factors should be considered when devising an abstract model for a computer program?

A
  • Can the problem be solved using a computer program?
  • What are the key features of the problem?
  • How will it be used?
  • Who will be using it?
  • What is the skill set of the target user group?
  • What features are required by the target audience for the program?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does thinking ahead in computing help programmers?

A

It provides insights into planning inputs and outputs for software functionality.

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

What is an example of abstraction in TCP/IP layers?

A

Each layer does not need to know how the others work and can be developed independently.

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

What is the significance of removing unnecessary details when designing an abstract model?

A

It allows the programmer to focus on essential features and improves efficiency.