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.