| Topic |
Heathcote |
Questions |
| 4.1 Operating systems |
|
|
| PC operating systems and their
main features; boot file; file allocation table |
H33 |
H33 1-7 |
| What are the main functions
of an operating system? |
H33, 55 |
H55 1-2 |
| Memory management (including
virtual memory, paging, segmentation, threshing) |
H57 |
H57 3 |
| scheduling to make efficient
use of resources; job queues, priorities |
H56 |
H56 3,4 |
| Interrupts |
H40, 56 |
H40 2,3 H56 3 |
| Spooling |
|
|
| Network operating systems
and their main features; transparency, directory services, security,
network printing |
Handout |
|
| 4.2 Translators (Compilers
and interpreters) |
Handouts (old H50) |
|
| Compilers and interpreters
|
|
|
| the stages : lexical analysis,
syntax analysis; How are errors detected and reported? |
|
|
| Code generation and optimisation |
|
|
| Linkers and loaders |
|
|
| 4.3 Computer Architectures
and the fetch-execute cycle (see also 4.5) |
|
|
| What is Von Neumann Architecture?
Why are registers needed? |
H40 |
|
| The fetch-decode-execute-reset
cycle and the use of registers |
H40 |
|
| Other machine architectures
(eg parallel processor systems), pros and cons |
|
|
| 4.4 Data representation,
data structures and manipulation |
|
|
| All topics from 1.4, plus
… |
|
|
| floating point binary – representation
using mantissa and exponent; normalisation; the trade-off between
accuracy and range |
H42 |
H42 1 |
| |
|
|
| data structures: (for each,
how to add, change, delete) |
|
|
| list (linear, linked?) |
H50,51 |
|
| stack |
H52 |
|
| queue |
H52 |
|
| tree |
H53 |
|
| (static and dynamic implementation
of the above, pros and cons) |
|
|
| Searching – binary, serial |
H54 |
|
| Sorting – insertion*, quick* |
H54 |
|
| Merging* |
H27 (p128) ** |
|
| * algorithms needed |
|
|
| ** error at start of algorithm |
|
|
| 4.5 Programming paradigms |
|
|
| Pseudocode – for writing algorithms |
H9 |
H9 1-7 |
| The nature and purpose of
3rd and 4th generation languages (?) |
H45 |
H45 1 |
| Programming paradigms : low-level,
object-oriented, declarative, procedural, functional. Explain
with examples how they are typically used. |
H11 |
H11 3-6 |
| Structured programming techniques
: use of functions and procedures; use of Jackson Structured
Programming and Top-Down Design (Stepwise refinement) |
H8 |
H8 1-4 |
| How are parameters (value
and variable) and variables (global and local) used? |
H11 |
H11 3-6 |
| How is the stack used? (return
addresses, variables) |
H52 (end) |
H52 3 |
| Object-oriented languages
: data encapsulation, classes and derived classes, inheritance |
H46 |
H46 1-2 |
| Declarative languages: backtracking,
instantiation, predicate logic, satisfying goals |
H47 (not H48?) |
H47 1-3 |
| Functional languages: list
processing, head and tail recursion |
|
|
| Low-level languages: use of
accumulator(s), registers, program counter, direct, indirect
and indexed addressing of memory |
H40 H43-44 |
H40 1,4 H43 1-2 H44 1-3 |
| Backus-Naur form and syntax
diagrams. How are they used? |
Handouts |
|
| 4.6 Databases |
H58-61 |
|
| Types of database : flat-file,
network, hierarchical, relational; (all the rest is on relational
database management systems – RDBMS) |
handout |
|
| Design a simple (?) relational
database to 3rd normal form, defining tables and views, and
drawing Entity-relationship models and entity life histories |
H31,32 H58, 59 |
H31 1-2 H32 1-2 H58 2 H59
1 |
| Design forms for input, deletion,
modification, querying of database |
|
|
| RDBMS compared to flat-file |
H58, H59 (end) |
H58 1 |
| Primary, secondary and foreign
keys |
H59 |
|
| Access to the database – for
different users, at different times |
H61 |
|
| Structure of a RDBMS : data
dictionary, data description language, data manipulation language |
H58, H61 |
H61 1-3 |