D04 INFORMATION TECHNOLOGY 2

Prerequisites None beyond those required for any student undertaking the Diploma Course. Nonetheless, it is strongly recommended that this module should NOT be attempted BEFORE Information Technology 1 (D01).

Assessment By a single 3 hour externally set examination paper.

Aims

  1. Appreciate the overall role of software in the functioning of a computer system.
  2. Understand the essential functions of operating systems and of utility software.
  3. Understand the main features of computer programming languages.
  4. Understand the role of application packages in the functioning of a computer system and how these may be implemented.
  5. Understand the ways in which data may be organised and accessed within a computer system.
  6. Understand the main features of problem analysis and program design including the use of charting methods as aids in the design process.
  7. Understand the importance of program testing and the means for achieving it.
  8. Appreciate the need for Information Technology Documentation standards and the means of achieving them.
  9. Understand the roles of staff engaged in the development and the implementation of computer systems with particular regard to those aspects which impact upon software.

Objectives

1.1 Appreciate the concept of the stored program and its significance in the effective control of hardware.

1.2 Appreciate the basic functions of an operating system.

1.3 Appreciate the role, functions and need for machine code, assembly languages, problem-oriented languages and non-procedural development tools.

1.4 Appreciate the functions of assemblers, interpreters and compilers.

1.5 Appreciate the range and functions of application programs.

1.6 Appreciate the basic functions of application packages and of utilities.

2.1 Be familiar with the range of control software from a simple executive to a sophisticated operating system, including the importance of BIOS (Basic Input/Output System) when setting up a computer configuration.

2.2 Understand the constraints placed on computer systems by the choice of operating systems.

2.3 Be familiar with the main features of an operating system, including control of program libraries, logging and accounting functions, peripheral allocation, spooling and security.

2.4 Understand the role of the basic control program, the methods for scheduling and sharing of work.

2.5 Understand the purpose of a job control language and its main features.

2.6 Understand the definition of a utility program and be able to give specific examples of such programs.

2.7 Be aware of the means of using utility programs and security implications.

2.8 Be familiar with the concept of public domain software, its range and use.

3.1 Be able to identify the development of programming languages from machine code, through assembly languages, via the introduction of macro-instructions to problem-oriented languages.

3.2 Be familiar with the main features of machine-oriented (low-level) languages and of problem-oriented (high-level) languages.

3.3 Be aware of the development from third-generation to fourth-generation languages (4GLs) and of the main features of 4GLs.

3.4 Be able to compare the features of problem-oriented languages with regard to their application to commercial, scientific and special purpose situations.

3.5 Be aware of the main types of translation programs, assemblers, interpreters and compilers, their purpose, features and limitations.

Objectives

4.1 Appreciate the need for, and the reasons governing the choice of, an applications package including the use of a Windows environment.

4.2 Be aware of the variety of applications packages currently available and of their uses.

4.3 Appreciate the concept of portability and its advantages.

4.4 Appreciate the need for well-written user manuals to accompany a package.

4.5 Be aware of the operational needs and the overall documentation of a package to ensure its correct use.

4.6 Understand the process of installing a package.

4.7 Be aware of the basic laws of copyrighting and the use of site licensing with regard to software.

4.8 Be aware of the need for a suitable level of user support and the need for appropriate vendor contracts.

4.9 Be aware of the need for, and the means of obtaining, backup copies.

4.10 Be aware of the facilities which can make the computer easy to use, e.g. DOS shell, Kernels, Device Drivers, GUIs (Graphical User Interfaces), and WIMPs (Window, Icons, Mice and Pull-down menus).

5.1 Understand the basic types of file organisation methods, serial, sequential, indexed sequential and random.

5.2 Understand the methods available for accessing records in a file for each of the organisation methods, serial, sequential, indexed sequential and random, including the use of the term ‘hashing algorithm’.

5.3 Understand the necessity for, and the methods of achieving, common file processes such as sorting, merging, updating and reorganisation.

5.4 Understand the use of arrays (one- and two-dimensional) and that a matrix is defined as an array with numeric elements only.

5.5 Understand the common processes of array-handling such as searching, sorting and totalling.

5.6 Have a basic understanding of the concepts of a database with regard to being able to distinguish between relational and hierarchical databases.

6.1 Understand the reasons for using charting methods to assist in the design of a solution to a written specification.

6.2 Be familiar with the main charting methods such as flow-charts, block-structure diagrams and decision tables.

6.3 Be able to apply design techniques to handle program loops, counts and subroutines.

6.4 Be able to apply design techniques to problems of array-handling, validation, matching, merging and updating.

7.1 Understand the process of designing a test plan for computer programs and suites of programs.

7.2 Understand the principles involved in the creation of test data.

7.3 Understand the technique of dry-running a program.

7.4 Understand the process of compilation and the diagnostic aids provided by a compiler.

7.5 Understand the use of a program and of file dumps as aids to debugging.

7.6 Be aware of the range of additional aids available for debugging interactive programs such as traces, program breaks and start/restart procedures.

7.7 Be familiar with development methods used for operational programs including the security needs of live applications.

8.1 Understand the needs for formalizing routines and for systematic action in respect of software routines.

8.2 Understand the advantages and the disadvantages in the application of standards in the methods of documenting systems and programs and of the forms used.

8.3 Appreciate the types of documentation methods and the forms required and the uses of each type.

8.4 Appreciate the range of documentation required for the overall efficient organisation of computer systems.

8.5 Appreciate the need for "in-house" program documentation standards.

8.6 Understand the main requirements and content of program documentation.

8.7 Be aware of the forms needed and the supporting items required in order to document a program to a set of agreed "in-house" standards.

9.1 Be aware of the tasks undertaken by staff in the development and the implementation of a new application.

9.2 Be aware of the staff involvement in the maintenance of live systems including the creation of suitable job control language commands and file maintenance.

9.3 Be familiar with the involvement of development staff in respect of the creation of utility programs and other components of system software.

9.4 Be aware of staff responsibilities in respect of documentation and the maintenance of standards.