| |

For the award of the Advanced Diploma, candidates must successfully complete
the assessments for one of units 301-305 plus 306 and 307, plus any two other
units, from 301-311 within the Level 3 Advanced Diploma for IT Practitioners
(Software Development) award. Core units 301 Develop software using
'C' 302 Develop software using C++ 304 Develop software using Visual
Basic 305 Develop software using Java 306 Create designs for
software 307 Requirements analysis and systems specification Optional
units 309 Web site design 311 Relational database City & Guilds
Unit 306 Create designs for Software (Mandatory) Rationale The aim of
this unit is to enable candidates to develop the skills required to create a
detailed software design specification from a given outline program design
specification.
There are 5 outcomes to this unit. The candidate will be able to 1.
explain the concepts of software design 2. use diagrammatical representation
for design 3. specify data types and data structures 4. develop a software
design specification 5. validate the completed design specification 6.
identify Health and Safety requirements Assessment Assessment will be by
means of a set assignment covering both practical activities and underpinning
knowledge.
Outcome 1: Explain the concepts of software design Underpinning knowledge
- the candidate will be able to 1. describe the advantages in adopting a
formal design procedure: * maintainability of code * reliability of code
* reusability of code * comprehension of code * hardware independence
(portability of code) * code is easily checked and tested * language
independence 2. List and describe the three fundamental program constructs:
* sequence * selection * iteration 3. Describe and distinguish
between various types of iteration: * definite * indefinite *
pre-condition * post-condition 4. Describe the purpose and value of using
a structured approach by transferring control to * functions *
procedures/subroutines * class interfaces and five examples of their
use 5. describe the top-down and bottom-up approaches to program design 6.
explain the need for consistency and traceability when naming variables, files,
function, procedures/subroutines, objects, attributes/ properties and
methods 7. list the information that should be contained in a program
specification, see Appendix A blow Outcome 2: Use diagrammatical
representation for design Practical activities - the candidate will be able
to 1. interpret * an Event/Action chart * a structure chart * an
object model * a State Transition Diagram (STD) * an Event-state
table * a flowchart * process specification (eg; structured English/
pseudocode) 2. interpret file, screen and print layouts Underpinning
knowledge - the candidate will be able to 1. explain how an Event/Action
chart is used to represent the links between events and code for an event-driven
program 2. explain how event-driven programs respond to events initiated by a
user 3. explain how a structure chart is used to represent the links between
code modules for a procedural program 4. explain why procedural program
modules should have high cohesion and low coupling 5. explain how an object
model is used to show the links between objects for an object oriented
program 6. describe how objects encapsulate data 7. explain how objects
are accessed through their interfaces 8. explain that real-time programs
respond to events which cause a change from one state to another 9. explain
that a State Transition Diagram provides a diagrammatical representation of the
possible states, transitions and enabling events in a real-time program 10.
identify that a transition between states takes place as a result of an event
occurring 11. explain that each entry in an Event-state table for a real-time
program defines: * any condition that must be satisfied * the necessary
action to be performed as a result of the event * the new state Outcome 3:
Specify data types and data structures Practical activities - the candidate
will be able to 1. document the designs of a program by specifying: *
variable names and data types * argument names and data types * return
value data types * objects, attributes/properties and methods * data
structures * external and internal filename(s) * file access method *
user-defines data types Underpinning knowledge - the candidate will be able
to 1. identify the basic data types: integer, floating point, character,
string, boolean 2. explain the purpose of a pointer data type 3. explain
that an object is made up of attributes/properties and methods 4. describe
one-dimensional arrays, multi-dimensional arrays and the use of subscripts 5.
explain the meaning of the terms file, record and field and describe the
relationships between them 6. explain that fields in a file should be as
small as possible to reduce the overall file size 7. describe the access
methods for files * sequential * random 8. explain the advantages of
using random access files 9. explain the difference between an external
filename and an internal filename 10. explain that all accesses to a file
must be checked for successful completion 11. list the types of errors that
can occur when accessing a file, (eg; file does not exist, record does not
exist, read past end of file, hardware fault) 12. explain the purpose of a
used-defined data type 13. explain how a data structure can be used to create
the following: * table * stack * queue * tree * linked
list 14. describe algorithms for sorting: * bubble sort *
quicksort 15. describe algorithms for searching: * serial search *
binary search Outcome 4: Develop a software design specification Practical
activities - the candidate will be able to 1. identify from an outline design
specification the software components required 2. select and produce suitable
diagrammatical representations for different programming requirements: *
event-driven * procedural * object-oriented * real-time 3. produce
program design language alogorithms for components 4. insert references to
any pre-written library routines or objects to be used 5. specify * the
peripherals required * error handling routines to trap errors * screen
error messages * security measures * constraints, (eg: file size,
hardware) 6. apply validation checks to input data 7. produce file,
screen and print layouts Underpinning knowledge - the candidate will be able
to 1. explain that pseudocode, structured English or flowcharts may be used
as program design language 2. explain the advantages of using pre-written
library routines or objects (eg: built-in, in-house, third-party) 3. explain
the need for validation checks on data input 4. identify the different types
of validation check that may be performed (eg: range, type (alphabetic,
numeric), check digits, hash totals) 5. explain he importance of designing
programs to handle error conditions 6. list examples of error conditions that
can occur in software 7. explain the need for security measures: *
backup * passwords Outcome 5: Validate the completed design specification
Practical activities - the candidate will be able to 1. prepare a test
plan for logical testing 2. derive the expected results from a given set of
test data 3. use the technique of dry running to test the logic of a
design 4. check the design for consistency and completeness 5. check that
quality criteria is met by the design 6. verify that the design conforms
fully with the given specification Underpinning knowledge - the candidate
will be able to 1. explain the need for testing with invalid input data as
well as valid input data 2. explain the importance of testing boundary
limits 3. list the advantages of a rigorous and standardised method of design
for a large system, where a team of people will be involved in the
implementation of software 4. explain the benefits of planned incremental
implementation and testing of software components 5. describe the quality
criteria which should be met by the design: * effectiveness *
modifiability * portability * use of standard routines *
reliability * reusability * store usage * security * ease of
operation Outcome 6: Identify Health and Safety requirements Practical
activities - the candidate will be able to 1. maintain a safe working
environment for self and others 2. use safe working practices at all
times 3. operate equipment according to suppliers, manufacturers and/or
workplace requirements 4. use and maintain equipment, materials and
accessories to a safe standard 5. use reporting procedures to report any
hazards Underpinning knowledge - the candidate will be able to 1. describe
what elements and practices create a good working environment 2. identify the
health and safety precautions to adopt when using a computer 3. identify
injuries common in a bad working environment 4. identify cleaning procedures
related to IT equipment 5. explain the term 'ergonomics' 6. describe the
main points of relevant legislation: Health and Safety at work Act 1974,
electrical regulations, working with VDU's, COSHH regulations 7. explain the
importance of keeping fire doors and exits clear and unblocked 8. describe
the use of different types of fire extinguishers, in particular those suitable
for use in the IT envionment. Appendix A - Information in a program
specification In order to provide a complete basis for design, a program
specification will needf to contain most or all of the following information:
* User needs, expectations and experience * Input and output
specifications - file formats - file access methods - record
design - data definitions - data types - data strictures -
quantity - acceptable values * Processing requirements description to be
read by: - users - management - audit * Reports required - print
layout - screen layout - file format * Code structures to be used *
Peripherals to be used * Controls necessary to prove that : - correct
files were input - all of the data input has been processed - all of the
data is accounted for on output * Quality criteria to be met by the design,
particularly in terms of: - effectiveness - modifiability -
portability - use of standard routines - store usage - security -
ease of operation - reliability - re-usability * Other criteria -
run-time parameters - operator-controlled insertions (if any) -
system-generated data - error reports - management information *
Program test plan - data in - expected output City & Guilds Unit
307 Requirements analysis and systems specification (Mandatory) City &
Guilds Unit 301 Develop Software using 'C' (Core) Rationale The aim of
this unit is to enable candidates to understand the principles required to
develop software using the 'C' programming language. Candidate will develop the
skills required to design, create and test software components to solve a given
problem.
There are 7 outcomes to this unit. The candidate will be able to 1.
interpret program specifications to develop software 2. develop software
components 3. use functions 4. use pre-defined functions 5. save and
retrieve data from disk 6. describe the principles of software testing and
management 7. produce documentation Assessment Assessment will be by
means of a set assignment covering both practical activities, and a multiple
choice test covering underpinning knowledge.
Outcome 1: Interpret program specifications to develop software Practical
activities - the candidate will be able to 1. use program specifications to
design a solution 2. use the design to select the most appropriate components
to solve the problem 3. create software from the design using a 'C' text
editor 4. use suitable validation to control user input 5. use good coding
practice in the implementation of the design Underpinning knowledge - the
candidate will be able to 1. specify the components required to create
software from project specifications 2. identify the need for program
design 3. identify the need for effective validation within a program 4.
explain the need for comments in a program 5. explain the need for
indentation in a program 6. explain the need for consistency in the coding of
the program 7. identify that all languages use algorithms 8. identify that
control structures take on a similar role between languages: - * selection
* sequence * iteration Outcome 2: Develop software
components Practical activities - the candidate will be able to 1. develop
programs using the data types int, float, double and char 2. use the data
qualifiers long, short, signed and unsigned 3. declare and use struct 4.
declare and use an array of structures 5. declare and initialise a
pointer 6. use pointers to access and alter values stored 7. use
indirection operators 8. use switch statements 9. design algorithms to
validate user input 10. construct and use one and two dimensional arrays of
data types: - int[] char[] float[] 11. develop header files to define shared
constants and functions 12. use header files to define constants, external
functions and simple madros 13. use the assignment operators: - = += _= *=
/= %= 14. use casting in a program 15. use the ++ and - - operators in
prefix and postfix modes 16. use enumeration to specify a set of
constants 17. use auto, static, extern, const and typedef in a program 18.
use free and malloc to manage memory Underpinning knowledge - the candidate
will be able to 1. describe the format of struct 2. identify an array of
structures 3. explain that a pointer is a variable that holds the memory
address of another variable 4. state the purpose of the indirection
operator 5. explain that the name of an array is equivalent to a pointer to
the first element of that array 6. identify the use of switch statement in
selection 7. describe the purpose of default, break and continue in a switch
statement 8. explain why it is necessary to validate user input 9. explain
the difference between a one and two-dimensional array 10. describe the
component parts of a string 11. identify the declaration of user defined
header files 12. describe the use of the assignment operators =, +=, _=, *=,
/= and %= 13. explain the reason for casting 14. describe the use of enum,
auto, static, extern, const and typedef in a program 15. explain the concept
of dynamic memory allocation 16. identify that the keywords free and malloc
are concerned with memory management 17. explain properties of the ++ and - -
incrimination operators in prefix and postfix modes Outcome 3: Use
functions Practical activities - the candidate will be able to 1. create a
program using functions and pass values by value (copy) 2. create a program
using functions and pass values by reference using the & operator 3. pass
structures to functions: - * by value (copy) * by reference 4. pass
strings to functions 5. create functions that return values to the calling
function of data types: - char int float. Underpinning knowledge - the
candidate will be able to 1. describe the meaning of pass by value (copy) of
function 2. describe the meaning of pass by reference to functions 3.
describe the purpose of the reference operator & 4. identify the return
type of a function 5. explain the need for function prototypes 6. explain
the declaration of variable and pointers in function arguments (eg: in
parenthesis) Outcome 4: Use pre-defined functions Practical activities -
the candidate will be able to 1. use pre-defined functions: - *
strcpy() * strcat() * strlen() * atoi() * atof() * gets() *
puts() * toupper() * tolower() 2. use #define in a program 3. use a
clear screen function Underpinning knowledge - the candidate will be able
to 1. explain the difference between #include and #define directives 2.
identify from given specification data type(s) to be used 3. identify the
correct use of: - * strcpy() * strcat() * strlen() * atoi() *
atof() * gets() * puts() * toupper() * tolower() Outcome 5: Save
and retrieve data from disk Practical activities - the candidate will be able
to 1. use standard header files to define functions and data types for
input/output routines 2. manipulate files: - * write to a file * read
from a file * append to a file 3. create files of type: - * text *
binary 4. declare file pointers Underpinning knowledge - the candidate
will be able to 1. explain the need for a file pointer 2. explain the
purpose of input and output modes 3. explain the importance of closing a file
after use Outcome 6: Describe the principles of software testing and
managementPractical activities - the candidate will be able to 1. verify that
the program conforms to the design specification 2. dry run a program 3.
implement change control procedures 4. test the software according to a
prepared test plan 5. determine the expected outcome from a program 6.
compare the expected outcome to the actual outcome and decide of the program is
working correctly 7. keep a long of the results for each test 8. clearly
identify any discrepancies and any amendments made to correct errors 9.
resolve logical and run-time errors found during testing Underpinning
knowledge - the candidate will be able to 1. explain the reasons for testing
a program prior to implementation 2. describe the meaning of a dry run 3.
describe the meaning of a compilation error 4. describe the meaning of a
run-time error 5. describe the purpose of test data 6. explain the need to
test software in the target environment 7. state the difference between
interfacing and integration 8. explain why software is integrated 9. state
that interface testing is conducted to evaluate whether systems or components
pass data and control correctly to one another 10. state that interface
design is the activity concerned with the interfaces of the software system
contained in the software requirements documentation 11. state that
interfacing consolidates the interface descriptions into a single interface
description of the software system as a whole 12. explain the need for an
overall control when developing software projects 13. identify the benefits
of teamwork to avoid duplication of effort, when working on a large
project 14. describe the need for control and documentation of any changes to
programs Outcome 7: Produce documentation Practical activities - the
candidate will be able to 1. produce end user instructions that are clear and
unambiguous 2. produce technical documentation to describe the purpose of the
program and its operation 3. print listing of code Underpinning knowledge
- the candidate will be able to 1. identify the need for end user
instructions 2. describe the need for technical documentation to aid future
maintenance and reusability City & Guilds Unit 302 Develop Software
using 'C++' (Core) Rationale The aim of this unit is to enable
candidates to understand the principles required to develop software using 'C++'
programming language. Candidates will develop the skills required to design,
create and test software to solve a given problem.
There are 8 outcomes to this unit. The candidate will be able to: 1.
Interpret program specifications to develop software 2. Develop software
components 3. Use functions 4. Use pre-defined functions 5. Save and
retrieve data from disk 6. Use Object Oriented Programming (OOP) 7.
Describe the principles of software testing and management 8. Produce
documentation. Guided learning hours The recommended guided learning
hours for this unit are 90 hours. Assessment Assessment will be by means
of a set assignment covering practical activities, and a multiple choice test
covering underpinning knowledge.
Outcome 1: Interpret program specifications to develop software.
Practical activities The candidate will be able to: 1. Use program
specifications to design a solution 2. Use the design to select the most
appropriate components to solve the problem 3. Create software from the
design using a 'C++' text editor 4. Use suitable validation to control user
input 5. Use good coding practice in the implementation of the design.
Underpinning knowledge The candidate will be able to: 1. Specify the
components required to create software from project specifications 2.
Identify the need for program design 3. Identify the need for effective
validation within a program 4. Explain the need for comments in a
program 5. Explain the need for indentation in a program 6. Explain the
need for consistency in the coding of the program 7. Identify that all
languages use algorithms 8. Identify that control structures take on a
similar role between languages i.e:- * Selection * Sequence *
Iteration. Outcome 2: Develop software components. Practical
activities The candidate will be able to: 1. Develop programs using the
data types int, float, double and char, static, auto and const 2. Use the
data qualifiers long, shirt, signed and unsigned 3. Declare and use
struct 4. Declare and initialise a pointer 5. Use pointers to access and
alter values stored 6. Use indirection operators 7. Use switch
statements 8. Design algorithms to validate user input 9. Construct and
use one and two dimensional arrays of data types:-int[] char[] float[] 10.
Develop header files to define shared constants and functions 11. Use header
files to define constants, external functions and simple macros 12. Use the
assignment operators:- -+= -= *= /= %= 13. Use casting in a
program 14. Use the ++ and - operators in prefix and postfix modes 15. Use
enumeration to specify a set of constants 16. Use local and global variables
in a program Underpinning knowledge The candidate will be able to: 1.
Describe the format of a struct 2. Identify an array of structures 3.
Explain that a pointer is a variable that holds the memory address of another
variable 4. State the purpose of the indirection operator 5. Explain that
the name of an array is equivalent to a pointer to the first element of that
array 6. Identify the use of a switch statement in selection 7. Describe
the purpose of default, break and continue in a switch statement 8. Explain
why it is necessary to validate user input 9. Explain the difference between
a one and two-dimensional array 10. Describe the component parts of a
string 11. Identify the declaration of user header files 12. Describe the
use of the assignment operators =, +=, +=, /= and %= 13. Explain the reason
for casting in a program 14. Describe enumeration 15. Explain properties
of the ++ and - incrimination operators in prefix and postfix modes 16.
Explain the use of * Static * Auto * Const 17. Identify the
difference between local global variables 18. Describe the use of the NULL
pointer 19. Identify the declaration of one and two-dimensional arrays.
Outcome 3: Use functions. Practical activities The candidate will be
able to: 1. Create a program using functions and pass values by value (copy)
2. Create a program using functions and pass values by reference using the
& operator 3. Pass structures to a function:- * by value * by
reference 4. Pass strings to functions 5. Create functions that return
values to the calling function of the data types:-char int float 6. Use
const in function parenthesis Underpinning knowledge The candidate will be
able to: 1. Describe the meaning of pass by value (copy) to functions 2.
Describe the meaning of pass by reference to functions 3. Describe the
purpose of the reference operator & 4. Identify the return type of a
function 5. Explain the need for function prototypes 6. Explain the
declaration of variables and pointers in function arguments i.e.
parenthesis 7. Explain why defaults parameters are used 8. Describe how
functions can be overloaded 9. Describe the use of const in function
parenthesis. Outcome 4: Use pre-defined function. Practical
activities The candidate will be able to: 1. Use pre-defined functions
e.g.: - * strcpy() * strcat() * strlen() * atoi() * atof() *
gets() * puts() * toupper() * tolower() 2. Use #define or const in a
program 3. Use a clear screen function. Underpinning knowledge The
candidate will be able to: 1. Explain the difference between #include and
#define directives 2. Explain the scope of const 3. Identify and describe
the pre-defined functions e.g.:- * strcpy() * strcat() * strlen() *
atoi() * atof() * gets() * puts() * toupper() *
tolower(). Outcome 5: Save and retrieve data from disk Practical
activities The candidate will be able to: 1. Use standard header files to
define functions and data types for input/output routine 2. Manipulate files:
- * Write to a file * Read from a file * Append to a file 3. Create
files of type:- * Text * Binary 4. Declare file objects 5. Use cerr
in a program Underpinning knowledge The candidate will be able to: 1.
Explain the need for a file object 2. Explain the purpose of input and output
modes 3. Explain the importance of closing a file after use 4. Explain the
correct method to close a file on disk 5. Identify the purpose of the file
streams fstrem, istream and ostream 6. Identify the hierarchy of the handling
streams 7. Explain the purpose of cerr. Outcome 6: Use Object Oriented
Programming (OOP) Practical activities The candidate will be able to:
1. Use classes in program design incorporating:- * Objects *
Methods * Attributes 2. Use the scope resolution operator:: 3. Use
functions of types: - * inline * friend 4. Create derived classes
which:- * are derived * uses inheritance 5. Use the following in a
program:- * constructor * destructor 6. Use the this pointer in a
program. Underpinning knowledge The candidate will be able to: 1.
Identify a program that uses classes 2. Explain an instance of a class 3.
Describe what is meant by the keywords private and public 4. Describe the
difference between attributes and methods 5. Explain the meaning of :- *
encapsulation * inheritance * polymorphism 6. Explain the purpose of:-
* an inline function * a friend function 7. Explain what is meant by
reusability 8. Explain the purpose of a constructor and a destructor in a
program 9. Explain the purpose of the tilde (~) 10. Describe the purpose
of the scope resolution operator :: 11. Describe the purpose of the scope of
this pointer 12. Explain that an object of a class be initialised when
instantiated 13. Describe the main components of an object. Outcome 7:
Describe the principles of software testing and managementPractical
activities The candidate will be able to: 1. Verify that the program
conforms to the design specification 2. Dry run a program 3. Implement
change control procedures 4. Test the software according to a prepared test
plan 5. Determine the expected outcome from a program 6. Compare the
expected outcome to the actual outcome and decide if the program is working
correctly 7. Keep a log of the results for each test 8. Clearly identify
any discrepancies and any amendments made to correct errors 9. Resolve
logical and run-time errors found during testing. Underpinning
knowledge The candidate will be able to: 1. Explain the reasons for
testing a program to implementation 2. Describe the meaning of a dry
run 3. Describe the meaning of a compilation error 4. Describe the meaning
of a run-time error 5. Describe the purpose of test data 6. Explain the
need to test software in the target environment 7. State the difference
between interfacing and integration 8. Explain why software is
integrated 9. State that interface testing is conducted to evaluate whether
systems or components pass data and control correctly to one another 10.
State that interface design is the activity concerned with the interface of the
software system contained in the software requirements documentation 11.
State that interfacing consolidates the interface descriptions into a single
interface description of the software system as a whole 12. Explain the need
for an overall control when developing software projects 13. Identify the
benefits of team work to avoid duplication of effort, when working on a large
project 14. Describe the need for control and documentation of any changes to
programs Outcome 8: Produce documentation Practical activities The
candidate will be able to: 1. Produce end user instructions that are clear
and unambiguous 2. Produce technical documentation (including any class
interface) to describe the purpose of the program and its operation 3. Print
listing of code Underpinning knowledge The candidate will be able to:
1. Identify the need for end user instructions 2. Describe the need for
technical documentation to aid future maintenance and reusability. City
& Guilds Unit 304 Develop Software using Visual Basic (Core)
Rationale The aim of this unit is to enable candidates to understand the
principles required to develop software using the Visual Basic programming
language. Candidate will develop the skills required to design, create and test
software components to solve a given problem.
There are 6 outcomes to this unit. The candidate will be able to 1.
interpret program specifications to develop software 2. use components to
create a Graphical User Interface(GUI) 3. use built-in database management
features 4. develop code for implementation 5. test software using change
control 6. produce documentation
Assessment Assessment will be by means of a set assignment covering both
practical activities, and a multiple choice test covering underpinning
knowledge.
Outcome 1: Interpret program specifications to develop software Practical
activities - the candidate will be able to 1. design a solution to meet a
given specification 2. identify and document input screens and output
layouts 3. select the most appropriate controls and events to fulfil the
specification 4. identify constants, variables, procedures, functions and
modules required 5. use meaningful names for forms, controls, procedures,
functions and modules using consistent naming conventions 6. identify the
links between events, procedures, functions and modules 7. use a suitable
method to document the code required for each procedure, function or module (eg:
pseudocode, flowchart or structured English) 8. provide a solution which is
structured, easily maintained and fulfils the specification Underpinning
knowledge - the candidate will be able to 1. identify the need for program
design 2. explain the need for effective validation of input data in
software 3. explain the need for consistency in naming Outcome 2: Use
components to create a Graphical User Interface(GUI)Practical activities - the
candidate will be able to 1. select and use controls 2. change the
settings for the properties of controls 3. set the CancelError property of
the CommonDialog 4. select and use bound controls 5. set the DataSource
and DataField properties of bound controls to enable access to database
records Underpinning knowledge - the candidate will be able to 1. explain
the purpose and action of controls * Data * CommonDialog *
ComboBox * Image * ListBox * PictureBox * CheckBox *
TextBox 2. explain the purpose of the properties of controls *
ActiveForm * ActiveControl * AddItem * AutoSize * AutoRedraw *
Cancel * DatabaseName * Default * DragIcon * DrawWidth *
Icon * Index * KeyPreview * List * ListCount * ListIndex *
MousePointer * Picture * RecordSet * RecoedSource * Selected *
TabStop * Tag * TextWidth * Width 3. describe the purpose of a Bound
control * ComboBox * PictureBox * CheckBox * TextBox 4. describe
how the List and ListIndex properties can be used to set and return list
items Outcome 3: Use built-in database management features Practical
activities - the candidate will be able to 1. declare and use object
variables of Database and Recordset type 2. reference the properties of a
database and a recordset via object variables 3. use the Refresh method on a
data control to open a database and build a dynaset type recordset in the
control's Recoedset property 4. use the OpenDatabase and OpenRecordset
methods to return a set of records from a database and assign them to the
Recordset property of a Data control 5. use Data control in conjunction with
bound controls to navigate and display individual records from a database
table 6. use MoveFirst, MoveLast, MoveNext and MovePrevious methods for
navigation 7. use Validate and Reposition data control events when editing
records 8. use Edit, Update, Add and Delete methods 9. use FindFirst and
FindNext methods to find records 10. set the Bookmark property 11. use an
embedded SQL query statement to implement a search Underpinning knowledge -
the candidate will be able to 1. describe the features of a record structured
database 2. identify appropriate data types for the fields in a given
record 3. describe the purpose of an index 4. state that a primary key
field is used to uniquely identify a record 5. state the syntax and structure
of basic SQL queries 6. state the reasons for timely archiving of records
from a database: - * size * loss of data * backup Outcome 4: Develop
code for implementation Practical activities - the candidate will be able
to 1. declare and use local and global constants and use built-in predefined
constants 2. use Dim, Static and Global for variable declarations 3.
declare and use arrays of integer and string variables 4. declare and use the
Type definition to create a user defined variable with two or more
elements 5. use the Tag property of a control 6. use the Randomize
statement and the Rnd function to generate random integer numbers 7. invoke
Click event procedures for the CommandButton and the OptionButton, by setting
the control's Value property to True 8. create and use control arrays 9.
set the TabIndex property of controls to preset the order in which they receive
focus 10. write code for event procedures for controls 11. use methods for
controls * Clear * Cls * Print * PrintForm * SetFocus 12. use
functions for concatenation and manipulating strings 13. write code for
procedures and functions in forms and separate code modules 14. use KeyPress
and KeyDown events to monitor and acquire keyboard input 15. use the KeyAscii
argument and the Chr$ function to echo user keyboard input 16. use the
IsNumeric, Val and StrComp functions in the validation of numeric input
data 17. use the properties of the Screen object to position forms on the
screen 18. use the Visual Basic co-ordinate system as it applies to: the
screen; a form and its location on the screen; a container, and its locations on
a form 19. use drawing methods: - 20. use the Drag method and the DragDrop
event to initiate actions 21. use the SelLength, SelStart and SelText
properties to manipulate text in a TextBox 22. create the option to
print 23. write simple error-handling routines 24. use the Show and Hide
methods and the Load and Unload statements 25. use the ActiveForm and
ActiveControl properties in applications having more than one form 26. create
simple multi-form applications that use procedures in a code module 27.
create simple applications in which event procedures on one form reference
properties on another form Underpinning knowledge - the candidate will be
able to 1. describe and state the scope of Dim and Static variables declared
in procedures 2. describe and state the scope of Dim and Global variables
declared in modules 3. describe the user-defined data type and how Type
definitions should be placed in code 4. explain how the AddItem method is
used to populate a ComboBox or ListBox control 5. describe the functions for
concatenating and manipulating strings 6. explain the purposes and functions
of control arrays and the Index property 7. explain the meaning of the term
'focus', its effects on a control and the means by which a control can receive
the focus. 8. explain how the Print method is used to send data to a
printer 9. describe * simple sources of run-time errors * responses by
Visual Basic when an error occurs * simple uses of the OnError statement *
use of GoTo and Resume to manage errors * use of Err and Error$ in
error-handling 10. explain the purpose of event procedures for controls:
* Activate * Change * DragOver * Error * GotFocus * Load *
LostFocus * Resize * SelChange * Unload. Outcome 5: Test software
using change control Practical activities - the candidate will be able
to 1. determine the expected results from a given set of test data 2. test
the software according to a prepared test plan 3. compare the expected to the
actual results and correct any errors 4. keep a log of the results for each
test, clearly identifying * discrepancies between the expected and actual
results * amendments made to correct errors 5. resolve logical and
run-time errors found during testing using appropriate methods 6. use the
Error statement to test and error handling routine 7. verify that the program
conforms to the design specification 8. create an EXE file and test its
operation Underpinning knowledge - the candidate will be able to 1.
explain the reasons for testing a program prior to implementation 2. describe
the meaning of a dry run 3. describe the meaning of a compilation error 4.
describe the meaning of a run-time error 5. describe the purpose of test
data 6. explain the need to test software in the target environment 7.
state the difference between inter facing and integration 8. explain why
software is integrated 9. state that interface testing is conducted to
evaluate whether systems or components pass data and control correctly to one
another 10. state that interface design is the activity concerned with the
interfaces of the software system contained in the software requirements
documentation 11. state that interfacing consolidates the interface
descriptions into a single interface description of the software system as a
whole 12. explain the need for an overall control when developing software
projects 13. identify the benefits of teamwork to avoid duplication of
effort, when working on a large project 14. describe the need for control and
documentation of any changes to programs Outcome 6: Produce
documentation Practical activities - the candidate will be able to 1.
provide end user instructions that are clear and unambiguous 2. produce
technical documentation to describe the purpose of the program and its
operation 3. print listing of code 4. print forms (screen images)
Underpinning knowledge - the candidate will be able to 1. identify the
need for end user instructions 2. describe the need for technical
documentation to aid future maintenance and reusability City & Guilds
Unit 305 Software using Java Level 3 (Core) Rationale The aim of this
unit is to enable candidates to understand principles required to develop
software using the Java programming language. Candidates will develop the skills
required to design, create and test software to solve a given problem.
There are 5 outcomes to this unit. The cxandidate will be able to: 1.
interpret program specification s to develop software 2. create classes 3.
develop code for interpretation 4. test software using change control 5.
produce documentation Guided learning hours The recommended learning hours
for this unit are 90 hours Assessment Assessment will be by means of a set
assignment covering practical activities, and a multiple choice test covering
underpinning knowledge. Outcome 1: Interpret program specifications to
develop software Practical activities The candidate will be able to:
1. design a solution to meet a given specification 2. identify a document
input screens and output layouts 3. select the most appropriate classes to
fulfill the specification 4. identify the methods and attributes for each
class 5. identify the type access required for attributes and members:
public, private 6. use meaningful names for classes, methods and
attributes 7. identify the links between classes 8. use a suitable method
to document the whole code required for each method (e.g. pseudocode, flowchart
or structured English) 9. provide a solution which is structured, easily
maintained and fulfills specification Underpinning knowledge The candidate
will be able to: 1. describe the key features of object oriented
programming * encapsulation * polymorphism 2. identify the elements of
the class 3. describe the relationship between and instance of a class and
two or more instances of a class 4. describe how methods contains a sequence
of computing actions and variables that are used to store values needed and
produced during computations 5. explain the need for consistency in using
meaningful names Outcome 2: create classes Practical activities: The
candidate will be able to: 1. use the import statement to access predefined
classes firm packages 2. create user defined classes 3. declare the
attributes of a class using the basic data types 4. create methods for a
class 5. use methods to perform operations on instances of a defines
class 6. use public and private to allow access to data and methods of a user
defined class 7. create and use instances of a defined class 8. create
constructor to initialize new instances of a class 9. write simple
error-handling routines e.g. try, catch, finally. Underpinning
knowledge The candidate will be able to: 1. describe the effect of making
data or methods public, private, protected, static and final 2. explain when
a constructor is called 3. state that a constructor has the same name as the
class, can have the same parameters but has not the return value 4. describe
the syntax for a method declaration, the number and type of arguments that must
be supplied to a method and how arguments are passes by value 5. describe
Java inheritance for a class and the use of this and extends 6. explain what
causes a Java method to throw an exception 7. describe the purpose and use of
overloading methods 8. describe how to call a method that is part of the
current class Oucome3: develop code for implementation Practical
activities The candidate will be able to: 1. declare and use data types:
* byte * int * chat * long * float * double *
boolean 2. declare and use constants and built-in predefined constants as
appropriate 3. use single dimension arrays of type * byte * int *
char * float * double 4. use String and StringBuffer classes to
manipulate strings 5. use operators assignment operators: =,+=,-=, *=, /=,
%= relational operators: ==, <, >, !=, <=, >= arithmetic
operators: +, -, *, /, %, ++, -- logical operators: &&, (AND), ||
(OR), ! (NOT) 6. use program constructs for iteration * for *
while * do...while 7. use program constructs for selection * if *
if...else * switch 8. use the break statement 9. use System.out.print()
and System.out.println() to output data 10. use System.in.read() to input
data Underpinning knowledge The candidate will be able to: 1. describe
he syntax for classes 2. describe the logical operators 3. describe the
relational operators 4. describe the precedence rules for arithmetic and the
effects of parenthesis 5. state limitations on the use of Java reserved
words 6. explain the operation of repetition program constructs: for, while,
do...while 7. explain the operation of selection program constructs: if,
if...else, switch 8. explain the use of packages ant the purpose of import
statement 9. state the difference between prefix and postfix mode for
increment (++) and decrement (--) 10. state the purpose of the .(dot)
selection operator when calling a method 11. describe the three stream
objects System.in, System.out and System.err and how they are
produced Outcome 4: Test software using change control Practical
activities The candidate will be able to: 1. determine the expended
results from a given set of test data 2. test the software according to a
prepared test plan 3. compare the expected to the actual results and correct
any errors 4. keep a log of the results for each test, clearly
identifying * discrepancies between the expected and actual results *
amendments made to correct errors 5. resolve logical and run-time errors
found during testing using appropriate methods 6. verify that the program
conforms to the design specification Underpinning knowledge The candidate
will be able to: 1. explain the reasons for testing a program prior to
implementation 2. describe the meaning of a dry run 3. describe the
meaning of a compilation error 4. describe the meaning of a run-time
error 5. describe the purpose of test data 6. explain the need to test
software in the target environment 7. state the difference between
interfacing and integration 8. explain why software is integrated 9. state
that interface testing is conducted to evaluate whether system or components
pass data and control correctly to one another 10. state that interface
design is the activity concerned with the interfaces of the software system
contained in the software requirements documentation 11. state that the need
for an overall control when developing software projects 12. identify the
benefits of teamwork to avoid duplication of effort, when working on a large
project 13. describe the need for control and documentation of any changes to
programs. Outcome 5: Produce documentation Practical activities The
candidate will be able to: 1. produce end user instructions that are clear
and unambiguous 2. produce clear technical documentation (to include class
interface) to describe the purpose of the program and its operation 3. print
listing of code Underpinning knowledge The candidate will be able to:
1. identify the need for end user instructions 2. describe the need for
technical documentation to aid future maintenance and reusability City &
Guilds Unit 309 Web site design - Level 3 (Optional) Rationale The aim
of this unit is to equip candidates with the principles needed to be bale to
create and maintain a series of web pages creating a web site, incorporating a
variety of advanced design and information presentation techniques.
There are 5 outcomes to this unit. The candidate will be bale to: 1.
Explain fundamentals of web page development 2. Undertake formal user
requirements analyses 3. Use appropriate development tools to implement and
test interactive web pages incorporating advanced design and information
presentation techniques 4. Use appropriate graphics software to create 5.
Maintain and evaluate websites Assessment The assessment will be by means
of a set assignment covering both practical activities and underpinning
knowledge.
Outcome 1:Explain fundamentals of web page development Underpinning
knowledge The candidate will be able to: 1. Describe how web pages can be
made more interactive (using e.g. VRML, DHTML and Java applets); 2. Explain
the purposes of XML; 3. Outline the different uses of scripting languages
(e.g. CGI, VBScript, JavaScript); 4. Explain scripting techniques used to
interface a web page with a database to enable presentation or interchange of
up-to-date information. Outcome 2: Undertake formal user requirements
analyses: Practical activities The candidate will be able to: 1.
Create 'Terms of Reference' for clients to include: a. a statement of the
problem b. a design for the web page using a suitable methodology such as
storyboarding c. a style sheet describing the formats of the text and
paragraphs (font style, font type, font colour, paragraph indents, line spacing
etc) to promote consistency within web page d. an appropriate structure
diagram demonstrating the linking structure of the web page 2. Produce
resources project plans for the incremental development of web pages including
the gathering of suitable resources. Underpinning knowledge The candidate
will be able to: 1. explain the relevance, importance and contents of a
'Terms of Reference' when creating a web page for a third party 2. recognise
the different components of a 'Terms of Reference' 3. explain the importance
of a design style sheet when working either to a specification or within a team
environment 4. describe the constraints and limitations that must be
considered when producing a web page (e.g. file size/download times, timescale
of production, quality of image resources) Outcome 3: Implement web pages
and test websites Practical activities The candidate will be able to:
1. Create websites compatible wit a range of browsers: a. Providing both
a frame based and a non-frame based interface b. Incorporating Java Script
into a web page to achieve such effects as: * scrolling texts * rollover
button graphics c. Incorporating a Java applet into a web page (e.g.
expanding menu tree) d. Using Dynamic HTML to enhance the interactivity or
appeal of a web page * layers * cascading style sheets (css) e.
Interfacing a web page to a database in order to provide a web page presentation
of responses to a simple query, e.g.: * a telephone number linked to a name;
or * a product price or quantity in stock from a product code; or * a
library book availability f. Incorporating into web pages suitable forms to
enable the gathering of feedback or other information from users of web
pages 2. Test web sites: a. Verifying all links work b. Using
different browsers to preview pages and verify all components appear as
expected Underpinning knowledge The candidate will be able to: 1.
explain the importance of maintaining cross-browser compatibility 2. describe
the advantages and disadvantages of a frame based interface 3. select
appropriate data to be collected using a form 4. describe the terms quality,
timeliness and accuracy when applied to data collected from a web site 5. Use
appropriate graphics software to create and manipulate images Practical
activities The candidate will be able to: 1. Create images to predefined
specifications (pixel height/width; colour depth) suitable for inclusion in web
pages (e.g. buttons used for linking 2. Alter areas of colour to facilitate
the application of transparency to an image 3. Create an animated GIF for use
within a web page
Underpinning knowledge The candidate will be able to: 1. explain the
factors that affect the dimensions of a button, for examplea. quantity of a
text b. font type, size and style c. available space for the button(s) on
a web page 2. describe what is meant by the term anti-aliasing Outcome 5:
Maintain and evaluate websites Practical activities The candidate will be
able to: 1. Create appropriate plans for the effective periodic maintenance
and updating of websites 2. Check that a website satisfies the 'Terms of
Reference' 3. Identify potential future enhancements to websites 4. Create
suitable documentation for maintaining websites to include, for each web page, a
list of resources including the full path to a file name from a route directory
of a website. Underpinning knowledge The candidate will be able to:
1. Explain the importance of documentation in maintaining a web site City
& Guilds Unit 311 Relational Databases Level 3 (Optional) Rationale
The aim of this unit is to enable candidates to develop the skill s
requitred to design and create relational databases
There are 6 outcomes to this unit. The candidate will be able to: 1.
identify client requirements for a database 2. undertake analysys and
design 3. implement the database design to create tables and forms for data
entry 4. undertake information retrieval 5. create reports for
output 6. undertake testing and produce documentation Guided learning
hours The recommended learning hours for this unit are 60
hours Assessment Assessment will be by means of a set assignment covering
both practical activities and underpinning knowledge. Outcome 1: identify
client requirements for a database Practical activities The candidate will
be able to: 1. use suitable methods to identify client requirements 2.
create a brief and simple description of the purpose of a given data processing
system 3. produce a brief description (sketches should be included)of an
existing data processing activity which is being considered for
computerization 4. produce an outline description of a proposed database to
meet client requirements 5. list the advantages and limitations for the
existing and porposed data processing systems Underpinning knowledge The
candidate will be able to: 1. describe what is meant by the term Relational
Database System 2. explain the differences between the following types of
database: * flat file * relational 3. explain the potential need for
restricting access to a database or information system, including the
implementation of a hierarchical system of passwords 4. describe advantages
and limitations of a computer based database to a paper based system Outcome
2: undertake analysis and design Practical activities The candidate will
be able to: 1. compile a list to identify * input data * output
data * internally generated data 2. use meaningful names for consistency
in design 3. identify entities in a database or information system 4.
identify the attributes of an entity 5. refine the data model using
normalization procedures 6. design a user interface screen(s) 7. create
screen.form layouts 8. create report layouts identifying query criteria 9.
create an Entity-relationship (E-R) model 10. create a data
dictionary Underpinning knowledge The candidate will be able to: 1.
explain the methods of identifying data items (data element) in a given data
processing system (e.g. document analysis, operator interviews, transaction
definitions, internally generated data) 2. explain the purpose of fields for
time, date and calculations 3. define the terms: * entity *
attribute 4. describe the purpose and differences between primary, foreign
and alternate keys 5. define the term relationship and give examples of 1:1,
1:M, M:M relationships 6. identify and explain normalization form (NF) in the
process of normalization: * 1NF no repeating sets * 2NF attributes depend
on the whole primary key * 3NF no sets of mutually dependant non-keys
attributes 7. explain that a user friendly interface screen should have
clearly labeled user options, supported by automated sequences which give easy
access to specified functions, reports and forms 8. explain than a data
dictionary defines for each table * table name * key (primary, foreign,
alternate) * index(es) * field names * data types (numeric,
character, date, logical) * format (currency, day/month/year) *
description of the field * field length * validation of fields Outcome
3: implement the database design to create tables and forms for data
entry Practical activities The candidate will be able to: 1. use the
data dictionary to create the table structure(s) 2. use the E-R model to
create the relationship(s) 3. create any indexes 4. create forms for
input using screen layout/form(s) 5. create a sub-form where this is
included in the design 6. generate useful descriptive error messages to
support entry validation 7. provide controls to link input
forms Underpinning knowledge The candidate will be able to: 1. define
the term 'validation' giving examples of how this may be applied in a database
or information system 2. explain the following terms when they are applied to
a database or information system * data integrity * data consistency *
data redundancy * referential integrity Outcome 4: Undertake information
retrieval Practical activities The candidate will be able to: 1.
create queries form design criteria 2. select records from: * a single
table * two or more tables Underpinning knowledge The candidate will be
able to: 1. explain that queries can be used to: * append data to an
existing database table whilst maintaining the integrity of all related
tables * append data to a new database table either within the current
database or to a table within an alternative database whilst maintaining the
integritry of all related tables * update either a single record or multiple
records in a database automatically * update existing records * generate
forms and records 2. describe the options available to specify search
criteria when implementing/ designing queries * logical operators e.g. AND,
OR, NOT * relational operators e.g. =, <,>, <=, >= * query by
example (QBE) 3. explain the use of sort criteria (i.e. ascending ,
descending) 4. explain the use of SQL Select statements (e.g. group by,
order by, where) Outcome 5: create reports for output Practical
activities The candidate will be able to: 1. create reports using *
headings * subheadings * calculations * footers * pagination *
data grouping * mailing labels 2. direct report output to: * the
screen * the printer 3. provide controls to enable automatic
output Outcome 6: undertake testing and produce documentation Practical
activities The candidate will be bale to: 1. design and complete a test
plan 2. verify that the database conforms to the design specification 3.
test the database according to a prepared test plan 4. compare the expected
outcome to the actual outcome and decide if the database is working
correctly 5. clearly identify any discrepancies and any amendments made to
correct errors6. create technical documentation; to include: * log of
testing * explanation of normalization (1NF, 2 NF, 3NF) * table
structures * data dictionary * illustrated relationship diagram (including
relationship types) * screen/form layouts * report layouts * query
designs * illustration and description of menu interface * contents of
index * results of testing 7. create user documentation; to include: *
clear operating instructions for the complete database * explanations for any
error messages Underpinning knowledge The candidate will be able to:
1. describe the purpose of test data including: * normal *
boundary * exception 2. Identify the need for technical and user
documentation |