Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
AS Computing Notes
Transcript of AS Computing Notes
AS Computing Notes
Problem Solving, Programming,
Data Representation and
60% of AS, 30% of A Level
2 hour on-screen examination
The Stored Program Concept
and The Internet
40% of AS, 20% of A Level
1 hour written examination
Compulsory short answer questions.
Unit 1 – COMP1
Unit 2 – COMP2
Preliminary Material (comprising Instructions to Candidates), the Skeleton Program (in each of the available programming languages) and, if appropriate,test data for use in the examination will be released on 1 March on e-AQA1 onlywith the Electronic Answer Document.
Candidates must use the examination materials to answer short questions and to write a program in the examination.
Stages of Problem Solving
Given(s) = the initial situation
Goal = Desired target situation
Ownership = who does what
Resources and constraints = tools, knowledge,skills, materials and rules, regulations, guidelines, boundaries, timings
Define the problem.
Determine logical conditions and consequential actions
Finite state machines with outputs
Finite state machines without outputs
Finite State Automation
State Transition Diagrams
State Transition Tables
Hand trace simple algorithms.
Convert a simple algorithm from
• structured English into pseudo-code,
• pseudo-code into high level program code.
1.1 - Problem Solving
1.2 - Programming
Levels of Languages
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable relative to a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.[
Arithmetic operators including +, –, /, x, DIV, MOD
Relational operators =, <, >, <>, <=, >=
Boolean operators NOT, AND, OR
Logical bitwise operators NOT, AND, OR, XOR
Set operators Union, difference, intersection, membership.
• Type Definitions
• Variable Declarations
• Constant Definitions
Explain the advantages of procedure/functions.
String handling functions:
String conversion functions:
to/from integer, real, date/time.
length, position, substring, concatenation.
• Procedure and Function calling
Describe the use of parameters to pass data within programs.
Different mechanisms for parameter passing:
Advantages of named variables and constants
by value and by reference
Understand the importance of validation of input data.
Program simple validation.
most recent holder
most wanted holder
Recognise the different roles a variable can take:
Understand the structured approach to program design and
Construct and use structure tables, structure charts and hierarchy
charts when designing programs.
Use meaningful identifier names.
Use procedures/functions with interfaces.
Use procedures that execute a single task.
Explain the advantages of the structured approach.
1D & 2D Arrays
Fields, Records and Files Read/write from/to a text file (including csv file)
Read/write records from/to a file of records.
Understand the importance of validation of input data.
Program simple validation.
1.3 - Data Representation
Describe the representation of unsigned denary integers in binary.
Describe the use of Two’s Complement to perform subtraction.
Convert a denary integer into Two’s complement and vice versa.
Hexadecimal as Shorthand for Binary.
Describe how an unsigned denary number with a fractional part is represented in fixed-point form in binary.
Describe the principles of operation of an analogue to digital converter.
2.5 The Structure of the Internet
2.1 Fundamentals of Computer Systems
2.2 Hardware Elements of Computers
2.3 Machine Level Architecture
2.7 Consequences of Uses of Computing
2.4 Hardware Devices
2.6 Web page design
Be familiar with the use of De Morgan’s laws and Boolean identities to manipulate and simplify simple Boolean expressions.
The basic machine code operations of Load, Add, Store.
Machine code representation in binary and hexadecimal.
Compare the capacity and speed of access of
various media and make a judgement about their suitability for
Have practical experience of creating simple web pages containing hyperlinks using the tags listed in the Teacher Resource Bank.
Consider how digital rights can be managed.
Perform conversion from denary to binary and vice-versa.
Draw a distinction between integers and numbers with a fractional part in a computer context.
Representing Images, Sound
Describe how bit patterns may represent other forms of data
"resolution, colour depth and simple bitmap file calculations."
drawing list – objects and their properties.
Compare bitmaps to vector graphics
The need for compression and basic techniques for compression.
Information Coding Schemes
Analogue and Digital
Sampled Sound and Nyquist's theorem
Describe MIDI and its advantages for storing sound digitally.
Explain what it is and why it is used.
Describe the stages of development of a hardware/software system.
Specify the method of testing the programmed solution (dry run
Implementation testing, black box testing, white box testing).
Specify the selection of test data including normal (typical), boundary
and erroneous data.
Reflect on how successful the operational system is.
Test the solution using selected test data.
Program the solution as per design.
1.4 - Systems Development Life Cycle
Understand the relationship between hardware and software and be able to define both.
Hardware and Software
Classification of Software
Generations of Programming Language
Describe machine-code language and assembly language.
Awareness of the development of programming languages and the Machine code limitations of both machine-code and assembly-language
Explain the term imperative high level language and its relationship to first and second generation languages.
Be aware of how software is classified.
Understand the need for and attributes of different types of software.
sequences of instructions that can be understood and executed by hardware
performs the tasks needed to operate the hardware
allows users to perform non-computer tasks such as writing a letter
Construct truth tables for the following gates:
Be familiar with drawing logic diagrams involving one or more of the above gates.
Understand the concept of addressable memory.
Describe the stored program concept whereby machine code
instructions stored in main memory are fetched and executed serially
by a processor that performs arithmetic and logical operations.
Understand the characteristics of contemporary processors.
Explain the role and operation of a processor and its major components.
Explain the effect of clock speed, word length and bus width on performance.
Explain how the Fetch–Execute cycle is used to execute machine code programs including the stages in the cycle with details of registers used.
Outline the basic internal components of a computer system.
Internal and External Hardware
Understand the need for and means of connection between components.
Processor, main memory, address bus, data bus, control bus, I/O
controllers and I/O ports, secondary storage, their purpose and how
Know that the processor, system bus and main memory are called
the CPU (central processing unit), and that components external
to the CPU are called peripherals. An example of a peripheral is
Functional Characteristics of a Processor
Structure and Role of the Processor
• Arithmetic Logic Unit
• Control Unit
• General purpose and dedicated registers
Machine code and processor instruction set
The Fetch–Execute cycle
Input and Output Devices
Know the main characteristics, purpose and suitability of contemporary devices (see the Teacher Resource Bank), and understand their principles of operation, including methods of error checking (check digit).
Explain the need for secondary storage within a computer system, know the main characteristics, purpose and suitability, and understandthe principles of operation of contemporary devices (see the Teacher Resource Bank).
Secondary Storage Devices
The Internet and its Uses
Understand the structure of the Internet, the role of packet switching and routers.
Understand the difference between the Internet, the Web and an intranet.
Know that an IP address is split into a network identifier part and a host identifier part.
Uniform Resource Locator (URL) Describe the term URL in the context of Internet working.
Uniform Resource Identifier (URI) Describe the role of URIs in the context of Internet working.
Domain Names and IP Addresses Explain the terms domain name and IP address.
Describe how domain names are organised.
Internet registries and Internet registrars Explain why such services are provided.
Internet Service Providers (ISP) Understand the role of an ISP.
Understand the purpose of Domain Name Server.
Be familiar with the client–server model.
Common Standard Protocols
Understand the role of a web browser in retrieving web pages and web page resources and rendering these accordingly.
Describe the role of the four layers of the TCP/IP protocol stack, including sockets
FTP client software and an FTP server to transfer files using anonymous and non-anonymous access.
Be familiar with Telnet server for remote management of a server
E-mail server to read and send e-mail
Web page construction
Know that HTML is used for structure only and that style sheets are used for style and layout of web pages
HTML & style sheets
(see the Teacher Resource Bank for list of style sheet type, class and ID selectors, properties
• What are machines good and bad at, in comparison to humans?
• What can this tell us about the way that the human mind works?
• What can we learn from machines?
• What are the limitations of using machines as tools?
Economic and Social Issues
Legal and Ethical Issues
Discuss issues of ownership of information and programs, and the protection of data.
Consider current legal controls which specifically refer to
computerised data and programs, and the implications of current
legislation (see the Teacher Resource Bank).
Code of Conduct.
Be aware of emerging technologies and appreciate their potential impact on society.
Discuss the social consequences of current uses of computing.
Breaks a problem down into smaller problems that are easier to work on
The process of breaking a problem down through successive steps into smaller problems
A description, independent of any programming language, of a process that achieves some task.
It is a step-by-step procedure for solving a problem.
A careful step-by-step simulation on paper of how an algorithm would be executed by a computer
Key Terms Glossary:
e.g. for a combination lock:
a machine that consists of a fixed set of possible states with a set of allowable inputs that change the state and a set of possible outputs.
A way of describing a FSM graphically. Each state is represented by a circle and each transition by an arrow labeled with the input that causes the transition plus any output resulting from the transition.
Shows the effect on the current state of an FSM of particular inputs and any corresponding output.
Bubble sort is a simple sorting algorithm that works by repeatedly stepping through the list to be sorted, comparing each pair of adjacent items and swapping them if they are in the wrong order. These passes through the list is repeated until no swaps are needed, which indicates that the list is sorted.
Linear search is the simplest search algorithm; it consists of checking every one of its elements, one at a time and in sequence, until the desired one is found.
Express the solution to a simple problem as an algorithm, using:
the standard constructs:
Code that resembles a programming language but that uses less strict syntax to express an algorithm and is independent of any real programming language.
a very restricted subset of the English language
AQA's list of words:
records geometric and other information about the objects that make up an image.
created when the pixels of an image are mapped to positions in memory that store binary codes representing the colour of each pixel.
"Using digital means to generate audio signals resembling instrument sounds or the human voice."
Electronic/electrical circuits that a computer is assembled from.
The platform on which software executes.
Consists of sequences of instructions called programs that can be understood and executed by hardware.
Contents of Program Counter transferred to Memory Address Register;
Address bus used to transfer this address to main memory;
Contents of addressed memory location loaded into the Memory Buffer Register;
Transfer of content uses the data bus;
Increment Program Counter;
Transfer content of Memory Buffer Register to the Current Instruction Register;
Decode instruction held by the Current
The control unit decodes the instruction;
Instruction split into opcode and operand;
If necessary, data is fetched;
The opcode identifies the type of instruction it is;
Execute instruction by relevant part of processor;
Result stored in accumulator;
Status register updated;
(Copied entirely from the markschemes. Pick 8 of these points and memorize them.
Easier to understand;
Takes less time to code (as using mnemonic
opcodes and hex operands);
Fewer mistakes made in coding;
Ability to add comments to code;
Use of symbolic names for operands // easier
to remember opcodes/mnemonics;
Use of labels;
Easier to maintain/debug;
Better than machine code because:
Solution expressed in terms of mnemonics;
A. an example of a full instruction (operand and
Easier to make mistakes in assembly language;
Instruction composed of op-code and operand;
Solution translated by using an assembler;
Code is hard to port to other types of computer //
One assembly language instruction relates to
one machine code instruction;
Situation – working on embedded hardware //
need for small object code size // need for fast
execution // need to access hardware/registers
Imperative is where the programmer gives the computer a sequence of instructions to perform;
Selection/Sequence/Iteration constructs available;
(for grade A:) a full example of a selection/iteration construct
Library of pre-written functions available;
Solution translated by using a compiler / interpreter;
A compiler might not be available for a specific processor (disadvantage);
Situation – anything sensible that would need a HLL (eg games programming)
(Certain languages) define what is to be computed rather than how the computation is to
(Certain languages) lack side effects;
(Certain languages) have a clear link to mathematical logic;
(Certain languages) express solutions in terms of facts and rules // rule-based;
(Certain languages) will use an inference engine to work out the answer;
The user asks a question of the system rather than provide an algorithm of the solution;
(Certain languages) express solutions using markup languages (such as HTML);
(Certain languages) express solutions as CSS / regular expressions / (subset of) SQL;
A. example code from part of a declarative program (ie an SQL statement)
Situation – medical diagnosis // expert systems // database query //creating a web page/website ;
(Compiler, assembler, interpreter)
eg Windows, OSx, android, Debian
eg Disk formatter, file compression, Firewall
Describe the different types of application software and the criteria for selecting appropriate software for particular purposes.
Special purpose application software.
Bespoke application software.
Can do a variety of things
eg MS Office.
made for a single purpose
eg web browser
made for a very specific purpose
Acts as a virtual interface between user and hardware. Hides the complexity of the hardware.
provide a software platform on which other programs can run.
collection of compiled routines that other programs can use.
eg StrUtils in Pascal
perform a very specific task
eg flight control, stock control
The only program code the the computer can execute directly. Made up of only binary characters, representing opcode and operand.
Requires assembler to make into machine code for computer to run.
Very similar to machine code, but with mnomonics to make things easier.
Compiler or Interpreter
Types of Program Translator
Define each type of language translator and describe situations where each would be appropriate.
A compiler produces object code/machine code;
whilst an interpreter does not produce any object
Interpreted code will execute slower;
than executing the object code produced by a compiler;
You always need the interpreter to interpret source code;
but you do not need the compiler to execute a compiled program;
Once compiled source code is no longer required to run the program;
An interpreter always needs source code at runtime;
Compiled code can only be executed on a machine with the same processor type / instruction set;
Interpreted code is more portable;
A compiler translates the whole source code (at once);
An interpreter analyses the code line by line;
Compiler vs Interpreter
Concept that data passed up/down between layers; (for grade A:) give example.
Application layer selects appropriate protocol for the communication, for example ( POP / HTTP );
Application layer is to interact with the user via the email client / web browser;
Transport layer establishes: end to end communication / a virtual path / connection between client and server;
Destination and source application level client/server identified by port numbers;
TCP layer uses these port numbers to route reassembled requests/responses to correct application layer client/server;
TCP layer splits and reassembles requests/responses into packets/from packets;
Packets are numbered by transport layer;
Transport layer deals with error control (acknowledgment/retransmission);
Network layer adds source and destination IP addresses;
Routers use destination IP addresses to route packets to destination // network layer involved with packet routing;
Link layer adds source and destination hardware/Ethernet/Link layer/MAC addresses;
Link layer destination and source addresses change from link to link;
Link layer moves packets between 2 internet hosts;
Link layer deals with physical connection/cabling;
A Link layer includes network card / drivers;
Network layer strips IP address (when receiving) & Link layer strips MAC address (when receiving);
Server uses received source IP address to know where to send response;
Server uses received client port number to know to which instance of application layer client to send response to;
Servers use well-known ports;
Client port numbers come from the dynamic range;
Packets of Email client/server and Web browser/Web server travel independent paths;
Packets of Email client/server and Web browser/Web server share links//intermingled on links;
Combination of IP address and Port = Socket /
Give two limitations of using assembly language to code a program.
Very hard/difficult to understand;
Very easy to make mistakes;
Hard to find any errors/mistakes in the code;
Time consuming to develop software in assembly
Lack of portability;
Lack of in-built functions/procedures;
Give two advantages of using a compiler, rather than an interpreter, to prepare a runnable program ready for sale
Compiler produces object code to distribute that is
difficult to reverse engineer/ no need to distribute the
Compiler optimises the code // The object code
/program runs faster (as it does not need translating);
NE “Runs faster”, if not clear whether this applies to
the program or the compiler.
The target computer has no need to have the original
Object code can be installed on target computer;
No interpreter available for target machine;
translates assembly language into machine code
translates a High Level program into object code.
It looks at the entire sourcecode, translating and optimizing the instructions, and generating an executable file.
Analyses and Executes each line of a High Level language without looking at the entire program.
Execution will be slower than compiled code as each statement analysed one at a time, so no optimization.
Opcode: Indicates the basic machine operation/function/command;
Executable binary code; For grade A: “instruction” – with a valid example
Operand:Represents a single item of (binary) data / a single value;
Represents a memory address / storage location;
The value that the instruction operates on;
Grade A: "parameter for the operation"
Better than Machine or Assembly because:
HLLs are problem oriented;
HLL programs are portable // machine / platform independent ;
English like keywords/commands/syntax/code;
Less code required // less tedious to program // one to many mapping of HLL statements to machine code commands;
Quicker/easier to understand/write/debug/learn/maintain code;
HLLs offer extra features e.g. data types/structures // structured statements // local variables //parameters // named variables/constants;
A example of a data structure
How many colours can be stored using a 3-bit code? 8(2^3)
If a 12-bit colour is used and the image size is 800x600 pixels, what is the minimum file size for the image?
total number of bits = 12*600*800=5760000
in bytes: 720000
Geometric images require fewer bytes
in vector format
in vector format
Vector graphic images
scale without distortion
Some Vector graphic formats can be
for particular graphic objects.
Look at this for maps: http://appleinsider.com/articles/12/08/03/inside_apples_new_vector_based_maps_in_ios_6
Easier to manipulate
Easier to convert
Output from scanners and cameras
More universally available
A digital signal is an electrical signal with voltage changes that are in discrete steps.
Digital data is data that takes the form of discrete values.
Difference between Signal and Data
Analogue to Digital Converter
Error checking and correction
Differentiate between the character code representation of a denary digit and its pure binary representation.
Standard Coding Systems for coding Character Data.
Why & Where it is used
A analogue signal is an electrical or electromagnetic signal that varies in a continuous manner.
Analogue data is data that varies in a continuous manner.
Regular samples are taken of the analogue signal;
Samples are quantised / the height of each sample is approximated;
Each integer value is encoded as a binary value
are coded in a fixed number of bits;
outputs the binary numbers as digital signals/voltage levels;
Can (easily) synthesise musical notation from it;
Can be played on different instruments;
Can be (easily) transposed to a different key/pitch;
Produces (relatively) small files;
Easy to manipulate (the data);
Allows for easy interface with electronic musical instruments;
No data lost about a musical note;
Length/duration (of note)
Note-on and Note-off;
Instructions about how to recreate a sound;
Electronic file format that stores:
at a frequency (at least)
the rate of the
(that can is present in the original signal)
Signal sampled at regular frequencies.
The number of bits assigned to each sample. More bits per sample means a more accurate representation of the signal being sampled.
The sampling rate, or sampling frequency defines the number of samples that are taken per second when digitising a continuous signal.
Measured in Hertz
measured in bits or bytes
from Teacher Resource Bank
List of what is needed
State one difference between Unicode and ASCII.
Unicode uses more bits for each character
Unicode can represent a wider range of characters
Unicode uses 16/32 bits, ASCII uses 7 bits
American Standard Code for Information Interchange
is a character-encoding scheme originally based on the English alphabet that encodes 128 specified characters - the numbers 0-9, the letters a-z and A-Z, some basic punctuation symbols, some control codes that originated with Teletype machines, and a blank space - into the 7-bit binary integers
ASCII includes definitions for 128 characters: 33 are non-printing control characters (many now obsolete) that affect how text and space are processed and 95 printable characters, including the space
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems. Developed in conjunction with the Universal Character Set standard and published in book form as The Unicode Standard, the latest version of Unicode contains a repertoire of more than 110,000 characters covering 100 scripts and various symbols.
For even Parity:
Sender counts the number of 1s in the bit data and adds an extra bit (wither 0 or 1) to ensure even number of 1s;
Receiver counts/checks the number of 1s in the bit pattern/value/data received;
if there are an odd number of 1s it identifies that an error has occurred;
Also odd parity. Works exactly the same, but makes and checks for be an odd number of ones in the data
Advantages over parity
Error correction (not just error detection) (for single errors);
Can detect when two errors have occurred in data transmission;
Reduces the need for the retransmission of data;
Decreases the likelihood of an undetected error // improved error
(Type of) shape // rectangle // square;
Coordinates of corner/corners // position of a corner // top left
Length of side(s) // width // height // coordinates of an opposing
Line colour // outer colour;
Fill colour // inner co
Easier for people to read/understand;
(Can be displayed using) fewer digits;
More compact when printed/displayed;
Why are bit patterns often displayed using hexadecimal instead of binary? (1 mark)
Each nyble in binary can be represented as a single hexadecimal charachter
Does not deteriorate when enlarged/magnified
(usually) faster to transmit
(usually) faster to load
(usually) uses less memory/storage space
Easier to edit/manipulate objects in the image
Print drum coated in (negative static) charge;
Printer generates bit map of page;
Laser beams shone/directed at/“draws” on print drum;
Via rotating (octagonal) mirror;
Laser is modulated (turned on & off);
Laser removes/neutralises/reverses electric charge on drum;
where image should be dark/black;
Toner is given (negative) charge;
Charged drum picks up toner;
Toner transferred from drum to paper; (“from drum” may be
implicit in order of answer)
Toner is fused/bonded/melted/stuck to paper by (heated
rollers/pressure); (must be clear that toner is already on paper
when it is fused, not still on drum)
I incorrect charges e.g. positive when should be negative
Heater behind ink reservoir is warmed;
Vaporises droplet of ink. Expands and forces small ink blob out
Electricity applied to piezoelectric crystal;
Deforms crystal shape;
Fires/squirts/shoots spots of ink; NE places
Some colours produced from mix of ink spots fired together;
Heater turns off – ink cools sucks remainder of droplet back in.
Repeated for all colours and each nozzle;
Electric current switched off piezoelectric crystal returns to
Print head moves across each line of paper/ repeated for each
part of each character // Prints line by line;
Ink dries before paper emerges from printer;