Computer-Science-A-level-Ocr
-
3-3-networks8 主题
-
3-2-databases7 主题
-
3-1-compression-encryption-and-hashing4 主题
-
2-5-object-oriented-languages7 主题
-
2-4-types-of-programming-language4 主题
-
2-3-software-development5 主题
-
2-2-applications-generation6 主题
-
2-1-systems-software8 主题
-
1-3-input-output-and-storage2 主题
-
1-2-types-of-processor3 主题
-
1-1-structure-and-function-of-the-processor1 主题
-
structuring-your-responses3 主题
-
the-exam-papers2 主题
-
8-2-algorithms-for-the-main-data-structures4 主题
-
8-1-algorithms10 主题
-
7-2-computational-methods11 主题
-
7-1-programming-techniques14 主题
-
capturing-selecting-managing-and-exchanging-data
-
entity-relationship-diagrams
-
data-normalisation
-
relational-databases
-
hashing
-
symmetric-vs-asymmetric-encryption
-
run-length-encoding-and-dictionary-coding
-
lossy-and-lossless-compression
-
polymorphism-oop
-
encapsulation-oop
-
inheritance-oop
-
attributes-oop
-
methods-oop
-
objects-oop
-
capturing-selecting-managing-and-exchanging-data
-
6-5-thinking-concurrently2 主题
-
6-4-thinking-logically2 主题
-
6-3-thinking-procedurally3 主题
-
6-2-thinking-ahead1 主题
-
6-1-thinking-abstractly3 主题
-
5-2-moral-and-ethical-issues9 主题
-
5-1-computing-related-legislation4 主题
-
4-3-boolean-algebra5 主题
-
4-2-data-structures10 主题
-
4-1-data-types9 主题
-
3-4-web-technologies16 主题
-
environmental-effects
-
automated-decision-making
-
computers-in-the-workforce
-
layout-colour-paradigms-and-character-sets
-
piracy-and-offensive-communications
-
analysing-personal-information
-
monitoring-behaviour
-
censorship-and-the-internet
-
artificial-intelligence
-
the-regulation-of-investigatory-powers-act-2000
-
the-copyright-design-and-patents-act-1988
-
the-computer-misuse-act-1990
-
the-data-protection-act-1998
-
adder-circuits
-
flip-flop-circuits
-
simplifying-boolean-algebra
-
environmental-effects
concurrency-in-problem-solving
Determine the Parts of a Problem That Can Be Tackled at the Same Time
What is concurrent computing?
-
Concurrent computing is usually confused with parallel computing, especially when both terms are often used interchangeably. While both are related, they are distinct
-
Concurrent computing allows multiple processes/tasks to run on a single processor by giving each process a fraction of time and control over the processor before swapping to another process
-
Parallel computing is where multiple processes are run at the same time over multiple processor cores to enable faster computations
-
To fully understand concurrent processing, it is important to imagine a world where time slices are not allocated to processes. Each process finishes to completion before another process can be run. Practically, if someone wishes to play a game while a virus scan is running, they will have to wait until the scan is complete before they can play
-
In a world with concurrent processing the virus scan is allocated a few microseconds of execution time. The game is then allocated a few microseconds of execution time, before swapping back to the virus scanner. As human brains have very slow information processing speeds, the effect looks simultaneous but in actuality is sequential
-
Modern programs, such as photo and video editing software and more commonly AAA games, make use of parallel computing to complete multiple tasks at the same time to improve running speed and maximise resource usage and efficiency

-
In order to determine parts of a problem that can be tackled at the same time, developers must consider dependencies
-
Dependencies are tasks that rely on other tasks in order to either start or complete
-
Example 1 – A roofer cannot put a roof on a house if the walls aren’t fully built, and walls cannot be built unless the foundation is in place
-
Example 2 – A persons taxes cannot be calculated until all of their income has been input and all deductibles taken into account
-
-
When running a batch program on a set of data, such as an analysis of climate data or a companies departmental finances, if data sets do not relate, rely or interact with each other they can be run in parallel on multiple cores
-
Running such programs on multiple cores increases time efficiency while also maximising resource usage
-
If multiple different batch programs need to be run they can be interchanged and pipelined using concurrent processing on the same processor. This will allow multiple programs to make progress in a shorter time frame
Responses