Scheme of work – Cambridge International AS & A Level...

advertisement
s
er
ap
eP
m
e
tr
.X
w
w
w
om
.c
Scheme of work – Cambridge International AS & A Level Computing (9691)
Unit 3: System software mechanisms, machine architecture, database theory, programming paradigms and
integrated information systems
Recommended prior knowledge
Students should have studied Units 1 and 2.
Context
Work on the project should begin in parallel with work on Unit 3.
Outline
The content includes:
• the functions of operating systems
• the functions and purposes of translators
• computer architectures and the fetch-execute cycle
• data representation, data structures and data manipulation
• programming paradigms
• databases
• simulation and real-time processing
• common network environments, connectivity and security issues
Syllabus ref
3.1
Learning objectives
Suggested teaching activities
The functions of operating systems
Content:
3.1.1 Features of operating systems
3.1.2 Scheduling
3.1.3 Interrupt handling
3.1.4 Job queues and priorities
3.1.5 Memory management
3.1.6 Spooling
3.1.7 Modern personal computer operating
systems
v1 2Y05
Learning resources
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
Level Computing Coursebook –
pages 193–194
1
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
(a) describe the main features of operating
systems, including memory management and
scheduling algorithms
Review Operating System work for Paper One concentrating
on the characteristics of:
• Single-User
• Multi-User
• Network Systems
Cambridge International AS and A
Level Computing Coursebook –
pages 182–183
Introduce the features of Operating Systems that support
multi-users and networking:
• Memory Management
• Scheduling
(b) explain how interrupts are used to obtain
processor time and how processing of
interrupted jobs may later be resumed (typical
sources of interrupts should be identified and
any algorithms and data structures should be
described)
Define the term interrupt (a signal from some device/source
seeking the attention of the processor), the different classes
of interrupt and the need to assign different priorities to
interrupts (so that when two interrupts occur at the same time
or an interrupt occurs whilst another is being serviced, the
interrupt with the highest priority is dealt with first).
Classes of interrupt should include:
• Hardware failure
• Highest Priority
• Program
• Timer
• I/O
• Lowest Priority
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_1/features_of_os/miniweb/in
dex.htm
Cambridge International AS and A
Level Computing Coursebook –
pages 183–185
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_1/interrupts/miniweb/index.h
tm
Typical sources of interrupts should be identified including the
following classes:
• program generated
• processor time generated
• hardware failure
Realise that the current program is also assigned a priority.
Introduce concept of interrupt service routines and outline the
sequence of actions:
1. save status (registers etc.)
v1 2Y05
Cambridge International AS & A Level Computing (9691)
2
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
2. determine cause (poll status flags)
3. take relevant action
4. restore status
Possibly explain, using diagrams on the board, the use of
vectors to determine the location in memory of the
appropriate routine.
(c) define and explain the purpose of
scheduling, job queues, priorities and how
they are used to manage job throughput
Introduce the concepts of jobs, processes and scheduling.
Define the terms:
• job
• job queue
• priorities (including the concepts of processor bound and
peripheral bound)
• process (including running, runnable and suspended
states)
• scheduling
Cambridge International AS and A
Level Computing Coursebook –
pages 185–187
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_1/scheduling/miniweb/index.
htm
Introduce scheduling and discuss the following benefits:
• maximise use of hardware resources
• maximise throughput
• allocate resources fairly to all users
• provide acceptable response time for interactive users
• provide acceptable turnaround time for batch users
• manage system performance (e.g. temporarily increase
time taken to respond if the system is overloaded)
• prevent deadlock
Use simple diagrams to show the benefits of scheduling.
Include the following scheduling algorithms:
• shortest job first
• shortest remaining time
• round robin
(d) explain how memory is managed in a
v1 2Y05
Define the following terms:
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
3
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
typical modern computer system (virtual
memory, paging and segmentation should be
described)
•
Level Computing Coursebook –
pages 187–189
•
•
virtual memory (include the reasons for use e.g. allows
more processes to be run than could be held in main
memory)
paging
segmentation
Using diagrams on the board (or pre-prepared as a handout), explain the operation of segmentation and paging in
virtual memory systems, highlighting the differences between
the two systems.
(e) describe spooling, explaining why it is
used
(f) describe the main components of a typical
PC operating system, including the file
allocation table (FAT) and boot file
Using print spooling as an example (assuming students have
use of such a system) get students to describe the essential
features of what happens (print jobs stored on hard disk, job
reference stored in queue etc). Discuss how printing could be
achieved if spooling was not available as a means of
explaining why spooling is used.
Define the terms boot file, a file containing commands to
automatically configure a personal computer on start-up, and
file allocation table (FAT), a list held on disk by an operating
system to maintain and manage disk space used for file
storage.
Use classroom discussion to identify the components of a
personal computer operating system, as students should
have experience of using at least one operating system.
3.2
Cambridge International AS and A
Level Computing Coursebook –
pages 189–190
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_1/spooling/miniweb/index.ht
m
Cambridge International AS and A
Level Computing Coursebook –
pages 190–193
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_1/modern_pc/miniweb_pc/in
dex.htm
The functions and purposes of translators
Cambridge International AS and A
Level Computing Coursebook –
pages 203–204
Content:
3.2.1 Types of translators
3.2.2 Lexical analysis
3.2.3 Syntax analysis
3.2.4 Code generation
3.2.5 Linkers and loaders
v1 2Y05
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_1/memory%20management/
miniweb/index.htm
Cambridge International AS & A Level Computing (9691)
4
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
(a) understand the relationship between
assembly language and machine code
Show an assembly language program, highlighting the
assembly language statement syntax:
<optional label><opcode mnemonic><operand>
Cambridge International AS and A
Level Computing Coursebook –
pages 195–197
Show the translated version to highlight the one-to-one
connection between the two forms of the instruction.
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_2/translators_compilers/mini
web/pg2.htm
If the assembler shows evidence of two passes, symbol table
then use these in explaining the assembly process. Also
ensure that the explanation of how the opcode mnemonic is
converted uses an opcode table.
Cambridge International AS and A
Level Computing Coursebook –
pages 195–197
(b) describe how an assembler produces
machine code from assembly language
To complete the picture mention / show directives and
macros.
(c) describe the difference between
interpretation and compilation
Initially demonstrate the use of a compiler and the use of an
interpreter.
Highlight the differences between compilation and
interpretation including at a minimum:
• compiler translates the whole program (source code) into
object code that can be stored and re-used
• interpreter translates and executes a program line by
line. No object code is stored for further use, a program
has to be translated each time it is used
http://en.wikipedia.org/wiki/Assembler
_%28computer_programming%29#A
ssembler
Cambridge International AS and A
Level Computing Coursebook –
pages 197–199
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_2/translators_compilers/mini
web/pg14.htm
Discuss the advantages and disadvantages of compilation
and interpretation highlighting when it would be appropriate to
use a compiler or an interpreter (e.g. use an interpreter during
program development as errors can be easily checked and
modified). As students have used translators they should be
able to contribute to a discussion.
(d) describe what happens during lexical
analysis
(e) describe what happens during syntax
analysis
v1 2Y05
Introduce the stages of compilation:
lexical analysis
syntax analysis
•
•
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
Level Computing Coursebook –
pages 199-200
5
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
(f) explain the code generation phase, and
understand the need for optimisation
(g) explain the purpose of linkers and loaders,
and describe the use of library routines
•
•
http://en.wikipedia.org/wiki/Lexical_an
alysis
code generation
linking and loading
Describe in general terms what happens during each phase
including tokenisation, the use of the symbol table and
handling errors. Include reference to source code and object
code. Use sample code from a programming language that
your students are familiar with to demonstrate the general
principles.
http://en.wikipedia.org/w/index.php?tit
le=Syntax_analysis&redirect=no
Cambridge International AS and A
Level Computing Coursebook –
pages 200–202
http://en.wikipedia.org/wiki/Compiler
Cambridge International AS and A
Level Computing Coursebook –
pages 202–203
http://en.wikipedia.org/wiki/Linker_%2
8computing%29
http://en.wikipedia.org/wiki/Loader_%
28computing%29
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_2/lexical_syntax_analysis/mi
niweb/index.htm
(h) explain how errors are recognised and
handled during compilation
3.3
Show example error messages output from a compiler.
Ensure that there are examples of errors that would be
detected at the lexical analysis stage and errors that would be
detected at the syntax analysis stage. Try to get students to
identify when and how the error might be detected by the
compiler.
Computer architecture and the fetchexecute cycle
Content:
3.3.1 Von Neumann architecture
3.3.2 Registers: purpose and use
v1 2Y05
Cambridge International AS and A
Level Computing Coursebook –
page 203
Cambridge International AS and A
Level Computing Coursebook –
page 210
Cambridge International AS & A Level Computing (9691)
6
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
Introduce the concept of Von Neumann architecture – any
computer that takes a single instruction then obeys it before
processing the next instruction.
Cambridge International AS and A
Level Computing Coursebook –
pages 206–207
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_3/vonn_neuman/miniweb/in
dex.htm
3.3.3 Fetch-execute cycle
3.3.4 Parallel processors
(a) describe basic Von Neumann
architecture, identifying the need for and the
uses of special purpose registers in the
functioning of a processor
Describe the contents and the use of the following registers:
Sequence Control Register (Program Counter)
Current Instruction Register
Memory Address Register
Memory Buffer Register
•
•
•
•
(b) describe in simple terms the
fetch/decode/execute cycle and the effects of
the stages of the cycle on specific registers
(Program Counter, Memory Address
Register, Memory Data Register, Current
Instruction Register, Index Register and
Accumulator)
(c) explain the need for and the use of buses
to convey data (Data, Address and Control
Buses)
(d) discuss parallel processing systems (coprocessor, parallel processor and array
processor), their uses, their benefits and their
drawbacks
3.4
v1 2Y05
Prepare a diagram showing the flow of data/instructions
through the registers. Include the use of
Data/Address/Control buses. (make it clear what is being
transferred on the buses: data/ instructions on data bus;
addresses on address bus; signals on control bus). If possible
provide a demonstration of the fetch-execute cycle using one
of the computer programs commercially available and/or
search for and use one of the demonstrations available on
the world-wide-web. Using a set of simple Assembly
Language/Machine Code instructions trace the contents of
each of the registers, this can be done as a whole class
exercise giving the opportunity to work through the cycle
several times using different types of instruction.
Define parallel processing (the simultaneous use of several
processors to perform a single job). Compare this to the Von
Neumann computer.
Provide pre-determined scenarios of the use of parallel
processing e.g. weather forecasting, processing live images
from a satellite, artificial intelligence.
Cambridge International AS and A
Level Computing Coursebook –
pages 207–208
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_3/fetch_execute_cycle/theor
y_fetch_execute.html
Cambridge International AS and A
Level Computing Coursebook –
page 208
Cambridge International AS and A
Level Computing Coursebook –
pages 208–209
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_3/parallel_processors/miniw
eb/index.htm
Data representation, data structures and
data manipulation
Cambridge International AS & A Level Computing (9691)
7
Syllabus ref
Learning objectives
Suggested teaching activities
Cambridge International AS and A
Level Computing Coursebook –
pages 230–231
Content:
3.4.1 Number systems
3.4.2 Floating point binary
3.4.3 Normalisation of floating point binary
numbers
3.4.4 Implementation of data structures,
including linked lists, stacks, queues and
trees
3.4.5 Searching and sorting
(a) express numbers in binary coded decimal
(BCD) and hexadecimal
(b) describe and use two’s complement and
sign-and-magnitude to represent positive and
negative integers
(c) perform integer binary addition
Revise the use of binary numbers. Extend this work to include
octal (base 8), hexadecimal (base 16) and Binary Coded
Decimal (BCD).
Cambridge International AS and A
Level Computing Coursebook –
pages 212–213
Provide students with a worksheet containing codes in binary,
octal, hexadecimal and BCD to be converted into denary.
Also provide conversions from denary values in all three
number bases and BCD (include how many bytes would be
required).
http://en.wikipedia.org/wiki/Binarycoded_decimal
Demonstrate, with board work, the use of two’s complement
and sign and magnitude to represent positive and negative
numbers. Stress how to represent both positive and negative
numbers because many students often only consider the use
of negative numbers.
Cambridge International AS and A
Level Computing Coursebook –
pages 213–214
Introduce addition and subtraction using two’s complement
for integers.
Provide a worksheet with practice questions on converting
positive and negative denary integers to two’s complement
and sign and magnitude and addition and subtraction of the
binary integers. Provide questions that give the number of
bits available (e.g. 1 byte, 2 bytes etc). This will allow for
discussion of overflow.
(d) demonstrate an understanding of binary
v1 2Y05
Learning resources
Explain the structure of a floating-point number, including
Cambridge International AS & A Level Computing (9691)
http://en.wikipedia.org/wiki/Signed_nu
mber_representations
Cambridge International AS and A
Level Computing Coursebook –
page 214
http://en.wikipedia.org/wiki/Two%27s
_complement
Cambridge International AS and A
8
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
floating point representation of a real number
(e) normalise the floating point representation
of a number
(f) discuss the trade-off between accuracy
and range when representing numbers in
floating point form
definitions of the mantissa (non-zero fractional part) and
exponent (integer power).
Level Computing Coursebook –
pages 214–216
Provide examples showing the range of values that can be
stored and how a normalised number allows for the greatest
precision for a given size of mantissa. Explain how the
increase in range leads to a decrease in precision and
introduce the ideas of underflow (exponent too small) or
overflow (exponent too large) as the result of a calculation.
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_4/floating_point/theory_floati
ngpoint.html
Use method of
change to a binary number
normalise the binary value
adjust the exponent to accept the normalisation to create
floating point representations
•
•
•
Set worksheet exercises to practise the conversion of a
decimal number to binary floating point and binary floatingpoint numbers to decimal. Include positive and negative
numbers, large numbers and fractional values.
Give model answers to ensure correct technique.
(g) describe algorithms for the insertion,
retrieval and deletion of data items stored in
linked-list, binary tree, stack and queue
structures
(h) explain the difference between static and
dynamic implementation of data structures,
highlighting the benefits and drawbacks of
each
Revise the purpose of and structures of arrays, stacks,
queues (including the concepts of LIFO, FIFO, stack pointers,
pushing and popping to and from stacks and queues) and
linked lists.
Discuss the advantages and disadvantages of static and
dynamic data structures.
Cambridge International AS and A
Level Computing Coursebook –
pages 216–222
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_5/data_structures/miniweb/i
ndex.htm
Introduce the tree data structure using simple diagrams.
It is appropriate to provide an algorithm, as an example, for
insertion of data in a queue and let the students write their
own algorithm for deletion before introducing the model
answer.
Note that students should not attempt to learn algorithms.
v1 2Y05
Cambridge International AS & A Level Computing (9691)
9
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
The deletion of values from a tree is not expected.
Diagrams should be used to explain/describe the
amendments of the named data structures.
Ensure that students include checks for error conditions in
their responses.
(i) explain the difference between binary
searching and serial searching, highlighting
the advantages and disadvantages of each
Demonstrate the use of serial and binary searches with
several sets of data. Choose the data sets very carefully to
show the advantages and disadvantages of each type of
search by using both algorithms on the same set of data.
Cambridge International AS and A
Level Computing Coursebook –
pages 223–225
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_5/data_structures/miniweb_
search/index.htm
(j) describe algorithms for implementing
insertion sort and quick sort methods, and be
able to explain the difference between them
(detailed algorithmic solutions will not be
expected, only descriptions of how a solution
to a sort problem would be carried out)
Demonstrate the following sort routines:
• insertion sort
• quick sort
Cambridge International AS and A
Level Computing Coursebook –
pages 225–228
If possible use animations found on the Internet. Remind
students that they need to be able to describe the method –
not write an algorithm.
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_5/data_structures/miniweb_
search/index.htm
Start with the insertion sort, as it is the easiest one to
understand.
(k) describe the use of a binary tree to sort
data
Demonstrate how an in-order traversal of an ordered binary
tree (show how this is created) results in the items being
‘visited’ in sorted order.
Cambridge International AS and A
Level Computing Coursebook –
pages 228–229
http://en.wikipedia.org/wiki/Binary_se
arch_tree
(l) describe how data files are merged
v1 2Y05
Demonstrate the process of merging two files. Use two files
each with a small number of records. Show that the files have
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
Level Computing Coursebook –
10
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
to have the same record structure and that the records in
each file have to be in order.
pages 229–230
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_5/data_structures/miniweb_
search/pg5.htm
3.5
Programming paradigms
Cambridge International AS and A
Level Computing Coursebook –
pages 259–260
Content:
3.5.1 Types of languages and typical
applications
3.5.2 Features of different types of language
3.5.3 Methods for defining syntax
(a) describe the characteristics of a variety of
programming paradigms (low-level, objectoriented, declarative and procedural)
(b) explain, with examples, the terms objectoriented, declarative and procedural as
applied to high-level languages
Provide definitions of the following types of programming
languages and the characteristics of each:
• declarative
• procedural
• object oriented
• low level
Cambridge International AS and A
Level Computing Coursebook –
pages 233–236
(c) explain how functions, procedures and
their related variables may be used to
develop a program in a structured way, using
stepwise refinement
Review top-down approach, procedures and functions and
introduce stepwise refinement.
Cambridge International AS and A
Level Computing Coursebook –
pages 236–237
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_6/types_language/miniweb/i
ndex.htm
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_7/programming/miniweb/ind
ex.htm
(d) describe the use of parameters, local and
global variables as standard programming
techniques
Describe the use of global variables, local variables and
parameter passing (by value and by reference).
Cambridge International AS and A
Level Computing Coursebook –
pages 237–241
www.teach-
v1 2Y05
Cambridge International AS & A Level Computing (9691)
11
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
ict.com/as_as_computing/ocr/H447/F
453/3_3_7/programming/miniweb/ind
ex.htm
(e) explain how a stack is used to handle
procedure calling and parameter passing
Review functions of a stack, explain the use of a stack to
handle procedure calling and return including pushing of
return address, parameter values/addresses on entry to a
procedure and popping of same on exit from a procedure.
Cambridge International AS and A
Level Computing Coursebook –
pages 241–243
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_7/stack/miniweb/index.htm
(f) discuss the concepts and, using examples,
show an understanding of data encapsulation,
classes and inheritance when referring to
object-oriented languages
Explain the concepts of object-oriented languages including
at a minimum:
• encapsulation (keeping together data structures and
methods)
• classes
• derived classes
• inheritance (derived classes carry the data structures
and methods of the superclass)
Cambridge International AS and A
Level Computing Coursebook –
pages 243–245
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_6/language_features/miniwe
b/index.htm
Use everyday examples to introduce these ideas e.g. class
definition of clock, derived classes – analogue clock and
digital clock.
(g) interpret and create class and object
diagrams
Show how classes and inheritance can be represented on a
diagram by using a number of examples.
Cambridge International AS and A
Level Computing Coursebook –
pages 244–245
Show examples of object diagrams.
Highlight the differences between the two types of diagram
and use this to reinforce the difference between a class and
an object.
(h) discuss the concepts and interpret
examples, showing an understanding of
backtracking, instantiation and satisfying
goals when referring to declarative languages
v1 2Y05
Explain the concepts of declarative languages including at a
minimum:
• rules
Cambridge International AS & A Level Computing (9691)
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_6/uml/miniweb/index.htm
Cambridge International AS and A
Level Computing Coursebook –
pages 246–249
12
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
•
•
•
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_6/declarative/miniweb/index.
htm
•
facts
backtracking
instantiation (binding of a variable to a value during
resolution, lasting only long enough to satisfy one
complete goal)
satisfying goals
Use everyday examples to introduce these ideas.
(i) explain the concepts of immediate, direct,
indirect, indexed and relative addressing of
memory when referring to low-level
languages
Using simplified assembly language describe the following
ways of addressing memory:
• immediate (the operand is the data to be used)
• direct (using the contents of the address)
• indirect (using the contents of the address as a pointer to
another address)
• indexed (using the contents of the address in
combination with the contents of an index register to
determine the address)
• relative (the operand acts as an offset and is added to
the PC to get the next address to be fetched)
Cambridge International AS and A
Level Computing Coursebook –
pages 249–251
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_8/lowlevel/home_lowlevel.ht
ml
This could be demonstrated by the use of a simple set of
examples on the board or the use of a commercially available
simulation program depending upon the resources available.
(j) explain the need for, and be able to apply,
BNF (Backus-Naur form) and syntax
diagrams
Demonstrate on the board the use of Backus-Naur form
(BNF) as a formal method to describe simple syntax of a
programming language.
Use the following meta symbols:
::= is defined by
| OR
<> meta variable
e.g.
<hexdigit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E |
F
Cambridge International AS and A
Level Computing Coursebook –
pages 251–255
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_7/bnf/miniweb/index.htm
Student centred exercise using worksheets to reinforce / test
v1 2Y05
Cambridge International AS & A Level Computing (9691)
13
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
knowledge – perhaps providing simple examples to extend.
Revise the answers to the worksheet as a class discussion to
reinforce the concepts studied.
Demonstrate the use of syntax diagrams as a formal method
to describe simple syntax of a set of rules.
(k) explain the need for reverse Polish
notation
(l) convert between reverse Polish notation
and the infix form of algebraic expressions
using trees and stacks
Using some examples get students to suggest why infix
expressions present problems for translators. Show how an
HLL expression might be represented as a set of assembly
language statements (to illustrate problems of brackets and
order of evaluation). Do the same with the equivalent reverse
Polish expression to bring out the advantages of this form of
the expression.
Demonstrate how a particular tree traversal method can
produce the infix form of an expression. Demonstrate clearly
(have a succession of stacks rather than just one) to show
how the stack contents change when a reverse Polish string
of characters is processed.
Give students prepared sheet of exercises with empty stacks
to encourage correct layout of answers.
3.6
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_7/revpolish/miniweb/index.ht
m
Cambridge International AS and A
Level Computing Coursebook –
pages 256–259
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_7/revpolish/miniweb/index.ht
m
Databases
Cambridge International AS and A
Level Computing Coursebook –
pages 272–273
Content:
3.6.1 Database design
3.6.2 Normalisation and data modelling
3.6.3 Methods and tools for analysing and
implementing database design
3.6.4 Control of access to relational database
elements
(a) describe flat files and relational databases
v1 2Y05
Cambridge International AS and A
Level Computing Coursebook –
pages 255–256
Review work done on files, indexing and key fields from
Paper 1. Contrast this with the use of databases:
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
Level Computing Coursebook –
14
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
Teachers should concentrate on relational databases, it being
enough to simply mention network and hierarchical and how
they differ.
pages 262–264
Use diagrams to show each type of database.
(b) design a simple relational database to
third normal form (3NF)
Using a practical example of a previously set up relational
database introduce the concepts of:
• tables
• primary keys
• foreign keys
• secondary keys
• views of data
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_9/database_design/miniweb
/index.htm
Cambridge International AS and A
Level Computing Coursebook –
pages 264–265
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_9/normalisation/home_norm
alisation.html
Demonstrate and explain the purpose of each of these
concepts using the pre-prepared database then introduce the
students to the formally set out underlying data structures.
e.g. TableLoan (LoanNo, BookNo, LibMemNo, BorrowDate,
ExpReturnDate, ActReturnDate)
Where LoanNo is the primary key of the loan table
BookNo and LibMemNo are foreign keys from other tables in
a library database.
Demonstrate the principles of normalisation starting with a flat
file data structure and working through the stages of
normalisation:
•
•
•
st
1 normal form – remove repeating data
nd
2 normal form – remove partial key dependencies
rd
3 normal form – remove non-key dependencies
Choose your examples very carefully to ensure the one used
for demonstration and the first few that the students attempt
need work to be done at all stages (many examples may not
yield composite keys so there can be no partial key
v1 2Y05
Cambridge International AS & A Level Computing (9691)
15
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
dependencies).
Provide pre-determined scenarios e.g. customer orders,
student records etc. that allow the students to identify, specify
and normalise the data structures required.
(c) draw and interpret entity-relationship (E-R)
diagrams
Introduce the concepts of entities and relationships (one-toone, one-to-many, many-to-many).
Use everyday occurrences to demonstrate these concepts
e.g. the student-teacher model can be discussed showing the
idea of a many-to-many relationship between student and
teacher and how the introduction of other entities such as
class meeting can help organise the model.
Explain how the relationships need to be carefully labelled in
order to show understanding. Similar data structures can be
used to the ones prepared for the normalisation exercise, this
will help enforce how these two techniques complement each
other.
Cambridge International AS and A
Level Computing Coursebook –
pages 266–267
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_9/er_diagrams/home_er_dia
grams.html
Ensure familiarity with the concept of a link entity.
(d) explain the benefits that using a relational
database gives over flat files
(e) define and explain the purpose of primary,
secondary and foreign keys
Introduce the advantages of using a relational database
rather than a flat file including:
• data independence
• data consistency
• lack of duplication of data
• less redundant data
Cambridge International AS and A
Level Computing Coursebook –
page 267
See (b) above.
Cambridge International AS and A
Level Computing Coursebook –
pages 267–268
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_9/database_design/miniweb
/pg8.htm
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_9/dbkey/miniweb/index.htm
(f) explain the importance of varying the
v1 2Y05
Extend the discussion on DBMS to include the use of
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
16
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
access allowed to database elements at
different times and for different categories of
user
different views of the system for different categories of users
and at different times. Discuss the type of access e.g. read,
read/write etc; the view allowed e.g. different types of user
could be allowed access to certain elements of data; the
effect of time on availability of data e.g. some elements not
yet released or some elements may have been archived.
A pre-prepared database and/or pre-determined scenario
would help students understand these concepts e.g. a
database of students, courses, and examination results or
chose another example that the students will be able to relate
to.
Level Computing Coursebook –
pages 268–269
(g) describe the structure of a database
management system (DBMS), including the
function and purpose of the data dictionary,
data description language (DDL) and data
manipulation language (DML)
Referring to the practical work completed introduce the main
functions of a DBMS:
• Data Dictionary (an internal file containing the name,
description, characteristics, relationships for each data
item and information about programs and users.
• Data Description/Definition Language (DDL)
• Data Manipulation Language (DML)
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_9/ddl/miniweb/pg8.htm
Cambridge International AS and A
Level Computing Coursebook –
pages 269–272
www.teachict.com/as_as_computing/ocr/H447/F
453/3_3_9/ddl/miniweb/index.htm
Explain that this information is stored with the data in a
database system. Students may have used a GUI to define
and manipulate data but a demonstration of the underlying
commands actually used (e.g. showing the SQL commands
produced by a QBE query) could be used to show the
functions of a DDL and a DML as SQL has both properties.
3.7
Simulation and real-time processing
Content:
3.7.1 Applications of real-time computing
3.7.2 The feedback loop; input and output;
sensors and actuators
3.7.3 The use of robots
3.7.4 Uses of simulation
3.7.5 Variation of parameters and conditions;
time steps
v1 2Y05
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
Level Computing Coursebook –
pages 279–280
17
Syllabus ref
Learning objectives
Suggested teaching activities
Learning resources
(a) describe real-time applications
Describe a variety of real time systems stressing the need for
speed of response to external events but also including the
need for reliability and recovery.
Cambridge International AS and A
Level Computing Coursebook –
page 274
http://en.wikipedia.org/wiki/Realtime_computing
(b) explain the use of sensors and actuators
for visible, tactile, audible and other physical
signals
Introduce the idea of a feedback loop by describing a simple
system e.g. a temperature control system attached to a
heater and a fan. Also discuss the need for sensors and
actuators to implement this system.
Cambridge International AS and A
Level Computing Coursebook –
pages 274–276
Extend this work to look at a variety of other real time
systems that use the following types of signals:
• visible
• tactile
• audible
• other physical signals
(c) demonstrate an understanding of the use
of robots in a variety of situations such as the
manufacturing process or hazardous
environments
(d) explain the reasons for simulation, such
as to change time-scales and/or save costs
and/or avoid danger
(e) discuss the advantages of simulation in
testing the feasibility of a design
v1 2Y05
Extend the discussion on sensors to include robots.
Make use of pre-prepared scenarios to stimulate discussion
of the use of robots in manufacturing (e.g. high precision jobs
such as painting, welding and riveting) and hazardous
environments e.g. (cleaning toxic waste or bomb disposal).
Look at the different reasons for modelling different types of
situation:
• predictions e.g. weather forecasting
• design e.g. testing stresses in bridge design
• hypotheses e.g. a country’s economics over varying time
scales and conditions
Discuss the importance of observing the effect of the variable
elements in any simulation and also simulation limitations
where there are unpredictable, random events e.g. the effect
of a coup d’etat on a country’s economy, very bad weather in
flight simulators.
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
Level Computing Coursebook –
pages 276–277
http://science.howstuffworks.com/rob
ot6.htm
Cambridge International AS and A
Level Computing Coursebook –
pages 277–279
Cambridge International AS and A
Level Computing Coursebook –
page 279
http://en.wikipedia.org/wiki/Simulation
#More_examples_in_various_areas
18
Syllabus ref
Learning objectives
3.8
Networking
Suggested teaching activities
Cambridge International AS and A
Level Computing Coursebook –
page 290
Content:
3.8.1 Data transmission
3.8.2 Network components
3.8.3 Common network environments
3.8.4 Issues of confidentiality
3.8.5 Encryption and authentication
techniques
(a) demonstrate awareness of different media
for transmitting data and their carrying
capabilities
Learning resources
Get students to research different media (wired and wireless),
some detail of the media itself (e.g. copper wire surrounded
by insulation for coaxial cable), and some figures for transfer
rates and ranges. Produce a summary table.
Cambridge International AS and A
Level Computing Coursebook –
pages 281–283
http://en.wikipedia.org/wiki/Computer
_network
(b) explain the different purposes of network
components, including switches, routers,
bridges and modems
(c) discuss common network environments,
such as intranets, the Internet and other open
networks, their facilities, structure and ability
to exchange information using appropriate
software and techniques
Recap on purpose of each of the devices.
Test student understanding by getting them to draw a
diagram of a large school/college network where each of the
components is present.
Define open networks, referring to standards (e.g. ISDN) and
networks. As students will probably have used open
networking systems e.g. the Internet identify the facilities
available and the advantages offered.
Cambridge International AS and A
Level Computing Coursebook –
pages 283–285
www.cableforum.co.uk/board/94/3362
8643-networking-hub-switch-modemrouter.html
Cambridge International AS and A
Level Computing Coursebook –
pages 286–287
http://en.wikipedia.org/wiki/Intranet
Use the Internet as an example of an open network and
intranets as examples of closed networks.
http://en.wikipedia.org/wiki/Isdn
Discuss the exchange of information over networks, perhaps
compare and contrast the use of different methods e.g. FTP
(File Transfer Protocol) with the use of HTTP for multimedia.
(d) discuss the problem of maintaining
v1 2Y05
Discuss the problems of ensuring the confidentiality of data
Cambridge International AS & A Level Computing (9691)
Cambridge International AS and A
19
Syllabus ref
v1 2Y05
Learning objectives
Suggested teaching activities
Learning resources
confidentiality of data on an open network
and how to address this problem
(e) explain the need for encryption,
authorisation and authentication techniques
(candidates will not be expected to know any
specific method in detail)
as it is being transferred across and stored at nodes on an
open network, where coding and transmission methods are
freely available. Include the following ideas in your
discussion:
• prevention of access to data when stored e.g. physical
security, use of access levels and passwords
• protection of data, from malicious interference, during
transmission e.g. use of encryption (including public and
private keys), screening of cables, problems with radio
transmission, benefits of packet switching etc.
• ensuring that information is from a trusted source e.g.
use of digital certificates to verify the authenticity of the
message sender and provide the receiver with the
means to encode a reply
• use of authorisation techniques to ensure that
confidential information only reaches the intended
recipient e.g. use of passwords, responses to special
questions, provision of memorable data etc.
Level Computing Coursebook –
pages 287–290
Cambridge International AS & A Level Computing (9691)
www.howstuffworks.com/encryption.h
tm
http://computer.howstuffworks.com/co
mputer-user-authenticationchannel.htm
http://en.wikipedia.org/wiki/Public_key
_certificate#Contents_of_a_typical_di
gital_certificate
20
Download