0% found this document useful (0 votes)
59 views24 pages

Understanding Computer Types and Functions

Candidates must understand core processor components, including the ALU, registers, and the FDE cycle, as well as factors affecting CPU performance like clock speed and cache size. They should be familiar with operating systems, memory management, and various programming paradigms, including object-oriented programming. Additionally, knowledge of databases, data compression, encryption, and networking concepts is essential for candidates.

Uploaded by

akhtarshazia120
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views24 pages

Understanding Computer Types and Functions

Candidates must understand core processor components, including the ALU, registers, and the FDE cycle, as well as factors affecting CPU performance like clock speed and cache size. They should be familiar with operating systems, memory management, and various programming paradigms, including object-oriented programming. Additionally, knowledge of databases, data compression, encryption, and networking concepts is essential for candidates.

Uploaded by

akhtarshazia120
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Candidates need to have an understanding of the purpose and function of the core components of a

processor. Candidates need to understand the role and components of the ALU.
Candidates need to understand the purpose and function or registers within the processor, including the
PC, accumulator, MAR, MDR and CIR.
Candidates need to understand the purpose, function and role of the data, address and control buses in
the processor.
Candidates need to understand how assembly language makes use of registers, and how data and
addressed are transferred between registers.
Candidates need to understand the purpose and stages within the FDE cycle.
Candidates need to understand how and when the registers are used within this cycle, and how and where
data and addresses are transmitted to/from in each part of this cycle.
Candidates need to understand how the performance of the CPU can be affected by many factors.
Candidates need to understand how and why the performance is affected by the clock speed, the number
of cores and the size and speed of the cache.
Candidates need to have an understanding of the Von Neumann and Harvard architectures. They should
be aware of the different approaches the architectures take to storing instructions and data in memory and
the benefits of each approach.
Candidates will not be asked about specific aspects of “contemporary processor architecture” unless explicitly
named in the specification. They may, however, be asked to show an awareness of how contemporary processors
differ from a pure Von Neumann architecture in more open questions
Candidates need to understand the differences between the CISC and RISC processors and the key
features and benefits of each. They should be aware of the relative benefits of each architecture.
Candidates need to understand the purpose of GPUs and what applications they are used for (candidates
need to understand how GPUs are used to aid graphics, but also other applications for example their use
in modeling, data mining, etc.).
Candidates should understand the benefits and using GPUs and why they are suited to certain tasks
(specialist instructions, multiple cores and SIMD processing).
Candidates need to understand what is meant by a parallel system and the benefits and limitations of
parallel processing.
Candidates need to understand that parallel processing can be achieved through different (i.e. multiple
processors in the same computer or distributed across multiple cores in a CPU or GPU).
Candidates need to understand the benefits of a multicore system in terms of parallel processing and running
multiple programs at the same time.
Candidates need to have an understanding of a range of input, output and storage devices.
Candidates do not need to understand how the input and output devices work, but must be able to
recommend appropriate devices for specific situations and be able to justify choices made.
Candidates need to understand that there are different types of storage device. They need to know about
the characteristics of each type (magnetic, optical and flash) and understand the benefits and drawbacks
of each, and be able to recommend an appropriate type of device for a given situation and justify the
choice.
Candidates need to understand the purpose of ROM and RAM within a computer system, their
characteristics, and the role they play in the running of a range of different computers e.g. mobile devices,
embedded systems etc.
Candidates need to understand why there is a need for virtual storage, how virtual storage works and the benefits
and drawbacks of using virtual storage. Virtual storage would be that which may appear to be local but is physically
located elsewhere on the network/remotely/in the cloud
OK ADDITIONAL COMMENT
Candidates need to have an understanding of why an operating system is required, along with the different
tasks it performs within a computer system (e.g. resource management, file management, interrupt
handling, security, providing a platform for software to run, providing a user interface and providing
utilities).
Candidates need to understand how operating systems manage memory. They need to understand the
need for, purpose and function of paging to divide memory into usable fixed-size pages and how this aids
in the transfer of memory for example virtual memory.
Candidates need to understand what is meant by segmentation and how memory is divided into segments
to allow access to memory.
Candidates need to understand what is meant by virtual memory and why this is needed in a computer
system.
Candidates need to understand how paging is used in virtual memory, and the benefits and drawbacks of
having and using virtual memory in a computer system.
Candidates need to understand the purpose of interrupts within a computer system, why an interrupt might
be generated and what happens within the CPU and memory in order to call an interrupt service routine.
Candidates need to understand the need for scheduling of tasks by an operating system and the benefits
that scheduling brings.
Candidates need to understand that there are different scheduling algorithms, with each having benefits
and drawbacks for tasks with specific characteristics.
Candidates need to understand how the following scheduling algorithms work; round robin, first come first
served, multi-level feedback queue, shortest job first and shortest remaining time.
Candidates need to understand the different (and often overlapping) classifications of operating systems
(distributed, embedded, multi-tasking, multi-user and real time), including the key features of each. They
should be able to recommend (and justify) a type of operating system for a given scenario.
Candidates need to understand the role of the BIOS in a computer system, and the steps that the BIOS
goes through to start a computer.
Candidates need to understand what is meant by ‘device drivers’ and why they are needed for
communication between hardware and the operating system.
Candidates should be able to describe what is meant by a virtual machine, how they can be used to execute
intermediate code, how they can be used to run a software driven machine inside a physical machine and the
benefits and drawbacks of each approach.
Candidates need to understand the purpose of applications, and should have knowledge and experience
of a range of different application software (for example database, word processor, web browser, graphics
manipulation etc.).
Candidates should be able to recommend the use of specific and generic applications for given scenarios,
justifying their use and function(s) for a scenario.
Candidates need to understand the purpose and role of utility software in a computer system.
Candidates should be familiar with a range of utility software (e.g. disk defragmentation, file management,
device driver, system cleanup, security etc.)
Candidates need to be able to explain the differences between open and closed source software, the
benefits and drawbacks to creator and user of each of the licensing models, and be able to recommend
which is used (with justification) for a specific scenario.
Candidates need to understand the need for translators when writing programs. They need to have
knowledge of the differences in operation of interpreters and compilers, from these they need to be able to
assess the benefits and drawbacks of using each type, and recommend with justification which should be
used in a specific scenario.
Candidates need to understand the role of an assembler and how it differs from interpreters and compilers.
Candidates need to understand that there are a number of stages involved in compilation.
Candidates need to understand how lexical analysis works and how the code is converted into tokens with
the removal of unnecessary elements (e.g. comments and whitespace).
Candidates need to understand how syntax errors are identified and reported at the end of the syntax
analysis. .
Candidates need to understand how the abstract syntax tree will be fed into the next stage of code
generation, and that the object code is then created
Candidates need to understand why optimisation is important and how the results of lexical analysis feeds
into syntax analysis, and how the tokens are checked to ensure they meet the during (and after) code
generation.
Candidates need to understand the following models that can be followed to produce a software system;
the waterfall lifecycle, agile methodologies (specifically extreme programming); the spiral model and rapid
application development).
Candidates need to understand the tasks, processes, benefits and drawbacks of each model and the
similarities and differences between each. They need to understand where each model is most suitable to
use, and be able to justify the use in a situation.
Candidates need to be able to write algorithms using pseudocode and/or program code. Candidates need to be able
to follow the code as shown in the OCR pseudocode guide, but are not expected to write code in this syntax.
Candidate’s code is not expected to be syntactically correct, but must use appropriate code structures.
Candidates need to understand that there are a variety of types of programming paradigms such as
procedural, OOP, low-level, and that each has its strengths and weaknesses in specific scenarios, topics
or areas.
Candidates need to have knowledge and experience of using a procedural programming language for
example Python, VB.NET etc. .
Candidates need to be experienced in using procedural programming features such as (but not limited to)
variables, constants, selection, iteration, sequence, subroutines, string handling, file handling, Boolean and
arithmetic operators
Candidates need to be able to read, trace, amend and write procedural program code.
Candidates need to have an understanding of the purpose and need for assembly language. They need to
be familiar with the instructions given in Appendix 5d. They should be able to read, write, trace and amend
programs written in the Little Man Computer language.
Candidates need an understanding of addressing, which should be integrated with assembly language.
Candidates should have experience of using immediate, direct, indirect and indexed addressing in the
writing, reading and tracing of programs written in assembly language.
Candidates need to understand object-oriented code (as specified in the pseudocode guide). They need to
have an understanding of classes, objects, attributes and methods. They need to understand the
difference between private and public attributes and methods.
Candidates need to understand encapsulation and the use of get and set methods to access private
attributes. Candidates need to understand the purpose and principles of inheritance.
Candidates need to have an understanding of polymorphism and how it can be used within a program.
Candidates need to be able to read, trace, amend and write code that makes use of these object-oriented
techniques.
OK ADDITIONAL COMMENT
Candidates need to understand the need for compression, especially when transferring data via the
Internet. .
Candidates need to understand the difference between lossy and lossless compression, and the benefits
and drawbacks of each type
Candidates need to be able to recommend a type of compression for a given scenario.
Candidates need to understand how run-length encoding can reduce the size of a file for example with a
text file or image. .
Candidates should understand how dictionary coding works by substituting entries with a unique code
Candidates should have practical experience of using these algorithms with small example files.
Candidates should understand the need for encryption. Candidates should understand how symmetric and
asymmetric encryption work to encrypt and decrypt data.
Candidates should understand the need for and purpose of using hashing algorithms to store data.
Candidates should be aware of different uses for hashing, such as the storing of passwords
Candidates need to understand what is meant by a database.
Candidates should be familiar with basic database terminology such as fields, records and tables.
Candidates should know the difference between a flat file and a relational database, and be able to explain
the benefits and limitations of each approach.
Candidates should be able to use Normalisation to produce a suitable database schema and explain the
benefits of doing so. They should be able to normalise up to 3NF. Candidates should know and be able to
apply the criteria for 1NF, 2NF and 3NF.
Candidates should know what is meant by a primary key, foreign key and secondary key and how each
are used in a database. Candidates should be able produce and follow Entity relationship diagrams which
include 1:1, 1:M and M:M relationships. They should be able to identify how tables should be linked.
Candidates need to have an awareness of a range of methods for capturing data (such as forms, OCR,
OMR and sensors) selecting data (such as Query By Example and SQL), managing data (such as
changing data by manipulating it – e.g. arithmetic functions, adding, editing, deleting the data) and
exchanging data (with commons formats such as CSV and JSON).
Candidates won’t be specifically asked about any one of these methods but may be asked to
discuss/justify suitable methods as part of a more open question.
Candidates need to have an understanding of the need to interrogate data within a database.
Candidates should understand the purpose of indexing in a database and the benefits of using indexing to
optimise the searching for data.
Candidates need to have experience of a range of methods for capturing data (such as forms – what do
they collect, what do they look like - data mining, where does the data come from, how is it collected and
analysed), selecting data (such as how to produce QBEs – adding fields, tables, criteria, sorting - selecting
through Boolean expressions – AND, OR, NOT), managing data (such as changing data by manipulating it
– e.g. arithmetic functions - , adding, editing, deleting the data) and exchanging data (such as methods of
transferring data – electronic i.e. memory stick, e-mail, and non-electronic e.g. paper based - appropriate
formats for the transfer of data and communication mediums to transfer data – such as the structure, is it
in a table or a list).(such as forms, data mining), selecting data (such as producing QBEs, selecting
through Boolean expressions), managing data (such as manipulation, adding, editing, deleting) and
exchanging data (such as methods of transferring data, appropriate formats for the transfer of data and
communication mediums to transfer data).
Candidates should have experience of using SQL to edit and modify data in a database. They should
understand the need for SQL as a standard language. Candidates should be able write and follow scripts
using the SQL commands listed in appendix 5d.
Candidates need to understand what is meant by referential integrity, and why this is desirable in a
database.
Candidates should understand what is meant by transaction processing, and scenarios where transaction
processing takes place.
Candidates should understand the problems that arise from transaction processing, and how these can be
overcome.
Candidates should understand the ACID rules for transaction processing, and why databases should be
built to these standards.
Candidates should understand how record locking prevents the overriding of data, and understand how
record locking takes place.
Candidates need to understand the definition and purpose of a network.
Candidates need to understand the purpose of, and importance of using protocols. They should be able to
discuss examples of protocols that may be used in a network/the internet (but will not be asked to recall
information about any specific protocol).
Candidates should understand the term standard and the purpose and need for standards in a network (or
any situation where data is transferred).
Candidates need to understand the purpose and benefits of layering protocols, particularly within the
TCP/IP stack.
Candidates need to know the different layers within the TCP/IP stack and the purpose of each.
Candidates need to understand how data is transmitted on the Internet, the use of IP addresses and
packets in the transfer of data. (NB Candidates are not expected to be familiar with the OSI model).
Candidates are expected to understand the terms LAN and WAN.
Candidates need to understand how the Domain Name System is used to find the IP of a URL is found.
Candidates need to understand the purpose, function, benefits and drawbacks of both packet and circuit
switching. Candidates need to be able to suggest packet or circuit switching for a given scenario.
Candidates need to understand that there are a range of security issues and threats involved with
networked computers.
Candidates need to be aware of threats such as hackers, viruses, unauthorised access, denial of service,
spyware, SQL injection, phishing and pharming.
Candidates need to know about ways of minimising, or preventing these threats for example firewalls,
secure passwords, anti-virus, anti-spyware etc.
Candidates need to have knowledge of the hardware required to connect to and/or build a network (e.g.
modem, router, cable, NIC, Wireless Access Points, hub, switch etc).
Candidates need to understand the purpose of the hardware, but are not required to understand how they
physically work.
Candidates need to understand the difference between a client-server and peer-to-peer network.
Candidates need to know the benefits and drawbacks of each type of network and be able to recommend
one for a given scenario.
Candidates need to understand the purpose of HTML, CSS and JavaScript. Candidates should have
experience of writing webpages using HTML, CSS and JavaScript. Candidates need to be able to
recognise the code in Appendix 5d, and be able to read, write, amend and interpret code using HTML,
CSS and JavaScript.
Candidates should understand how and why search engine results are indexed. They should understand
how PageRank ranks these results. Candidates should understand how page rank works at a high level
but are not expected to be able to code the algorithm.
Candidates need to understand the difference between server and client side processing, and should be
aware of examples (for example Javascript code vs PHP code) of processing on both sides. Candidates
should be aware of the benefits and drawbacks of both types of processing.
OK ADDITIONAL COMMENT
Candidates need to have an understanding of programming data types such as integer, real, Boolean,
character string etc.
Candidates need to be able to choose appropriate data types for a situation or given data.
Candidates should have experience of programming solutions using these data types.
Candidates should have knowledge of how to convert from one data type to another.
Candidates should understand how and why computers store data as binary using switches, and that a
binary number can have a variety of different interpretations depending on what is being stored (e.g.
numeric, text, image, sound).
Candidates should be able to convert positive whole numbers to binary and from binary to decimal/denary.
Candidates should know how to store negative numbers using Sign and Magnitude and two’s complement.
Candidates should be able to convert denary numbers to sign and magnitude, and two’s complement –
and vice-versa.
Candidates should be able to perform addition and subtraction on integer binary numbers. (These
numbers could be positive or negative using two’s complement representation.)
Candidates need to have an understanding of the purpose and potential uses of Hexadecimal for example
where and why they are used instead of binary and the benefits of using Hexadecimal over alternatives
such as binary.
Candidates should be able to convert denary numbers to hexadecimal and vice-versa and from binary to
hexadecimal and vice-versa.
Candidates should have an understanding of how (positive and negative) real numbers are represented in
a binary floating-point representation, and should be able to convert between a denary number and a real
binary number. (NB the representation used for the exam is the mantissa and exponent both represented
using two’s complement.)
Candidates should understand the need for normalised floating point numbers.
Candidates should be able to normalise a floating point number.
Candidates should be able to perform addition and subtraction floating point arithmetic including addition
and subtraction of both positive and negative numbers.
Candidates should be able to perform right and left logical shifts. Candidates should understand the effect
of right and left shifts on a binary numbers.
Candidates should understand the purpose of using masks with bitwise operators, and should have
experience of applying masks using AND, OR and XOR.
Candidates should have an understanding of how characters are represented in a computer and in binary.
Candidates should understand the need for a character set and how a computer makes use of a character
set.
Candidates should be aware of the ASCII and UNICODE character sets and be able to explain the
differences between these and how these impact what can be stored.
Candidates should be able to use a character set, or part of a character set, to translate characters into
binary and vice-versa. (Candidates are not expected to memorise any values in a character set).
Candidates should be able to describe what is meant by arrays (up to 3 dimensions), records, lists and
tuples. They are expected to be able recognise when they can be used and incorporate them in their
programs to store data.
Candidates need to have an understanding of the behaviour of linked-lists, graphs, stacks, queues, trees,
binary search trees and hash tables.
Candidates need to be able be aware of how the aforementioned data structures can be implemented. We
would recommend a general understanding of these principles that can be applied to a given scenario
rather than trying to memorise code patterns.
Candidates should have experience of implementing these structures in a variety of contexts, for example
through a procedural program, through a different data structure and through an object-oriented approach.
Candidates need to be able to read, trace and write code to implement features of these data structures.
(Again we would recommend a general understanding backed up with practice implementing them, rather
than trying to memorise code patterns).
Candidates should be familiar with AND, OR, NOT and XOR.
Candidates should be familiar with the logic of each Boolean operator, and the truth tables.
Candidates should be able to construct logic gate diagrams from a Boolean expression and vice-versa.
Candidates should be able to construct truth tables from Boolean expressions and logic gate diagrams.
Candidates should have an understanding that Boolean expressions can be simplified and should have
experience of simplifying expressions using Karnaugh maps.
Candidates should be able to create, complete and interpret Karnaugh maps to simplify Boolean
expressions.
Candidates should be aware of the given De Morgan’s laws and should be able to apply these to a
Boolean statement.
Candidates should have experience of manipulating and simplifying Boolean statements using these rules
of distribution, commutation, association and double negation.
Candidates need to understand the purpose and principles of D type flip flops and how and where they are
used in a computer. They should be able to recognise how they can be triggered by a clock pulse (see
practice paper 2 for an example).
Candidates are not expected to memorise the logic gates that make up a D-type flip flop.
Candidates need to understand the purpose and function of an adder circuit, and the difference between a
half and full adder. They should be able to recognise and draw the logic gates and truth tables for full and
half adders
OK ADDITIONAL COMMENT
Candidates need to have an understanding of the need for and purpose of laws relating to the use of
computers.
Candidates should be familiar with the purpose and role of the Data Protection Act, candidates will need to
understand the different rules that are within the DPA and how these impact the use of computers and the
storage of data by organisations, this should include what organisations can and cannot do.
Candidates need to understand the purpose and principles of the Computer Misuse Act, including the
actions that it prohibits.
Candidates need to understand the purpose and principles of the Copyright and Patents Act, including the
actions that it prohibits.
Candidates need to understand the purpose and principles of the Regulation of Investigatory Powers Act,
and what this allows in the interception and monitoring of electronic communication.
Candidates need to understand how the regulations impact organisations and the use of computers and
electronic communication.
We are aware the law is constantly changing and some of the mentioned laws (most notably the DPA) are
likely to change over the course of the specification. Answers will be accepted that use an interpretation of
the law based on when the specification was started or when the examination was sat.
In order to prepare for this section we would recommend candidates regularly keep abreast of
technological developments in the news.
Candidates need to understand what is meant by moral, social, ethical and cultural issues in relation to the
use of computers.
Candidates need to understand how the use of computers, and the increasing use of computers in the
work force has moral, social, ethical and cultural implications and risks to a variety of people such as the
employees, employers, society and organisations.
Candidates need to understand how the use of computers to make decisions automatically has moral,
social, ethical and cultural implications and risks to a variety of people such as those people who make the
decisions, the people the decisions affect, and the need for additional collection of information to ensure
the decisions are accurate and valid.
Candidates need to understand how the development of artificial intelligence has moral, social, ethical and
cultural impacts on a variety of people.
Candidates need to understand how the environmental effects of computers (such as disposal, energy
use) have moral, social, ethical and cultural implications.
Candidates need to understand how the Internet and censorship on the Internet has moral, social, ethical
and cultural implications.
Candidates need to understand the moral, social, ethical and cultural implications of using computers to
monitor behaviour (such as CCTV, tracking phone calls, GPS, monitoring emails).
Candidates need to understand the moral, social, ethical and cultural implications of using computers to
analyse personal information (such as the gathering, storing and analysing of medical records)
Candidates need to understand how different cultures impact on the use of and creation of computers and
programs. For example languages make use of different characters, and how this in turn impacts the use
of character sets. Some languages read left to right, and others right to left. Candidates should understand
how colours have different meanings in different cultures for example red means danger in one culture,
and luck in another. Candidates
OK ADDITIONAL COMMENT

You might also like