Teaching
It must be remembered that the purpose of education is not to fill the minds of students with facts .. it is to teach them to think, if that is possible, and always to think for themselves. — Robert Maynard Hutchins
Courses
Lancaster University
This module provides a theoretical background to the design and implementation and use of database management systems, both for data designers and application developers. The course consists of a number of related sections, which range from single lectures to multi-lecture streams, depending on the required depth of coverage..
To introduce you to the theory of formal languages, and how it relates to programming languages.
To study the relationship between formal languages and abstract machines, and how it relates to compilation.
To give you a basic understanding of the compilation process for a high-level programming language, both analysis (lexical, syntactic and semantic) and synthesis.
This module aims to give students a broad grounding in artificial intelligence including knowledge and understanding of reasoning, decision making, fuzzy logic, neural networks, and genetic algorithms and the skills to implement artificial intelligent systems. The understanding gained through the module should give the students an appreciation of the challenges in this area. Furthermore, the module will prepare students to understand and critically analyse artificial intelligence techniques used in modern computers and mobile devices.