AI AND AI PROGRAMMING - 2023/4

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, 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 and learning and the basic perceptron

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 predicates

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. Formal properties of A*. Minimax game search, alpha-beta pruning.

Logic and Resolution - Knowledge representation. Propositional and predicate calculus. Inference rules. Clause form. Resolution strategies. Prolog and logic programming.

Uncertainty Reasoning - Probabilistic reasoning and Bayes theorem. Belief networks. Dempster-Shafer theory. Fuzzy logic.

Basic Prolog - execution model, declarative and procedural meaning, backtracking, arithmetic, list representation, negation as failure and difficulties, simple examples.

Prolog Programming and Techniques - input/output, meta-logical and extra-logical predicates, set predicates, cuts, program development and style, correctness and completeness, Applications

    Multi-Layer Perceptrons - Convergence theorem, non-separability, LMS algorithms,    steepest  descent, back-propagation, generalisation, learning factors.

    Radial Basis Function Networks - Multivariable interpolation, regularisation,  comparison with MLP, learning strategies.

    Self-Organising Systems - Hebbian learning, competitive learning, SOFM, LVQ

              Recurrent networks - energy functions, Hopfield net, nonlinear dynamical systems, Liapunov stability, attractors

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:

- Prolog/NN Assignment coursework          (25%) (address learning outcomes 1-4)

- Invigilated Examination (2Hrs)                  (75%) (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.
  • The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.
  • 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 Prolog 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 2023/4 academic year.