This course teaches the learner the basics of computer software. The course is a prerequisite for learners that intend to enter the IT industry in a technical capacity. The following topics are covered:
- Operating Systems
In this section a theoretical overview of the various functional management programs that constitute an operating system is given. In particular the following is addressed:
- The user interface or shells
- Process Management.
- Storage Management
- Network management
- File Systems
This section looks at the basic file structures including file directories and flat files. In addition the mapping and implementation os serial, direct and index files onto flat files are explained.
- Database Management Systems
This chapter introduces relation database technology. A brief view of tables and their relations are given. In addition the learner is introduced to the Structured Query Language (SQL).
- Programming Languages
A thorough treatise is given on the origins and usage of various programming languages that are in use in the industry today. The development cycle is explained and concepts such as compilers and interpreters are discussed.
This section is a guide to algorithmic design and presentation. In addition the use of Finite State Machines (FSM’s) to describe algorithms is shown. Finally a set of generic algorithms are shown.
- Object Oriented Technology
In this chapter object technology concepts such as classes, inheritance, composition and data encapsulation is described via a set of practical examples.
In this topic the Internet Protocol (IP) and Transmission Control Protocol (TCP) are described from a software perspective. The Internet and the associated Universal Resource Locator (URL) and domains are explained. Also given is an overview on browser technologies.
The course is practical in nature in that a series of tutorials and assignment guide the learner through the practical application of the concepts taught in the course. Included are exercises on:
- Database design and SQL
- HTML concepts
- Linux shells specifically the Bourne Again Shell (BASH)
- The Linux KDE window manager
At the completion of the course the learner will be able to:
- Describe the major functional managers of a typical operating system. They will be able to discuss the advantages and disadvantages of open source OS’s like Linux vs proprietary systems such as Microsoft Windows, and IBM’s zOS mainframe operating system.
- Execute simple Linux commands in a shell. Describe the file system and directory structure of a Unix/Linux system.
- Design a relational database and propagate data into the database plus perform queries to the database.
- Describe the basic functionality of the Internet and associated browsers.
- Show an understanding of OO techniques.
- Analyse work based problems and design appropriate algorithms.
The computer platform used is Linux. The academy uses the SuSE distribution. The DBMS used is MySQL.
The following material is supplied:
- A full set of notes covering the course outline.
- A CD with solutions to all the assignments plus all the examples covered in the notes.
Introduction to Computer Mathematics or equivalent experience.