The Programming part of this module aims to extend the students' programming skills and introduce them to advanced structured and object-oriented design concepts, providing the foundations for design and programming in any other environment.


On completion of this module, students will be able to:


•  Understand the difference between compiled and interpreted languages such as Python and the advantages of the latter for quick program development and prototyping.
•  Understand the use of exception support and abnormal condition checking for writing fail-safe, fully robust programs.
•  Understand the notion and use of Python data structures such as lists, sets, dictionaries and arrays. Also understand how to build other dynamic data structures such as binary trees.
•  Understand the notion of classes, their properties and their use for abstraction and good program design.
•  Understand the notion of class inheritance as a means to structure software programs for easy extensibility.
•  Get to know the logic of different search and sort algorithms and learn to reason about an algorithm’s complexity.
•  Learn how to use Python for big data processing and machine learning.
The Control part of this module of the module represents an introduction to control systems and to the analysis of the behaviour of dynamical systems. This module provides a fundamental understanding of feedback control systems and dynamical systems in terms of steady-state response and stability; it enables the study of feedback control systems with Laplace, Nyquist and Bode plots.


On completion of this module, students will be able to:

 

•  Comprehensively understand the basic principles underlying control theory.

•  Know and understand the mathematical and computer models relevant to transfer function analysis and be able to apply them to real-world models for control systems.

•  Know and understand the behaviour of linear systems.

•  Know and apply stability criteria related to control systems based on the following diagrams and methods: roots position, Bode, Routh Hurwitz and Nyquist stability criteria.

•  Know and apply mathematical modelling techniques pertinent to control systems.

•  Understand and be able to apply information from Control Systems books, journal and conference papers.