AI AND AI PROGRAMMING - 2024/5

Module code: EEEM005

Module Overview

This module introduces students to some of the basic ideas and concepts that underlie the development of artificially intelligent machine systems.


Teaches core AI materials for problem solving (search, logic, probabilistic methods, Perceptrons as the building block for ANNs)

Focuses on core understanding and problem solving: suitable tools/methods for a problem using problem classes

Provides a clear understanding of neural networks, back-propagation, RBFs, ANN learning and optimisation

Provides a clear understanding of intelligent agents via search methods and introducing cost functions

Provides a clear understanding of Bayes’ Rule, conditional probability and uncertainty reasoning

Provides a clear understanding of knowledge capture, symbolic knowledge representation and logical reasoning from antiquity to Boule to first order predicate rules and representations.

Provides opportunity to implement concepts during coursework.

Module provider

Computer Science and Electronic Eng

Module Leader

WELLS Kevin (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 7

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 90

Lecture Hours: 20

Tutorial Hours: 5

Guided Learning: 25

Captured Content: 10

Module Availability

Semester 2

Prerequisites / Co-requisites

None

Module content

Indicative content includes:

Historical Overview - Definition of artificial intelligence (AI).Application areas. General problem solving versus specific knowledge. Complexity.

Heuristic Search - Uninformed versus informed search strategies. Search strategy properties, heuristics.Greedy search, Formal properties of A*. D* and D*Lite . Minimax game search, alpha-beta pruning. Examples.

Logic and Resolution - Knowledge representation. Propositional and predicate calculus. Inference rules. Clause form. Resolution strategies. Python logic programming. Predicates and knowledge graphs. Horn Class. Rule Induction from Knowledge Graphs.

Uncertainty Reasoning - Probabilistic knowledge representation. Reasoning, Bayes' theorem and Bayesian Updating.. Belief networks. Odds ratios for knowledge weighting.

Basic Python - recap on variables, types, structures, loops, functions, conditions, classes , scientific computing libraries

    Multi-Layer Perceptrons - Convergence theorem, non-separability, Gradient descent, back-propagation, generalisation, learning factors, cost functions

    Radial Basis Function Networks - Multi-variable interpolation, LMS algorithm, regularisation,  comparison with multi-layer perceptrons, learning strategies.

    Self-Organising Systems - Competitive learning, Self-organising maps, learning vector quantification

              Recurrent networks - Hopfield net, nonlinear dynamical systems, Liapunov stability, Time dependence, Back propogation through time

Assessment pattern

Assessment type Unit of assessment Weighting
Coursework ASSIGNMENT 25
Examination 2 HR INVIGILATED EXAMINATION 75

Alternative Assessment

N/A

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate subject-specific knowledge and how this knowledge can be applied in the design of AI solutions to real world problems.

Thus, the summative assessment for this module consists of:

- Python/NN Assignment coursework (address learning outcomes 1-4)

- Invigilated Examination (address learning outcomes 1-3)
 

The coursework assignment is designed to allow students to demonstrate their strength and capabilities in demonstration of the application of knowledge to a proposed solution with a variety of different resources. The invigilated exam format is designed to allow students to demonstrate their independent strength and capabilities in demonstrating embedded knowledge, application of knowledge and critical comment on proposed solutions.
 



Formative assessment and feedback
is provided via feedback gained from the problem classes which take place during scheduled lecture sessions, which can be used to prepare for the summative assessment.
 

Module aims

  • Deliver knowledge on the basic ideas and concepts that underlie the development of artificially intelligent machine systems.
  • Deliver competency and problem-solving ability to provide solutions to technical challenges using artificially intelligent machine systems.

Learning outcomes

Attributes Developed
Ref
001 Demonstrate knowledge of the set of methods which would be needed to develop an intelligent system. KC M2, M6
002 Demonstrate an appreciation of the advantages and limitations of these different methods. KC M3
003 Demonstrate ability to apply these methods, and so propose suitable solutions to different problem domains in which an intelligent system can provide useful functionality to aide human activity in solving 'real world' problems. KCPT M5, M8
004 Demonstrate ability to implement Python programs to solve some of these tasks and report in written format the outcome. KCPT M12, M16, M17

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to achieve the aforementioned learning outcomes.

Methods of learning and teaching include: Lectures, Coursework (programming assignment)

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: EEEM005

Other information

Digital capabilities are developed through use of lecture content and laboratory work to implement methods that allow computers to solve problems. Exemplars/case studies provided in class illustrate these concepts and encourage students to seek out further exemplars themselves.

Resourcefuleness & Resilience qualities are developed through the use of timetabled problem classes throughout the module. Students are often very comfortable with listening to lecture content but are frequently surprised to find major challenge in selecting and applying appropriate techniques to solve problems posed in the problem sheet.  The aim of these classes is to encourage student to work in small groups (2-3 students) to discuss the problem and jointly work out a problem-solving strategy using previously delivered content and implement this to produce a solution. It also provides opportunity for direct 1-2-1 discussion with the academic to bolster confidence and provide guidance.  Discussion is extremely powerful way of developing knowledge exchange within the learner community.

The coursework is also an extended piece of work that facilitates development of both digital skills and resourecefuleness and resilience skills of independent solo learning to solve a particular problem.

Employability: AI is a major growing sector for employment. The module addresses this aim in terms of (a) subject matter, and (b) in terms of developing engineering problem-solving skills. Moreover the problem-solving skills developed as part of the problem classes within the course encourage a positive and resilient attitude to technical challenges, and develop confidence and competence and applying module-specific knowledge to solve real world problems. Such skills enhance employability and re-world efficacy in the workplace.

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2024/5 academic year.