​Undergraduate​

​​​​​

Courses  

Statics (1st semester, 1st year)
The student is introduced to vector algebra as a tool to solve problems of a geometric nature. These techniques are then applied in analytical geometry, and in problems concerning the equilibrium of particles and bodies.

Dynamics (2nd semester, 1st year)
The concepts of calculus are generalised for vector quantities. The resulting techniques are then applied to problems in kinematics (the analysis of the geometry of the motion of particles) and dynamics (the analysis of the forces on particles or bodies as well as the resulting motion).

Differential equations (1st semester, 2nd year)
The student is introduced to the concept of a first-order differential equation. These are classified according to their intrinsic properties and methods for solving each type so classified are described. Higher-order linear differential equations are studied next, and various methods of solution for these equations are presented. Nonlinear differential equations are briefly discussed. The Laplace transform is studied in some detail, since it is a powerful method for handling certain types of differential equations.

Numerical analysis (2nd semester, 2nd year)
Various methods for solving difficult analytical problems numerically are presented. These include nonlinear equation solving, polynomial interpolation, least-squares polynomial fitting, numerical integration, numerical differentiation, and methods for initial-value problems in ordinary differential equations.

Optimisation, neural networks, genetic algorithms (1st semester, 3rd year)
The first semester course is concerned primarily with optimisation and the techniques of neural networks and genetic algorithms. We discuss linear programming problems and their solution using the simplex method. Neural network models, specifically those of Hopfield, Kohonen and the multilayer perceptron are described and applications with their solutions are given. Theoretical aspects of genetic algorithms are included, and many examples of applications for genetic algorithms, including problems with constraints are given. Furthermore the application of genetic algorithms to computer programming in the form of genetic programming is presented.

Quantum computing (2nd semester, 3rd year)
The topic of the second semester course is quantum computation. We introduce the necessary theory from quantum mechanics. We proceed then to describe the basic elements of quantum computation and many algorithms which illustrate the significant advantage of computing in quantum systems over classical systems. Sections include teleportation, dense coding, factorization, error correction and entanglement.​​