AP Notes, Outlines, Study Guides, Vocabulary, Practice Exams and more!

A2 Computing Unit 3

Terms : Hide Images
64729838AbstractionModelling of a complex system only including the essential details
64729839AutomationTurning an abstraction into a form that can be processed by a computer
64729840Polynomial TimeO(n^a) Eg. Bubble Sort - O(n²)
64729841Linear TimeO(n) Eg. Tree Traversal
64729842Exponential TimeO(aⁿ) where a > 1 Eg. Tower of Hanoi
64730718Syntax diagramGraphical way of expressing the grammar of a language. Arrows indicate the different paths that may be taken through the diagram
64730719Extended Backus Naur form| denotes OR, { } denotes ZERO OR MORE, [ ] denotes OPTIONAL
67499227A programming paradigman approach or a way of reasoning to solve a problem
67499228Procedural ProgrammingWrite sequences of commands. Fairly efficient, easy to follow. Fine for pay roll
67499229Event driven programmingNothing happens until the user clicks a mouse or a timer generates a signal
67499230Object Oriented programmingThe programmer uses objects to represent real concepts. Suitable for simulations.
67499231OOP Objecta bundle of attributes and related methods that modify the attributes.
67499232OOP Object Classa blueprint for an object. It represents the information and methods that a typical object has. Eg. the college is an object, being a member of the object class of FE colleges
67499233An object is known asan instance of the class
67499234InstantiationCreating an instance of a class
67499235Encapsulationthe bundling together of attributes and methods but making the attributes private and only allowing attributes to be changed using the methods
67499236Inheritancepassing attributes and methods to objects in a sub class
67499556Lista one-dimensional array
67499557Stacka collection of items which can only be added or removed at one end. There is a pointer to the top which is incremented and decremented. Watch out for overflow and underflow. Simulate using a 1 dim array and a pointer.
67499558Queueitems are taken from the front and added to the rear. There is a pointer for each end. A circular queue wraps around from the bottom of memory to the top. Check for empty or full queue. Simulate with a 1 dim array
67499559Binary treerepresented using an array with 3 columns to store the left & right pointer and the data. Additions to a tree are easy and it can be accessed in alphabetical order.
67499560linked lista dynamic data structure in which items are physically added to the end of the list. We can access sorted data as each item has a pointer to the next item in logical order. To add or remove an item simply change 2 pointers. Free space is also held in a linked list.
67499561Static Structuresize is specified at the start, eg. an array
67499562Dynamic Structurecan grow or shrink during execution
67499563Pointer data typesallow the creation of dynamic data structures in memory, using locations only when needed.
67499564When dynamic structure need more memoryIt is pulled from a pool called a heap and is returned to the free memory heap when finished
67499612A Recursive algorithmis very powerful producing lots of results with minimum coding but is hard to follow. It is used in quick sort, tree traversal & solving mazes.
67499613A recursive procedureis defined in terms of itself. Eg. n! A stack is needed to store return addresses and different copies of the same variable
67499614Tree Traversal AlgorithmInorder: traverse left subtree, visit root, traverse right subtree -gives Infix notation: A + B preorder: visit root, traverse left subtree, traverse right subtree postorder: traverse left subtree, traverse right subtree, visit root -gives Reverse Polish notation: A B +
67976972GraphA data structure containing data items, called vertices that are connected by lines called edges or arcs
67976973Undirected graphConnections are two way. An undirected graph is complete if every vertex is joined to every other vertex
67976974Directed graph or digraphHas 1-way edges with arrows.
679769752 vertices are neighboursIf they form an edge
67976976A pathis a sequence of vertices in which each successive pair is an edge
67976977A closed pathstarts and ends at the same vertex
67976978A cycleis a closed path with all edges & vertices different
67976979An undirected graph is connectedif, for any pair of vertices, there is a path between them
67976980A treeis a connected, undirected graph with no cycles
67976981A rooted treeis a tree with one vertex designed as the root and every edge is directed away from the root
67976982Traversing a graphis visiting each vertex once
67976983Graph Traversal AlgorithmAlgorithm maintains 2 flags for each vertex: Have we encountered before?, Have we finished exploring it? Breadth-first or neighbours-first Output data at that vertex, Add new neighbours to queue Depth-first is similar but neighbours are added to a stack. Explorer traverses each road once and returns to start. Traveller visits each vertex once and returns to start
67977350Adjacency list representationFor each vertex keep a list of vertices we can reach Could use a linked list Suitable method for a graph with few connections
67977351Adjacency matrix representation2 dimensional array showing connections for each pair Suitable for dense graphs
67977352In a labelled graphThe edges are given a value called a weight eg the distance between 2 towns. This value is held in the adjacency matrix or as extra item in adjacency list.
68309231A binary searchThe middle item is compared with the search item, discard the half of the list without the search item, this process continues until you find it or only one value remains and it is not the search item. Can only be used on sorted data
68309232Insertion sortGets the first 2 numbers in order and then, one at a time, merges each extra number into its correct place. It is a fast method on a small set and on a set that is nearly in order
68309233Computer simulationsCan represent real and imaginary situations. They allow users to study or try things that would be difficult or impossible in real life. Can be simulated over much shorter time than real life. Used in training as dangerous situations can be set up and repeated safely & cheaply
68309234A modela mathematical representation of a process. A computer can quickly do calculations & display results. Limited by human understanding and the need to be simple enough to produce quick results
68309235Examples of Models and SimulationsTraffic flow can be modelled to investigate the route of a new road. Traffic can be increased and results observed. Weather forecasters use a computer simulation. Data is gathered from many sources and predictions are made
68309236Floating pointa representation that consists of 2 parts, a mantissa and an exponent
68309237Precision of a real number representationdepends on the number of bits used for the mantissa
68309238Range of a real number representationdepends on the size of the exponent
68309239Truncation of a real number(or rounding) occurs when the mantissa is not sufficient to represent all the digits in the number
68416685Normalisation of a real numbergives a consistent representation with maximum precision. We shift positive numbers to the left to push out leading 0s. If negative we push out leading 1s
68416686Overflow in real number representationoccurs when a number is too large to be held
68416687Underflow in real number representationA calculation results in a number which is too close to zero to be represented
68416688Virtual machinehides the complexities of the hardware from the user. It manages the hardware resources in order to provide an orderly and controlled allocation of the processors, memories and I/O devices among the various processes competing for them
68416689Interactive OSuser gets immediate response and has two way communication with the computer. User interacts with main computer and has access to the main data files
68416690Real-Time OSdata is processed sufficiently quickly to influence what happens next
68416691Network OSControls Communication
68416692Client server systemsthe server holds the data and runs the program, the client computer interfaces with the user
68416693DatabaseData is held in a collection of tables. Each entity has its own table.
68416694Data relationshipsare implemented by having a common field to link the related tables
68416695Attributesitems of information held about an entity
68416696Primary key fieldHolds a unique value for each record
68416697Composite keyuses two or more attributes
68416698A secondary keyunique field other than primary key
68416699Foreign keya field linked to a key field in another table
68416700Referential integrityensures that relationships between tables remain consistent. You may not add a record to the table that contains the foreign key unless there is a corresponding record in the linked table.
68416701Entityan item to be represented in a database
68416702Entity relationshipa connection (relationship) between entities in a database
68416703First Normal Formsimplifies the structure by removing repeating attributes
68416704Third Normal Formensures that there is no redundant data in a table by creating additional tables
68416705DDL (Data Definition Language)a way of specifying all the attributes and properties of a database: create tables and views with indexes and constraints
68416706SQL (Structured Query Language)for users to define and manipulate data in a relational database
68416707Serial transmissionsends each bit down a single line
68416708Parallel transmissionsends many bits simultaneously along separate lines. This is faster than serial but only works over short distances and cable is expensive
68416709Baud ratethe number of voltage changes a second
68416710Bit ratethe number of bits transmitted per second
68416711Bandwidththe range of frequencies that a line can transmit. Low for telephone wire, high for fibre optic. The higher the figure the greater the bit rate
68416712latencyrefers to any of several kinds of delays typically incurred in processing of network data
68416713Ping testmeasures latency by determining the time it takes a given network packet to travel from source to destination and back
68416714Asynchronous datasent intermittently one character at a time with a start bit to alert receiver & a stop bit
68416715parity bitis sent with 7 bit ASCII so that the number of 1s is always odd or always even
68416716Protocolrules covering transmission speed & codes
68416717Handshakingis sending signals between devices to test if device is ready to receive and to acknowledge receipt
68416718Basebandcarries one signal at a time. Fast, up to 300m
68416719Broadbandcarries multiple signals, voice, video & data
68416720WANconnects geographically remote computers using telecommunications
68416721LANconfined to a small site, can share printer, programs, data files. Allows communication and centralises security and backups
68416722Topologyrefers to the layout of connected devices
68416723Star Topologydirectly linked to server, reliable, cable costly
68416724Bus Topologyone cable, cheap, degrades if highly loaded
68416725Segmenting a bus networkreduces the traffic in each segment and now each segment can cover 500m
68416726Bridgehardware device that links segments, using same protocol, only passes packets destined for other segment
68416870Peer-to-peer Networkdoes not use a server but each computer can share the printer, hard drive or other hardware connected to another machine, which must be on. Suitable for a small network when users mostly do their own work but occasionally share data or communicate
68416871Server based networkuser authentication, administration, resource allocation managed by servers
68416872Thin clientdoes little processing and accesses the server each time input data needs to be processed or validated
68416873Rich clientperforms many functions without server
68416874AJAXAsynchronous JavaScript and XML - technique for creating interactive web applications. Data is retrieved from the web server asynchronously in the background, without a page reload. Only the part of a page that needs updating is fetched from the web server. This reduces the number of bytes to transfer
68416875In a Classic web applicationuser interface events trigger an HTTP request to a web server to retrieve data, process and return an HTML page to the browser
68416876Inter-networkingtwo or more independent networks are connected yet function separately, as in Internet
68416877Routersuse IP addresses to route packets
68416878Gatewaysconnect networks of different protocols
68416879CGICommon Gateway Interface is a standard protocol for interfacing application software with a web server
68416880Server-side scriptingruns a script directly on the web server to generate dynamic web pages that provide interactive web sites that interface to databases. This is different from client-side scripting where scripts are run by the viewing web browser
68416881Advantage of server-side scriptingthe ability to highly customize the response based on the user's requirements or access rights
68416882Firewalla security system intended to protect an organisation's network against external threats and prevent hackers. It decides which messages to let through
68416883A proxy serveracts as a go-between for requests from clients requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server evaluates the request according to its filtering rules.
68417183Main purposes of a proxy serverTo keep machines behind it anonymous (for security) and to speed up access to a resource (via caching). It is commonly used to cache web pages from a web server.
68417184Encryptionthe process of encoding data for transmission, protecting e-mail, credit card info & company data
68417185Governmentswant access to all decryption keys
68417186Digital certificatecomes with a public key for encoding and a private key for decoding. Public key is freely given
68417187Digital signaturea mathematical calculation on the whole message, is generated and sent. A digital signature authenticates the sender, proves that the message has not been tampered with and the sender can not deny sending it
70428360Intractable problems:Software and hardware present limitations to solving problems
70428361Halting problemThe unsolvable problem of determining whether any program will ever stop given particular input
70428362Turing MachineIs a basic abstract symbol-manipulating devices that can be manipulated to simulate the logic of any computer algorithm
70428363Universal Machinecan simulate any Turing machine
70428364Automatais a Finite State Machine with no output
70428520Hashing algorithmConverts a key field into an integer that could be a record number.
70428521CollisionWhen a Hash function maps two keys to the same value
70428522Absolute errordifference between actual and nearest representation
70428523Relative errorabsolute error divided by the actual number
70428524Embedded computer systema dedicated computer system with a limited or non-existent user interface, designed to operate autonomously within machinery
70428525Desktop operating systemsmanage many types of hardware and software. Written in layers for easy update They can provide a virtual machine so easier for user
70428526DDL - Create TableCREATE TABLE Cars ( REGNO CHAR(7) PRIMARY KEY, REGISTERED DATE )
70428527Bluetoothsupports a very short range, 10m and low bandwidth. Designed for low power network devices like handhelds- PDA, mobile phone. Lower manufacturing cost
70428528Authenticationway of identifying a user - username
70428529Authorisationcheck user has permission to perform a certain task
70428530Accountingrecords resources used and logs what done
70455908Advantage of Adjacency List ImplementationOnly uses memory for links
70456024Advantage of Adjacency Matrix ImplementationFaster access to data (to check existence of link)
70460846Advantage of Reverse PolishEasier to compute, unambiguous
73044794Information HidingHiding design details behind a standard interface
73044795Interfacea boundary between the implementation of a system and the world that uses it
73044796AlgorithmA sequence of unambiguous instructions for solving a problem
73044797Finite State Machineconsists of a set of input symbols and a finite set of states and a transition function that maps a state-symbol pair to a state
73044798Deterministic FSMhas just one next state for each state-symbol pair
73044799Non-deterministic FSMmay have several possible next states for each state-symbol pair
73044800Tractablea problem that has a reasonable (polynomial) time solution
73044801Regular Languageany language that a FSM will accept
73046027Regular Language |Exclusive OR
73046028Regular Language ?Zero or one of the preceding element
73046029Regular Language *Zero or more of the preceding element
73046030Regular Language +One or more of the preceding element
73046031Regular Language [ ]encloses a list of characters, one of which is selected
73046032Regular Language [^a]negates the enclosed list of characters (any letter other than a)
73046033Regular Language [a-z]all 26 lower case letters
73046034Regular Language \dany integer 0-9
73046035Regular Language \wa single alphanumeric character or an underscore _
73046036Regular Language \Wa single non-alphanumeric character
73046037Regular Language \Da single non-numeric character
73046038Regular Language \sa space
73046039Regular Language \Sa single character other than a space

Need Help?

We hope your visit has been a productive one. If you're having any problems, or would like to give some feedback, we'd love to hear from you.

For general help, questions, and suggestions, try our dedicated support forums.

If you need to contact the Course-Notes.Org web experience team, please use our contact form.

Need Notes?

While we strive to provide the most comprehensive notes for as many high school textbooks as possible, there are certainly going to be some that we miss. Drop us a note and let us know which textbooks you need. Be sure to include which edition of the textbook you are using! If we see enough demand, we'll do whatever we can to get those notes up on the site for you!