Powered by QM on a Linux server
Help and Support

UniVerse and Unidata Programming

The Programming course is available for both UniVerse and Unidata. It is intended for users involved in application programming. The course may also be relevant for users in a system administration or management role.

The course is built around an on-going practical exercise to develop a working order processing application. The course is accompanied by a detailed student manual which will also be a useful book for later reference.

The main topics covered are:

The multivalue data model. This module discusses the general relational database model and the extensions to provide the multi-valued fields that make this database so powerful and easy to use. This section is primarily intended as revision for students who have not recently taken the Essentials course but can also serve as an introduction for programmers with no prior knowledge of multivalue databases.

Language use and structure. This module introduces the process of developing a program.

Variables, statements and functions. In this module we look at the building blocks from which a program is constructed. Many of these items are discussed in more detail in later modules.

Terminal handling. In this module we discuss the basic principles of terminal display and keyboard input. We also take the first step towards constructing our application program.

Conditional execution and looping. This module covers the conditional and loop constructs of the programming language and allows us to start building some flow control into our application.

File handling: reading, writing and locks. In this module we explore the basic principles of file handling and discuss the need for locks in a multi-user database environment.

Data conversion and formatting. This module discusses the concepts of data conversion and formatting and introduces the associated programming language functions.

Data manipulation: string functions. This module covers a wide range of general character string manipulation functions.

Data manipulation: dynamic arrays. Here we discuss the ideas of dynamic arrays and explore the functions available to work on these data structures.

File handling: matrix file operations and select lists. This module covers two separate topics; use of matrices to hold database records and the construction and use of select lists within application programs.

External subroutines. Any real application will be formed from many separate program modules. This section explores how we can break up our application and how the modules are then linked together at run time. Topics covered include argument passing, common blocks and cataloguing.

Command execution. This brief module discusses how a program can execute any command and how it can interact with the command environment.

Alternate key indices and B-tree files. This module looks at the special programming statements that allow direct access to alternate key indices and to balanced tree files.

User written functions. This module covers creation of user written functions as part of application development.

I-type execution. This module shows how a dictionary I-type item can be evaluated from inside a program and explains why we might want to do this.

Printers. Generating printed output from application programs is discussed in this module. This includes the use of page headings and footings, use of multiple printers and the SETPTR command.

Sequential files. This module shows how an application can use sequential file handling statements to process records line by line.

The debugger. The final module gives an overview of the debugging tool.