CS - Elements of computational thinking 2.1.1

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/16

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

17 Terms

1
New cards
What is represenational abstraction
removing uneccesary details from a complex problem, to represent the problem as only consisting of its key features.
2
New cards
data abstraction
Details of how data is processed and stored os hidden, as a result, programmers can make use of ADS such as queues. The highest level of abstraction is closest to the user, usually as a user interface.
3
New cards
abstraction by generalisation
involves grouping together similarities within a problem to identify what type of problme it is.
4
New cards
what is the advantages of abstraction
This enables for more fficient design during software development as programmers can focus on elements that are necessary. This reduces time and resources spent on the project, and prevents it from getting unneccesrily large.
5
New cards
Abstarction vs reality
Abstarction is a simpified version of reality. Entities are represented as real-life values that can be stored as values. attributes are an abstarction for the characteristics for the real world entities.
6
New cards
what is meant by thinking ahead
process of a programmer planning their code to ensure an efficient outcome through using caching/ pre-fetching.
7
New cards
what are pre-conditions
these are requirments whcih must be met before a program can run. by ensuring these conditions are met, subroutines are made more reusable.
8
New cards
What is an argument
values passed into the parameters of subroutines.
9
New cards
What is caching
process of storing instructions in cache memory after they have been used as they may be used agian. this saves time which would be needed to go to SS and retrieve it fomr there, common caching includes web caching which is when frequent web pages are stored in cache so that it can be loaded quickly and also freeing up bandwidth.
10
New cards
What is pre-fetching
when algorithms predict which instrcutions are likely to be soon fetched. these instrcutions are loaded into cache before they are fetched, therefopre less time is spent waiting for instrcutions to be loaded into Ram.
11
New cards
reusable program components
commonly used functions are packaged into libraries for reuse, teams working on lare projects can import these subroutines. these are more reliable as they have already been tested on. saves time, money and resources. they can be used in projects whichc can rduce development costs.
12
New cards
what is a procedure and what is the difference between a function.
this is a named block of code that has computational steps and must be called for it to run. A fuction is a procedure that returns one or more values and a procedure doesnt return any value.
13
New cards
what are the benefits of procedural programming
splitting code into smaller chunks allows easier debugging, it can be called many times, it can be saved into libraries. large development teams can develop subroutines concurrently
14
New cards
what are the disadvantages of procedural programming
it uses global variables which means that when acessing it, it can be hard to debug where its value has changed.
15
New cards
what is concureent processing
Concurrent processing refers to the execution of multiple tasks or processes at the same time. It is a computing paradigm that allows for efficient utalisation of resources and improved system performance. In concurrent processing, multiple tasks are executed concurrently, either simultaneously or in overlapping time intervals. e,g multithreading, parallel processing
16
New cards
what are the advantages of concurrent processing
number of tasks completed within a time frame increase therefore more efficient use of the processor,less time waiting for input therefore less hardware botlleknecking.
17
New cards
What are the disadvantages of concurent processing
it can take longer to complete when a large number of tasks are being processed. not all tasks are suitable to be broken up and performed concurrently.