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