Ability to manage directed reading with self research (PDP)
Report writing and demonstrating argument development (PDP)
Use of technology as a means of learning, contributing and discussing (PDP)
Assessment Methods:
Assessment:
Examination: (weighting – 100%)
Re-assessment:
Examination: (weighting – 100%)
Course Code:
F29AI
Course Title:
Artificial Intelligence
Course Co-ordinator:
Ruth Aylett, Lilia Georgieva,
Patricia Vargas
Pre-requisites:
Elementary knowledge of logic at the level of undergraduate Computer Science. Knowledge of high-level programming language concepts
Aims:
To introduce the fundamental concepts and techniques of AI, including planning, search and knowledge representation
To introduce the scope, subfields and applications of AI, topics to be taken from a list including natural language processing, expert systems, robots and autonomous agents, machine learning and neural networks, and vision.
To develop skills in AI programming in an appropriate language
Syllabus:
Search algorithms (depth first search, breadth first search, uniform cost search, A* search)
constraint satisfaction problems;
games (min-max, alpha-beta pruning);
logic, resolution, introductory logic programming
knowledge representation – logic, rules, frames
goal and data-driven reasoning
practical rule-based programming
Overview of main fields of AI (Vision, Learning, Knowledge Engineering)
In depth view of one field of AI (e.g. Planning, Natural language)
Autonomous agents
Applications of AI
AI programming
Learning Outcomes:
Subject Mastery
Understanding, Knowledge and Subject-Specific Skills
Critical understanding of traditional AI problem solving and knowledge representation methods
Use of knowledge representation techniques (such as predicate logic and frames).
Critical understanding of different systematic and heuristic search techniques
Practice in expressing problems in terms of state-space search
Broad knowledge and understanding of the subfields and applications of AI, such as computer vision, machine learning and expert systems.
Detailed knowledge of one subfield of AI (e.g. natural language processing, planning) and ability to apply its formalisms and representations to small problems
Detailed understanding of different approaches to autonomous agent and robot architectures, and the ability to critically evaluate their advantages and disadvantages in different contexts.
Practice in the implementation of simple AI systems using a suitable language
Learning Outcomes::
Personal Abilities:
Cognitive skills, Core skills and Professional Awareness
Identification, representation and solution of problems
Time management and resource organization
Research skills and report writing
Practice in the use of ICT, numeracy and presentation skills.
Assessment Methods:
Assessment:
Examination: (weighting – 100%)
Re-assessment:
Examination: (weighting – 100%)
Course Code:
F28IN
Course Title:
Interaction Design
Course Co-ordinator:
Sandy Louchart
Pre-requisites:
F27IS1 Interaction Systems or equivalent
Aims:
The course aims to give students the opportunity to develop:
A broad knowledge and understanding of requirements gathering, design and evaluation theory and techniques in interaction design.
An introduction to commonly used design techniques and pattern for user interfaces.
A selection of routine skills and methods involved in working with users.
Syllabus:
Current topics in Interaction Design including: interaction design lifecycles, user interface design patterns, basic qualitative and quantitative data gathering and presentation techniques, accessibility.
Learning Outcomes:
Subject Mastery
Understanding, Knowledge and Subject-Specific Skills
Critically analyse interaction design and interfaces.
Propose solutions in response to interface design problems
Evaluate the effectiveness of user interfaces with respect to user requirements.
Learning Outcomes::
Personal Abilities:
Cognitive skills, Core skills and Professional Awareness
Use discipline appropriate software for data analysis,
Present, analyse and interpret simple numerical and graphical data gathered as part of evaluation studies. (PDP)
Communicate effectively to knowledgeable audiences by preparing informal presentations and written reports. (PDP)
Exercise autonomy and initiative by planning and managing their own work within a specified project; (PDP)
Take responsibility for their own and other’s work by contributing effectively and conscientiously to the work of a group (PDP)
Assessment Methods:
Assessment:
Examination: (weighting – 100%)
Re-assessment:
Examination: (weighting – 100%)
Course Code:
F27EM
Course Title:
Emerging Technologies
Course Co-ordinator:
Peter King, Rob Pooley
Pre-requisites:
None
Aims:
To explore emerging technologies through a variety of project work
Syllabus:
Mixed groups carrying out 4 projects, each of 3 weeks in duration.
Projects will vary, but the following are typical projects:
Controlling robots
Programming mobile/hand-held devices
Games
Ant based systems (biologically inspired computing)
Data-mining
Learning Outcomes:
Subject Mastery
Understanding, Knowledge and Cognitive Skills Scholarship, Enquiry and Research (Research-Subject Mastery Informed Learning)
The ability to carry out basic background research in a defined area
Active exploration of a problem domain within the department’s research portfolio
Develop problem solving strategies which are applicable across domains.
Reporting achievement
Learning Outcomes::
Personal Abilities:
Industrial, Commercial & Professional Practice Autonomy, Accountability & Working with Others Communication, Personal Abilities Numeracy & ICT
F28DA1 Data Structures & Algorithms, F28PL2 Programming Languages or equivalent
Aims:
For the Operating Systems part: To provide an introduction to operating systems, their basic principles and shell programming. For the Concurrency part: To introduce the theory and practice of concurrent hardware and software systems
Syllabus:
For the Operating Systems part: overview on operating systems concepts and structures, processes, threads, classical inter-process communication problems, Linux shell scripting.
For the Concurrency part: Process and Threads, Concurrent Execution, Shared Objects and Mutual Exclusion, Monitors and Condition Synchronisation, Deadlock, Safety and Liveness, Model Based Design. Performance, Introductions, Processors, Pipelines.
Learning Outcomes:
Subject Mastery
Understanding, Knowledge and Subject-Specific Skills For the Operating Systems part:
Understanding of the concepts and structures present in modern operating systems.
Ability to write Linux shell scripting.
For the Concurrency part:
Broad and integrated knowledge and understanding of concurrency concepts, techniques and problems
Critical understanding of exclusion, synchronisation and deadlock
Detailed knowledge of abstract modelling and model-based design
Learning Outcomes::
Personal Abilities:
Cognitive skills, Core skills and Professional Awareness
Critically evaluate the problematic and concepts related to operating systems.
Analysis of the different possible solutions to the problematic.