Engineering courses will be published here.

Students are introduced to the functional behaviour of digital computer systems. The course covers basic concepts of computer logic and architecture, algorithmic problem solving, programming structure, control and data organisation. The requirements for procedural programming languages are explained through the introduction of the syntax and semantics of the C programming language.

Students explore in further depth the advanced concepts of the C programming language, and are introduced to basic algorithmic decomposition and design

Syllabus Outline:

Basic ideas of computing: hardware, software, system architecture, compiled and interpreted languages; Principles of procedural programming languages: data types, iteration, selection, functions, arithmetic and logical operations; the C programming language; Design methods: procedural and top-down design; Practical issues: basic numerical methods, errors and exceptions. 

Advanced constructs of the C programming language: pointers, calls by reference and by value, dynamic memory allocation, file handling; Procedural and data abstraction; Abstract data structures: linked lists, stacks, queues, binary trees; Sorting and searching.


Objectives:

On successful completion of this module, the student will be able to:

  • Describe the basic operation of a computer and understand the basic concepts of computer programming languages
  • Design and test computer programs, using the basic constructs of the ANSI C programming language
  • Understand elementary numerical methods (e.g. precision & errors) and their relationship to programming

  • Apply more advanced C programming concepts such as pointers and dynamic memory allocation
  • Understand and apply the principles of algorithmic decomposition and design
  • Develop high-quality software written in the C programming language

Students are introduced to the application of mathematical techniques to engineering problems. The application examples are reinforced by problem solving classes.


Syllabus Outline:
Matrices and determinants; Complex numbers; Mathematical techniques


Objectives:

On successful completion of the module,

students will be able to formulate and solve problems in

  • circuit theory,
  • computer graphics,
  • basic mechanics and
  • signals & systems

using the following techniques

  • the algebra of matrices and determinants;
  • complex numbers;
  • using analytical techniques and mathematical software such as MATLAB.

Students are introduced to the physics of conduction in solids and the effects of electric fields. The terminal characteristics of basic devices are derived from first principles. The behaviour of nonlinear semiconductor devices is introduced. The underlying physical mechanisms are discussed quantitatively.



Syllabus Outline:

Physical Quantities: The concepts of charge and electric field and systems of units. Conduction in solids: current and current density; insulators, conductors and semiconductors; doping, intrinsic and extrinsic conduction. Electric Fields: Gauss’s flux law, Ohm’s law in microscopic and macroscopic form, derivation of resistor and capacitor terminal characteristics from first principles. Semiconductor device physics: the pn junction; forward and reverse bias; the pn diode; the bipolar transistor; mechanism of breakdown.



Objectives:

On successful completion of this module, the student will be able to: 

  • Calculate the electric field and potential around a charge distribution for simple geometries.
  • Derive the resistance and capacitance of simple structures.
  • Describe the mechanism of conduction in solids, and perform calculations on the conductivity of materials.
  • Describe physically the dc basic behaviour of diodes, MOSFETs and BJTs.

Students are introduced to the theory and practice of logic, digital circuit design and digital representation of information.


Syllabus Outline :

Boolean algebra: basic principles, analysis and synthesis techniques with examples. Combinatorial logic: simple gates and derived combinatorial circuits. Sequential logic: flip-flops and derived sequential circuits. Numbering systems: bases, coding, and simple binary arithmetic, arithmetic logic circuits.


Objectives:

On successful completion of this module, the

student will be able to:

  • Perform manipulations of Boolean logic expressions

  • Use Karnaugh maps to transform boolean expressions to a logic circuit

  • Design, build and test combinational logic circuits

  • Use 2's complement arithmetic
  • Describe and apply the behaviour of flip flops and latches.