School of Computer Science BCS accreditation 2021 - 2026
[Home]
B.1 Programme data
Programme title | Artificial Intelligence MEng (Hons) |
Date programme first offered | 2005 |
Date programme revised | 2019 |
Mode(s) of study | FT |
Programme duration | 4 years |
Student intake to programme for current academic year | 8 students |
Names, positions and dates of appointments of external examiners | Iain Philips - Dr Iain Philips, Senior Lecturer (Loughborough University), 1st October 2019 - 31st December 2023 |
Accreditation sought | CITP, CEng, |
Accreditation period sought | 2021-2026 |
Programme also accredited by | None |
Responsible department | Department of Computer Science |
B.2.4 map of core course units to Artificial Intelligence MEng (Hons)
Table key= assessed mandatory learning outcome = assessed optional learning outcome = unassessed mandatory learning outcome = unassessed optional learning outcome = not relevant for accreditation | ⓘ COMP10120 View All Courses | ⓘ COMP11120 View All Courses | ⓘ COMP11212 View All Courses | ⓘ COMP12111 View All Courses | ⓘ COMP13212 View All Courses | ⓘ COMP15111 View All Courses | ⓘ COMP15212 View All Courses | ⓘ COMP16321 View All Courses | ⓘ COMP16412 View All Courses | ⓘ COMP23311 View All Courses | ⓘ COMP23412 View All Courses | ⓘ COMP24011 View All Courses | ⓘ COMP24112 View All Courses | ⓘ COMP24412 View All Courses | ⓘ COMP26020 View All Courses | ⓘ COMP26120 View All Courses | ⓘ COMP30040 View All Courses | ⓘ COMP40901 View All Courses | ⓘ MCEL40042 View All Courses | ⓘ COMP21111 View All Courses | ⓘ COMP22111 View All Courses | ⓘ COMP22712 View All Courses | ⓘ COMP23111 View All Courses | ⓘ COMP25212 View All Courses | ⓘ COMP27112 View All Courses | ⓘ COMP28112 View All Courses | ⓘ COMP32211 View All Courses | ⓘ COMP32412 View All Courses | ⓘ COMP33511 View All Courses | ⓘ COMP33712 View All Courses | ⓘ COMP34120 View All Courses | ⓘ COMP34212 View All Courses | ⓘ COMP34412 View All Courses | ⓘ COMP35112 View All Courses | ⓘ COMP36111 View All Courses | ⓘ COMP36212 View All Courses | ⓘ COMP36511 View All Courses | ⓘ COMP37111 View All Courses | ⓘ COMP37212 View All Courses | ⓘ COMP38211 View All Courses | ⓘ COMP38411 View All Courses | |
2.1.1 Knowledge and understanding of facts, concepts, principles & theories ⓘ View All Criteria | ResponseEnquiry based learning topics related to development of web based applications and group work.AssesementIndividual coursework, Presentation, Lab work | ResponseIt teaches areas of mathematics required for various fields of computer science in the form of the concept of proof, formal logic, probability, recursion and induction, relations, and linear algebra.AssesementExamination, Individual coursework | ResponseThe unit consists of two halves. The first introduces regular expressions, automata and grammars with an emphasis on the relationships between the formalisms and their use to solve problems. The second half uses a simple WHILE language to introduce the topics of complexity, correctness and computability.AssesementExamination, Individual coursework | ResponseCovers basic logic design, combinatorial and sequential systems and processor design (memory, CPU and I.O.).AssesementExamination, Lab work | ResponseThis course is an introduction to data science, where data science refers to a set of concepts, techniques, and theories for extracting knowledge and information from data using computers.AssesementExamination, Lab work | ResponseThe course introduces the concepts involved in Fundamentals of Computer Architecture. Its aim is to enable the student to develop the skills required to comprehend Computer Systems, be they terminology, models, methodologies, structures (or topologies), timing, number representation and a general introduction to basic computer systems. Fundamental concepts are taught through lectures, example classes and labsAssesementExamination, Individual coursework | ResponseCovers the architecture of principles of modern operating systems, including memory, processes, security, virtualisation, file systems. High level concepts cover abstraction, caching, hashing. Introduces the C programming language as a vehicle for exploring these concepts at OS level.AssesementExamination, Individual coursework | ResponseThis course is an introduction to programming the fundamental concepts surrounding this.AssesementExamination, Individual coursework, Lab work | ResponseWe teach the general principles of object oriented programming including encapsulation, inheritance, polymorphism, abstraction, inner classes and interfaces, in addition to the particularities of the Java language such as the Java Collections Framework and JavaFX.AssesementExamination, Individual coursework, Lab work, Workshops | ResponseBuilding and testing large open source systemsAssesementExamination, Individual coursework, Group coursework | ResponseStudents learn to build and maintain complex enterprise applications that follow established programming design patterns such as the Model View Controller (MVC). The theoretical principles of the MVC are put in practice on a widespread Web framework, ie Spring.AssesementExamination, Group coursework, Lab work | ResponseStudents are given lectures and assigned reading on the theoretical basis of a range of commonly-used techniques in AI.AssesementExamination, Lab work | ResponseThis course has the following learning outcomes: (1) Describe essential and fundamental concepts in machine learning, including supervised and unsupervised learning, classification, regression and clustering, essential elements for building a machine learning system, and apply the knowledge to construct a machine learning task; (2) Explain different supervised learning models studied in the course unit, compare their differences, strengths and weaknesses, and apply the knowledge to decide which is appropriate for a particular application; (3) Explain clustering algorithms studied in the course unit and their applications; (4) Describe fundamental concepts in model evaluation and selection, explain the training, validation and testing processes, different methods for hyperparameter selection.AssesementExamination, Lab work | ResponseThis course covers artificial intelligence concepts that are knowledge-based, including representing knowledge using logical frameworks, acquiring such knowledge (e.g. semantic parsing or ILP), and reasoning with such knowledge. The course, therefore, introduces key fundamental concepts and theoretical frameworks for achieving the above.AssesementExamination, Individual coursework, Lab work | ResponseThe course unit covers essential knowledge, concepts, principles in relation to different aspects of programming languages, including different paradigms (eg, imperative vs declarative) as well as compilation techniques and current trends.AssesementExamination, Individual coursework, Lab work | ResponseThis course considers essential facts, concepts, principles and theories related to Algorithms and Data Structures, topics which are at the core of Computer Science. This includes theoretical tools include algorithmic complexity analysis and fundamental algorithmic design principles.AssesementExamination, Individual coursework, Lab work | ResponseThe knowledge gained during the programme is demonstrated by the student in executing the projectAssesementIndividual coursework | ResponseThis course teaches foundations of logic (propositional, QBF, LTL) with focus on reasoning algorithms (DPLL, tableaux, OBDDs) and applications to modelling and verification of state transition systems.AssesementExamination, Individual coursework | ResponseThe module aims to give a view of the role of a digital hardware designer, taking an idea and implementing it as a silicon chip. A processor is a representative example of logic used in today's chips, also giving further insight into how computers actually work. Students investigate leading edge approaches to processor design as well as being introduced to approaches current in the research domain.AssesementExamination, Lab work | ResponseThis course is fully lab-based, focussing on the use of microprocessors/microcontrollers for simple control and interfacing applications, and develops understanding of the programming and operation of the ARM processor including operating system aspects such as interprocess communication and security.AssesementLab work | ResponseThis unit teaches the core principles of databases and topics in and around this area.AssesementExamination, Individual coursework, Lab work | ResponseThe aims of this course are to introduce the most important system architecture approaches, and to give a wider understanding of how real systems operate and, from that understanding, the ability to optimise their use. Fundamental concepts are taught through lectures, example classes and labsAssesementExamination, Lab work | ResponseTeaches the fundamental principles of computer graphics and image processing, combining theory and practice. Students put the above into practice by writing their own computer graphics programs in three.js and image processing in C using OpenCV.AssesementExamination, Individual coursework, Lab work | ResponseFacts, concepts, principles and theories are taught and discussed in class. Knowledge about these are tested as formative assessment and via coursework as summative assessment.AssesementIndividual coursework, Lab work | ResponseThis course covers the translation of algorithms into a realisable hardware design. The practical part of the course develops higher level models into Verilog HDL and thence to an FPGA. In the lectures the process of mapping designs to ASICs is studied with emphasis on practicalities such as trading chip area, delays, power, etc. to meet a specification. Emphasis is also given to areas which are used extensively in the practical work, particularly simulation, debugging and verification.AssesementExamination, Individual coursework, Lab work | ResponseLecturesAssesementExamination | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test - But it is like an exam | ResponseThe unit covers the values and principles that underly agile approaches. Students are introduced to, and apply, common agile practices for requirements gathering, project planning and tracking, software estimation, design and testing.AssesementExamination | ResponseThis is a full-year course on game theory and computational game theory. It has a large practical component which consists of two substantial projects: one is to design and implement an agent which connects to a game engine and plays a particular board game against other agents. The second is to design an agent which predicts the price which will be set by another agent in order to optimize economic benefit. The theories of games, economic games, mechanism design, and solving such games, including the use of machine learning approaches, are presented in lectures and documents, and is assessed by examination. The practical implementation of these concepts are assessed through group project work. In each semester, the knowledge (the lectures) comes in the first half; the practical implementation comes in the second half.AssesementExamination, Lab work | ResponseThe unit builds students' knowledge and deep understanding of research-level issues in cognitive robotics and the latest machine learning approaches (e.g. deep learning).AssesementExamination | ResponseThe course unit covers key linguistic and algorithmic foundations of natural language processing, providing essential facts, concepts and theories.AssesementExamination, Individual coursework | ResponseLectures on these topics: how to construct a parallel computer, shared memory vs. distributed memory; how to program a parallel computer, data sharing vs. message passing (vs. functional programming); multithreading; cache coherence; synchronisation mechanisms; hardware support for synchronisation; lock-free data structures; OpenMP/MPI; thread-level speculation; transactional memory; memory consistency; attached accelerators and their programming; functional programming and dataflow.AssesementExamination, Lab work | ResponseThe course develops knowledge and understanding of mathematical systems and their relation to computation. Aspects of precision, computer arithmetic, numerical algorithms and applications are all explored to understand their impact on mathematical modelling and simulation.AssesementExamination, Individual coursework | ResponseThis course unit focuses on principles and techniques that underpin the web, and to investigate how these are applied to provide webs of documents and data. In so doing, the concepts and standards associated with resource identification, access, indexing, classification, publication and search are discussed, with specific focus on scalability.AssesementIndividual coursework, Lab work | 2.1.1 Knowledge and understanding of facts, concepts, principles & theories ⓘ View All Criteria | |||||||
2.1.2 Use of such knowledge in modelling and design ⓘ View All Criteria | ResponseApplication of knowledge acquired through enquiry based learning to create a web-based application of the group's choice.AssesementPresentation, Lab work | ResponseIt provides a basis for reasoning about such systems and their properties, introduces notions that underpin the use of probabilities in modelling various situations, and gives the students additional abstract tools to apply when it comes to understanding the behaviour of such systems.AssesementExamination, Individual coursework | ResponseAddresses the design of logic elements through to the design of a complete, but basic, processor.AssesementExamination, Lab work | ResponseMost basic building blocks of a computer system are covered throughout the course. Different design objectives and trade-offs are explained.AssesementExamination, Individual coursework | ResponseStudents design, implement and analyse memory cachesAssesementIndividual coursework | ResponseStudents are tasked to design basic algorithms using flowcharts and pseudocode which can then be used to influence their own codeAssesementIndividual coursework, Lab work | ResponseWe teach the advantages and disadvantages of object oriented programming for software modeling. UML is embedded throughout the course in the examples, labs and courseworks whereby it is not only used to specify a software system, but students have to make their own designs given a domain, requirements and modeling problem.AssesementIndividual coursework, Lab work, Workshops | ResponseStudents have to understand git workflows to modify softwareAssesementExamination, Individual coursework, Group coursework | ResponseStudents experience the trade-offs of hiding complexities which involves reduced control over the development framework and the understandability of what is actually going on behind the scenes. There are also the tradeoffs of using external services (SaaS) that typically promise good documentation, flexibility and number of API calls against those who don't.AssesementExamination | ResponseThis course has the following learning outcomes: Apply knowledge on a few machine learning models identified in the course unit to design learning systems, and analyse results as well as implication.AssesementLab work | ResponseEmphasis is placed on the use of logical frameworks for the modelling of real world and computer-based systems. Different knowledge representation formalisms are explored and compared, considering the various trade-offs.AssesementExamination, Individual coursework, Lab work | ResponseThis is partly addressed through lectures and lab work where different paradigms are used to illustrate trade-offs between different programming languagesAssesementExamination, Lab work | ResponseThere is a focus on the trade-offs associated with the performance of various data structures and algorithmic paradigms. This is explored using theoretically using computational complexity and practically via experimentation.AssesementIndividual coursework, Lab work | ResponseStudents apply knowledge gained from other course units and personal research in the design and implementation of a substantial project.AssesementIndividual coursework | ResponseThe course teaches modelling, design and verification of computational systems, in particular state transition systems.AssesementExamination, Individual coursework | ResponseSimulation of hardware designs using commercial tools in laboratories. The use of testing as an important tool of the designer is discussed.AssesementExamination, Lab work | ResponsePractical development through to working implementation.AssesementLab work | ResponseThe students are required to use their modelling and design skills throughout the course unit when creating logical models and schemaAssesementExamination, Individual coursework, Lab work | ResponseMost exercises require high-level modelling of the systems. The lectures cover many aspects of computer design. The labs require modelling a few memory systems and understanding their tradeoffs.AssesementExamination, Lab work | ResponseExplores the roles that computer graphics plays in visualisation of data, modelling of systems, and communicating ideas.AssesementExamination, Individual coursework, Lab work | ResponseSuch knowledge is discussed in class and tested as summative assessment.AssesementIndividual coursework, Lab work | ResponsePractical development through to working implementationAssesementIndividual coursework, Lab work | ResponseDesign examples and model analysisAssesementExamination | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseUser stories are used to model the requirements for a computer system, with a focus on capturing the value that a software project is expected to deliver to the customer. Story points are used to describe the relative size of a piece of functionality, for the prediction of delivery times and effort. Evolutionary design techniques based on test-driven methods are introduced, as a means of adapting the design of a software system to the requirements are they are understood at each point in a project.AssesementExamination | ResponseIn each project, the students have to use the knowledge from the course to design and implement their solutions. They will not be able to succeed without that knowledge. Modelling the actions of other agents is essential.AssesementExamination, Lab work | ResponseStudents learn to design and carry out a deep learning simulation study, to practice the use of the theoretical knowledge to a practical implementation problem.AssesementIndividual coursework | ResponseThe course unit used that knowledge to build two computer-based systems as part of coursework.AssesementIndividual coursework | ResponseThis is investigated in the lab work. There are 3 exercises, each of which requires students to develop a multithreaded parallel data sharing program in Java to perform a given task (vector addition, sorting, partial differential equations solving). The focus is on measuring the resulting performance and demonstrating at least some degree of speedup. Trade-offs are inherent in this.AssesementLab work | ResponseThe use of this course knowledge in modelling and design is through the ability to apply the techniques taught in this course across different disciplines within and outside computer science. For example when designing numerical analysis software for engineering applications.AssesementExamination, Individual coursework | ResponseCoursework and labs provide experience of a new programming model for big data (MapReduce), as well as requiring design of systems for indexing and searching on the web for documents and data. Coursework specifically ask to discuss trade-offs between modelling decisionsAssesementIndividual coursework | 2.1.2 Use of such knowledge in modelling and design ⓘ View All Criteria | ||||||||||
2.1.3 Problem solving strategies ⓘ View All Criteria | ResponseDesign of a web-based application to a specification created by the group.AssesementPresentation, Lab work | ResponseThe students practice problem solving by addressing exercises. Some of the exercises and the examples on this course particularly address the application of mathematical concepts and principles to problems from computer science.AssesementExamination, Individual coursework | ResponseThe course notes include a comprehensive set of exercises designed to develop students' abilities to work with the formalisms taught. Examples classes give face to face feedback on performance.AssesementExamination, Individual coursework | ResponseThis is addressed in laboratory work, supported by lectures.AssesementLab work | ResponseThe specific problems concern the use of data to address questions. A number of techniques are investigated. When their use is appropriate is part is the most important concept for the student to learn.AssesementExamination, Lab work | ResponseWide variety of exercises covered in the lectures and hands-on in both labs and example classes.AssesementExamination, Individual coursework | ResponseThe course emphasises an operating system as a series of problems that need to be solved, with solutions considering the trade-offs (typically between speed and size) of various solutions.AssesementExamination, Individual coursework | ResponseWe introduce problem solving through timetabled workshops and these principles are also used in coursework 02AssesementIndividual coursework, Lab work | ResponseWe teach how the use of data structures including Lists, ArrayLists, Sets, Stacks, Queues, Maps, HashMaps, HashSets and Binary trees can be used to solve computational problems. At the weekly workshops we give problems to be solved using whiteboard and marker to encourage the development of computational thinking strategies while not being distracted by the computer or code editor.AssesementExamination, Individual coursework, Lab work, Workshops | ResponseStudents use design patterns to refactor softwareAssesementExamination, Group coursework | ResponseThe problem solving strategies involve (i) learning how to use the documentation of existing Web frameworks to address the requirements; (ii) double checking with the customers whether the course of action is sensible; (iii) splitting the requirements into smaller chunks that have to be distributed among the team members; (iv) come up with an strategy to merge all the chunks and merge them.AssesementExamination, Group coursework | ResponseThis course has the following learning outcomes: Implement and apply a few machine learning models identified in the course unit to and solve real-world problems, and analyse results as well as implication.AssesementLab work | ResponseEmphasis is placed on selecting the most appropriate AI strategy for a particular scenario. More abstract problems are presented where the full task of modelling and reasoning needs to be designed.AssesementExamination, Lab work | ResponseThe unit makes use of problems where the solutions require problem-solving skills to apply different programming principlesAssesementExamination, Individual coursework, Lab work | ResponseMaterial is placed within the context of real-world scenarios to demonstrate application to real-word problems. The course involves lab work that involves analysing a problem to develop an appropriate solution. Exam questions often involve an element of analysing a scenario to identify the most appropriate algorithmic solution.AssesementExamination, Lab work | ResponseThe project may involve students developing a solution to a specific problem suggested by a supervisor or the studentAssesementIndividual coursework | ResponseStudents solve a wide range of problems in weekly assessed exercises.AssesementExamination, Individual coursework | ResponseAddressed in laboratory work, supported by lectures.AssesementExamination, Lab work | ResponseStudents work in the lab to develop a full microprocessor-based system. Moreover, a final mini project challenge student's problem solving skills.AssesementIndividual coursework, Lab work | ResponseThe must use their problem solving skills to interpret the requirements of the "client" and then form a model ready for implementationAssesementIndividual coursework, Lab work | ResponseLectures include a broad variety of exercises which promote development of problem-solving skills.AssesementExamination | ResponseThis is addressed in laboratory work, supported by lectures.AssesementIndividual coursework, Lab work | ResponseDiscussed in class and tested as summative assessment.AssesementIndividual coursework, Lab work | ResponseIn practical work students develop an FPGA-based system and troubleshoot the design as they proceed.AssesementIndividual coursework, Lab work | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Individual coursework | ResponseThe course covers the assumptions that underly sequential and agile processes for software development, and helps students to recognise when each is appropriate.AssesementNot Assessed | ResponseThe group project work is done largely from scratch. Particularly for the first project, there are multiple ways to do it.AssesementLab work | ResponseStudents learn to select, justify and apply AI and machine learning algorithms to specific robotics problems.AssesementExamination, Individual coursework | ResponseStudents are asked to solve a particular problem, so they need to analyse the requirements and criteria, and design a solution.AssesementIndividual coursework | ResponseInvestigated in the lab work.AssesementLab work | ResponseThe course explores engineering problem solving from the perspective of the computational modeller. Core concepts and analysis tools including finite precision computation, floating point arithmetic, mixed precision algorithms and numerical solution of differential equations, are used to solve a range of problems along with their impact on computer performance.AssesementExamination, Individual coursework | ResponseThe course unit discusses specific case studies - indexing a real-world set of documents and data. Students are asked to come up with specification to address the problem and plan how to solve it. For one of the tasks, students are asked to mostly focus on identification of design challenges and come up with a balanced strategy to address these.AssesementIndividual coursework | 2.1.3 Problem solving strategies ⓘ View All Criteria | |||||||||
2.1.4 Analyse if/how a system meets current and future requirements ⓘ View All Criteria | ResponseAlthough the requirements are determined by the group, they reflect on these and future needs in the final presentation.AssesementPresentation | ResponseIt enables students to use logic to establish such criteria formally and it provides examples fo how to give proofs of such properties.AssesementExamination, Individual coursework | ResponseThe unit introduces the notion of computational correctness and the use of formal specifications to describe behaviour.AssesementExamination, Individual coursework | ResponseThe course covers the evolving needs of users compared with the affordances / cost of the technology; for example the change in ratio between the address size and cost/availability of physical memory and backing store.AssesementExamination | ResponseStudents learn testing through the provision of unit tests in the labs and coursework in order to make sure that their code meets the expectations set.AssesementGroup coursework, Lab work | ResponseBugs are injected into the system and the course requires that students fix those bugsAssesementIndividual coursework, Group coursework | ResponseAs students build an enterprise web system over a period of ten weeks, students are given new requirement every week whereby the lecturers act as customers. Students are encouraged to check with the "customers" whether the requirements are met. In this way, students learn that requirements can be initially ambiguous and become more specific over time. They also learn that some requirements may disappear, some others will emerge unexpectedly and some other are open to interpretation.AssesementExamination, Group coursework | ResponseThis course has the following learning outcomes: Discuss the differences (including limitations and advantages) between parametric and non-parametric, between deterministic and probabilistic models, and interpret their results.AssesementExamination | ResponseThere is one part of the course unit, which is dedicated to future trends in programming languages.AssesementExamination, Individual coursework | ResponseEmphasis is placed on being able to argue and/or demonstrate the correctness and complexity of an algorithmic solution.AssesementExamination, Lab work | ResponseThe student's work will be evaluated against requirements derived as part of the project.AssesementIndividual coursework | ResponseSpecification and verification of systems is a large part of this course unit.AssesementIndividual coursework | ResponseInvestigation of future approaches to computing.AssesementExamination | ResponseIntroduction of general concepts and how they are used in present and future systems.AssesementNot Assessed | ResponseWe go through step-by-step from the initial requirements to the ending database system and students will evaluate and assess the usefulness of their database throughout.AssesementIndividual coursework, Lab work | ResponseThe course includes coverage of current and future trends in systems architectureAssesementExamination, Lab work | ResponseCurrent and future requirements for distributed systems are taught and discussed in class, and tested as both formative and summative assessment.AssesementIndividual coursework, Lab work | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseThe unit covers agile approaches to software testing, including the use of acceptance tests to both specify and verify the requirements for a system. The unit touches upon the question of how we can decide whether a software system delivers the value initially hoped for from it.AssesementExamination | ResponseThe course unit discusses how to analyse the outcomes/outputs of computer-based systemsAssesementExamination, Individual coursework | ResponseIn the lectures we cover how some design points of multiprocessors (such as cache coherency) do not scale well with the increase in cores expected in future processors.AssesementExamination | ResponseThis course has been designed with the main objective of making available to students research questions in the field. Topics studied are intended to equip students with the analytical problem-solving skills required to handle and exploit future developments of computer-based systems.AssesementExamination, Individual coursework | ResponseStudents are asked to critically evaluate what their solution to a problem would support (e.g. what kind of queries), and how would any future requirements fit. They also need to understand and discuss the efficiency of proposed solutions - e.g. in the context of large number of documents to index.AssesementIndividual coursework | 2.1.4 Analyse if/how a system meets current and future requirements ⓘ View All Criteria | ||||||||||||||||||
2.1.5 Deploy theory in design, implementation and evaluation of systems ⓘ View All Criteria | ResponseThe unit teaches the mathematics underpinning the formal side of specifying such systems.AssesementExamination, Individual coursework | ResponseUse of boolean algebra, gate level design, and HDL description of circuits in the design and implementation of systems.AssesementExamination, Lab work | ResponseStudents use the Perentie tool to write and evaluate assembly programs.AssesementIndividual coursework | ResponsePatterns, OO Design and UMLAssesementCoursework and examination | ResponseThe theoretical principles are put into practice in several ways: (i) the MVC in use is well-known Web framework used in industry; (ii) we use external APIs for mapping (ie Mapbox); (iii) we integrate into the MVC architecture APIs that are widely used (Twitter API); (iv) principles of testing in isolation are put in practice whereby students derive tests from requirements and learn to mock components of the Web system to facilitate testing.AssesementExamination, Group coursework | ResponseStudents are required to solve practical problems in four laboratory exercises: natural language inference, game-playing, fuzzy logic and vehicle odometry.AssesementLab work | ResponseThis course has the following learning outcomes: (1) Recognise general factors that affect the performance of a machine learning system, and be able to use these to analyse and learn from data; (2) Apply the knowledge to use data, design machine learning experiments, and make observations from results. Also implementation of designed learning system is required.AssesementLab work | ResponseThe course is about students to understand AI techniques, and about getting them to learn how to implement these techniques and how to judge when they are applicable.AssesementLab work | ResponseTheoretical properties related to algorithms and data structures are explored through the implementation and evaluation of algorithmic solutions to computational problems during lab exercises.AssesementLab work | ResponseStudents are expected to apply knowledge acquired during the programme and through their personal research.AssesementIndividual coursework | ResponseIn this course, theoretical aspects are linked to practical reasoning and verification algorithms.AssesementExamination, Individual coursework | ResponseDesign exercises in laboratories supported by the use of commercial design tools.AssesementExamination, Lab work | ResponseThe labwork is concerned with implementation of systems based on sound theoretical principles.AssesementIndividual coursework, Lab work | ResponseThe students spend a few weeks going through the design process of a database from requirements to end productAssesementIndividual coursework, Lab work | ResponseStudents develop and use several tools and benchmarks to evaluate computer systems.AssesementExamination, Lab work | ResponseWe discuss image processing solutions for appropriate problems.AssesementExamination, Lab work | ResponseDiscussed in class in the form of design of a solution, considering existing best practices and theory and tested as summative assessment.AssesementIndividual coursework, Lab work | ResponseThe labwork is concerned with implementation of systems based on sound theoretical principles.AssesementIndividual coursework, Lab work | ResponseLecturesAssesementExamination | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseKey agile practices associated with requirements gathering, project planning, software testing and evolutionary design are introduced in the course. Students have a chance to apply the practices in class, with students choosing one practice to apply in depth in their coursework. Tools made use of include Cucumber, JUnit and IDE-based refactoring.AssesementExamination | ResponseThe knowledge concerning how to solve games in the contexts of the two practical projects is highly theoretical. The students design and implement solutions based on that theory. The students will not achieve successful results without making use of the theory that they learned.AssesementLab work | ResponseStudents learn to use a set of libraries and tools to implement the selected machine learning methods.AssesementExamination, Individual coursework | ResponseAs above - the course unit focuses on specification, design, implementation and evaluation of natural language processing systems.AssesementExamination, Individual coursework | ResponseConcepts from the lectures are applied in the lab exercises in which the students are asked to design, implement, and evaluate parallel shared-memory programs.AssesementExamination, Lab work | ResponseThe course addresses the problem of deploying appropriate theory, practices and tools for the specification, design, implementation and evaluation of computer-based systems. For example, by developing numerically stable and accurate algorithms and applying them across a range of example problems.AssesementIndividual coursework | ResponseWe introduce different MapReduce patterns for developing the methods to implement indexing of documents and data. A variety of standard and emerging methods for evaluation of information retrieval are considered.AssesementIndividual coursework | 2.1.5 Deploy theory in design, implementation and evaluation of systems ⓘ View All Criteria | ||||||||||||||
2.1.6 Recognise legal, social, ethical & professional issues ⓘ View All Criteria | ResponseStudents work on - group and individual tasks related to copyright and intellectual property. - the 'Killer Robot' case study (again as a group and individual), investigating ethical considerations. - a range of subjects related to data protection, licensing, ethical issues, etc that are relevant to their team's web project - the subject of unconscious bias and how it may effect their teamworkAssesementIndividual coursework, Presentation | ResponseThe ethical use of data, and the validity of the assumptions used to draw conclusions from data is covered briefly.AssesementExamination | ResponseCovers the concept that 'every line of code is an ethical decision', e.g. implications for OS security and performance (which in turn has implications for energy consumption)AssesementExamination | ResponseStudents have to co-ordinate their work as a team, assign bugs to team members and work professionally togetherAssesementGroup coursework | ResponseThis course has the following learning outcomes: Recognise and describe issues regarding ethics in machine learning.AssesementIndividual coursework | ResponseStudents are expected to adhere to the relevant ethical guidelines during their project work.AssesementIndividual coursework | Responsewe briefly discuss database security and the ethical implications around thisAssesementLab work | ResponseThe ethical issues of manipulating imagery are discussed.AssesementExamination | ResponseDiscussed in class and tested as formative assessment.AssesementIndividual coursework, Lab work | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseThe unit covers a number of professional issues: whole-team responsibility, issues of trust and openness between customer and development team, honesty in making commitments or dealing with unrealistic commitments made on the team's behalf, learning from team members, the management of technical debt and techniques for maintaining high software quality. We also touch on contracts for agile projects.AssesementExamination | ResponseGame theory can help in understanding the incentives for behaving in an unethical or antisocial manner. Computational game theory, and particularly mechanism design can provide incentives against dishonest behavior. These topics are part of the theoretical content of the course.AssesementExamination | ResponseThere is a lecture on ethics of AI and robotics, the students explicitly learn about AI-related ethics issues.AssesementExamination | ResponseA brief discussion on social and ethical issues when it comes to what data to index and how autonomous data representation models should be.AssesementNot Assessed | 2.1.6 Recognise legal, social, ethical & professional issues ⓘ View All Criteria | |||||||||||||||||||||||||||
2.1.7 Knowledge and understanding of commercial and economic issues ⓘ View All Criteria | ResponseCovered indirectly through consideration of performance / cost of OS/hardware.AssesementNot Assessed | ResponseStudents estimate the cost (in time) of fixing bugs using Work Breakdown Structures (WBS) so they can justify the estimates they make when fixingAssesementExamination, Group coursework | ResponseWhen exploring the space of APIs that may help addressing the requirements, students learn the conditions of some services that are commercial and may constrain the ability of the system to scale (SaaS).AssesementExamination, Group coursework | ResponseThis course has the following learning outcome: Discuss the differences (including commercial and economic concerns) between models of different complexity levels, and interpret their results.AssesementNot Assessed | ResponseCommercial considerations may impact some projectsAssesementIndividual coursework | ResponseThis is addressed by discussing the importance of verified systems in safety-critical applications and how software and hardware bugs can adversely affect economy and companies.AssesementNot Assessed | ResponseUnderstanding design factors and their economical impact.AssesementNot Assessed | ResponseThe last lectures cover current and future trends in systems architecture, part of this is discussed in a business contextAssesementExamination | ResponseDiscussed in class (impact of existing systems in businesses and society) and tested as both formative and summative assessment.AssesementIndividual coursework, Lab work | ResponseDescribed through case studies in the courseAssesementNot Assessed | ResponseThe issue of contracts for agile projects is covered briefly by this unit, as is the importance of ensuring that software systems deliver real value to customers.AssesementExamination | ResponseThe second semester of the course is about economic application of games. The project is about setting prices to maximize profit by predicting the behavior of other players in the market.AssesementExamination, Lab work | ResponseThe course unit regularly features a guest lecture from industry.AssesementNot Assessed | ResponseLectures are explicit about the lack of accurate information about how commercial cache protocols and related hardware-level schemes actually work due to the commercial sensitivities.AssesementExamination | ResponseRegularly covered by a guest lecture from industry, discussing practical issues in maintaining search and indexing systems.AssesementNot Assessed | 2.1.7 Knowledge and understanding of commercial and economic issues ⓘ View All Criteria | ||||||||||||||||||||||||||
2.1.8 Knowledge of management techniques to achieve objectives ⓘ View All Criteria | ResponseUse of source code management systems (Github), basics of project planning, task allocation, chairing meetings, use of project management systems.AssesementGroup coursework | ResponseStudents work as a team, they have to manage their workload and negotiate work between themAssesementGroup coursework | ResponseTime management, workload distribution in teams and leadership are key aspects students learn while they work in teams as new requirements are released every week so they are required to be up to date.AssesementNot Assessed | ResponseStudents are expected to use an appropriate planning tool to manage their work.AssesementIndividual coursework | ResponseTime and data management in a computing context are discussed in the lab and tested as part of summative assessment.AssesementLab work | ResponseA number of the practices covered by the course relate to project management: task boards are introduced as a lightweight means of planning and tracking the progress of software projects. Agile estimation techniques are also covered. We provide an overview of common agile management methodologies, e.g. Scrum, Kanban.AssesementExamination | ResponseOnly indirectly. The projects are substantial and are done in small groups. The students have to manage the projects themselves.AssesementLab work | ResponseThe labs and coursework requires the practice and development of project planning and monitoring skills.AssesementIndividual coursework | 2.1.8 Knowledge of management techniques to achieve objectives ⓘ View All Criteria | |||||||||||||||||||||||||||||||||
2.1.9 Knowledge of information security issues ⓘ View All Criteria | ResponseAnalysis of security and privacy issues relating to group project.AssesementPresentation | ResponseSecurity is considered throughout, including as a specific topic on malware analysis.AssesementExamination | ResponseWe devote one week to secure programming involving a guest lecture from industry and the reading of scientific papers on the topic, which is assessed in the exam.AssesementExamination | ResponseWe devote one week to secure programming involving Spring security basics and privacy design strategies.AssesementExamination, Group coursework | ResponseExamples from computer security are often used as examples to demonstrate key concepts. One topic involves the basic theory required to understand asymmetric key encryption, accompanied by a lab to explore the process in practice.AssesementLab work | ResponseInformation security may be a concern in some projectsAssesementIndividual coursework | ResponseSecurity is briefly mentioned in relation to verification.AssesementNot Assessed | ResponseSome work covers software privileges and hardware security.AssesementLab work | Responsewe briefly discuss database security and the ethical implications around thisAssesementLab work | ResponseSecurity and privacy concerns are explored during the virtualisation part of the course.AssesementExamination | ResponseDiscussed in class and tested as formative assessment.AssesementIndividual coursework | ResponseSeveral lectures are dedicated to IoT securityAssesementExamination | 2.1.9 Knowledge of information security issues ⓘ View All Criteria | |||||||||||||||||||||||||||||
2.2.1 Specify, design or construct computer-based systems ⓘ View All Criteria | ResponseDesign and implementation of a substantial, data-driven web application.AssesementPresentation | ResponseAddresses the design of simple processors and their interaction with memory and IO.AssesementExamination, Lab work | ResponseBy it's nature, the course only goes as far 'up' as operating systems, however the design of these is the core topic.AssesementExamination | ResponseDesign and implement simple Python based programsAssesementIndividual coursework, Lab work | ResponseStudents build and test a large open source software systemAssesementGroup coursework | ResponseThis course requires learning outcome on design and implementation of machine learning systems, which are computer based.AssesementLab work | ResponseThe course involves constructing a reasoning-based system to explore the theoretical concepts introduced in lectures.AssesementLab work | ResponseThere is a set of exercises where specification is provided and different compute-based systems have to be implemented using different programming languagesAssesementExamination, Lab work | ResponseThe course is a practical course in which students build a variety of systems, from specification, through design to implementation.AssesementLab work | ResponseStudents may specify, design and implement a substantial computer-based system.AssesementIndividual coursework | ResponseSpecification and verification of systems is part of this course unit.AssesementIndividual coursework | ResponseThe students specify, build, and test working processor solutions.AssesementExamination, Lab work | ResponseThe practical work of the course is all about system building.AssesementIndividual coursework, Lab work | ResponseThe main aim of the course is computer architecture, so system design is an important part thereof.AssesementExamination, Lab work | ResponseDiscussed in class and tested as summative assessment.AssesementIndividual coursework, Lab work | ResponseThe practical part of the course develops higher level models into Verilog HDL and thence to an FPGA. In the lectures the process of mapping designs to ASICs is studied with emphasis on practicalities such as trading chip area, delays, power, etc. to meet a specification.AssesementExamination, Individual coursework, Lab work | ResponseLecturesAssesementExamination | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseUser stories are covered as a means of gathering and documenting requirements in a lightweight form. Evolutionary design techniques are covered as a means of avoiding the need to design software systems up-front, while attempting to meet requirements over the long term. Test-driven development is covered as an approach to the implementation of high-quality, highly-maintainable code.AssesementExamination | ResponseIn doing the two projects, the students have to specify, design, and implement computer-based agents largely from scratch.AssesementLab work | ResponseStudents use libraries and dataset to build and test an AI (visual recognition and classification) system.AssesementIndividual coursework | ResponseNatural language processing systems are discussed - what they tasks are (specification), how to design them and how to construct them. The exam often asks students to discuss a specification, design and construction of a real-world processing system (e.g. for a case study).AssesementExamination, Individual coursework | ResponseLectures describe many important details of the construction of multiprocessors.AssesementExamination | ResponseThis course specifies, designs and constructs computer models capturing mathematical systems defining real-world problems. Model implementations are analysed from the perspective of accuracy, stability, and computational performance.AssesementExamination, Individual coursework | ResponseStudents are asked to design and construct two computer-based systems for indexing sets of documents and data. These are introduced in workshops.AssesementIndividual coursework | 2.2.1 Specify, design or construct computer-based systems ⓘ View All Criteria | ||||||||||||||||
2.2.2 Evaluate systems in terms of quality and trade-offs ⓘ View All Criteria | ResponseStudents work through alternative designs and approaches to their system with their tutorAssesementGroup coursework, Presentation | ResponseThe unit lays the mathematical groundwork for the notions related to algorithmic complexity.AssesementExamination, Individual coursework | ResponseThe unit focuses on a number of equivalent formalisms (regular expressions and various flavours of automata). Trade-offs between these systems are discussed in terms of their usability, implementation and reasoning about their properties.AssesementNot Assessed | ResponseThe course covers topics relevant to objective evaluation of systems: concept and quantification of uncertainty in measured and experimental data, visualization of data, hypothesis generation and testing, and basic statistical tests. These topics constitute a substantial part of the course. One objective of the course is that on successful completion, the student should be able to design and carry out a valid experiment to test a hypothesis.AssesementExamination, Lab work | ResponseSome basic tradeoffs in terms of execution speed and storage are explainedAssesementIndividual coursework | ResponseExplicitly analyses different algorithms for various OS components, e.g. caching and scheduling strategiesAssesementExamination, Individual coursework | ResponsePros and cons of different algorithmic and design approachesAssesementExams, Coursework | ResponseThe quality of the system students build is assessed in using test code quality and test coverage tool, continuous integration and testing toolsAssesementGroup coursework | ResponseThis course requires learning outcome on discussing the differences (including limitations and advantages, quality and trade-offs) between different machine learning models.AssesementExamination | ResponseDifferent reasoning systems are evaluated for the appropriateness in different scenarios.AssesementLab work | ResponseA range of trade-offs in terms of designing, building, compiling programs are discussed throughout the course unitAssesementExamination, Individual coursework | ResponseAnalysing and understanding performance trade-offs is a core component of lab work.AssesementLab work | ResponseStudents are expected to evaluate alternative solutions in their work and to reflect on their completed work.AssesementIndividual coursework | ResponseTrade-offs of different reasoning algorithms are discussedAssesementExamination, Individual coursework | ResponseOverview in lectures of trade-offs in hardware designAssesementExamination | ResponseStudents are encouraged to reflect on their solutions implemented in the lab.AssesementLab work | ResponseMost exercises require high-level modelling of computer systems. The lectures cover many aspects of computer design. The labs require modelling a several memory systems and understanding their tradeoffs.AssesementExamination, Lab work | ResponseThere is extensive coverage of the trade-offs in acceptable quality necessary to create computer graphics imagery in real-time, and the requirements of real-time image processing.AssesementExamination | ResponseDiscussed in class and tested as summative assessment.AssesementIndividual coursework, Lab work | ResponseThe lab includes some test and verification work.AssesementIndividual coursework, Lab work | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseThe key focus of agile methods on delivering real value to the customer through the development of software is covered by the unit.AssesementExamination | ResponseAgain it is indirect. The students have procedures whereby they can test their solutions. This allows them to test the efficacy of the decisions they have made.AssesementLab work | ResponseLectures and exams focus on evaluation and selection of different methods and algorithms,AssesementExamination | ResponseCoursework asks students to discuss alternatives and trade-offs between decisions they made.AssesementIndividual coursework | ResponseSome lecture topics go into these issues. For example, early attempts to provide synchronisation instructions require a read-modify-write directly into memory, but modern pipelined processors cannot do this efficiently, so novel schemes have had to be invented.AssesementExamination | ResponseThis course provides students with a wide range of criteria to evaluate different types of systems, such as numerical precision, error, model convergence, and computer hardware requirements (e.g. memory, operations, energy).AssesementExamination, Individual coursework | ResponseAs above - this is a key request for the two coursework pieces: evaluate possible trade-offs in addressing the indexing problem, and illustrate that with real-world data.AssesementIndividual coursework | 2.2.2 Evaluate systems in terms of quality and trade-offs ⓘ View All Criteria | |||||||||||||
2.2.3 Recognise risk/safety for safe operation of computing equipment ⓘ View All Criteria | ResponseInduction on using desktop and laptop computers, health and safety at workAssesementCoursework | ResponseCovered indirectly through the perspective of system security and the risks and costs associated with that.AssesementExamination | ResponseBasic risk management techniques are discussedAssesementExamination | ResponseSafety issues may be a concern in some projectsAssesementIndividual coursework | ResponseThis is addressed as a part of specification and verification of safety properties.AssesementExamination, Individual coursework | ResponseSecurity and privacy concerns are explored during the virtualisation part of the course.AssesementExamination | ResponseDiscussed in class.AssesementNot Assessed | ResponseLectures emphasise the importance of correct behaviour/implementation in data protection. The incorrect implementation of Transactional Memory extensions for the i86 ISA in Intel's Haskell processor is specifically mentioned.AssesementExamination | 2.2.3 Recognise risk/safety for safe operation of computing equipment ⓘ View All Criteria | |||||||||||||||||||||||||||||||||
2.2.4 Deploy tools effectively ⓘ View All Criteria | ResponseEnquiry based learning of tools; the course does not prescribe a process or tool but leads students to gain experience in developing a substantial application in order to motivate the teaching of the software development process in the 2nd yearAssesementPresentation | ResponseUse of commercial CAD tools to design and simulate simple hardware.AssesementLab work | ResponseThe lab work of this course, as well as the demonstrated examples, are carried out in python using the following tools: Jupyter notebooks, matplotlib.pyplot, numpy, pandas, scikit-learn. The students cannot carry out the labs without effectively deploying these tools. This is only assessed in practical lab sessions; it is not examined.AssesementLab work | ResponseStudents deploy their refactored softwareAssesementGroup coursework | ResponseThe deployment of enterprise Web systems in an inherent part of the course unit whereby there is a lifecycle for testing and building the Web application.AssesementGroup coursework | ResponseThe lab works requires the use of machine learning and mathematical tools.AssesementLab work | ResponseExisting tools for knowledge representation and reasoning are used within the course.AssesementLab work | ResponseThroughout the course, students are using tools to build systems which are of practical use.AssesementLab work | ResponseWe encourage students to research and use appropriate tools for designing and implementing applications (if they exist)AssesementIndividual coursework | ResponseUse of commercial CAD toolsAssesementExamination, Lab work | ResponseThe students have to use proprietary and industry tools.AssesementLab work | ResponseThe course uses MySQL and MongoDBAssesementLab work | ResponseDiscussed in class and tested as summative assessment.AssesementIndividual coursework, Lab work | ResponsePractical covers hardware development in context with its driving software.Lectures cover some design alternatives.AssesementIndividual coursework, Lab work | ResponseThe unit covers the use of specification-by-example tools (FitNesse and Cucumber), and automated testing tools (JUnit). The use of refactoring tools provided by IDEs in evolutionary design is also covered.AssesementExamination | ResponseThe coursework report is an opportunity to reflect and evaluate the use of AI and robot vision tools.AssesementIndividual coursework, Lab work | ResponseThe goal of the course is to provide students with the skills to define mathematical systems via computational models, and assess their efficacy against target objectives. This requires a range of skills including: defining a problem and casting it in a computational model, implementing a model in software, and analysing the output to measure performance. This process is explored across a range of problems from mechanical engineering, physics, and neural networks.AssesementExamination, Individual coursework | ResponseThis course unit requires students to understand and implement their solutions in a Hadoop environment, so they need to be able to demonstrate effective deployment.AssesementLab work | 2.2.4 Deploy tools effectively ⓘ View All Criteria | |||||||||||||||||||||||
2.3.1 Work as a member of a development team ⓘ View All Criteria | ResponseGroup design and implementation of a web-based application, regular reflection on how team works, both as individuals and as regular 'team health checks'.AssesementIndividual coursework | ResponseStudents work as part of a team of sixAssesementGroup coursework | ResponseThe teamwork project is a central part of the course unit. The customers (ie academics) release new requirements every week and each team has to break them into manageable issues that are allocated to the member of the team. These allocations is made through consensus and is made explicit on a distributed version control system (GitLab). When the number of weekly issues is less than team members students are encouraged to do pair programming within teams.AssesementNot Assessed | ResponseStudents perform code reviews of other students.AssesementNot Assessed | ResponseAddressed as collaboration between students testing functionality computer programmed solutions developed by colleagues.AssesementNot Assessed | ResponseSeveral team-based practices are covered by the course, including self-organising teams, team-based estimation through planning poker/rock-paper-scissors, and the Three Amigos approach to specification-by-example.AssesementExamination | ResponseThe students work in small groups to develop their agents.AssesementLab work | 2.3.1 Work as a member of a development team ⓘ View All Criteria | ||||||||||||||||||||||||||||||||||
2.3.2 Development of general transferable skills ⓘ View All Criteria | ResponseProblem solving, group working, communication and presentation skills, self learning through enquiry based learning, reflection.AssesementIndividual coursework, Presentation | ResponseOn this unit the students learn to think abstractly. They have to write down their solutions to problems in such a way that another person may understand them.AssesementExamination, Individual coursework | ResponseThe outcomes of the assessed labs are reports in the form of Jupyter Notebooks. In producing these from the lab scripts (which are themselves Jupyter Notebooks), the students are "walked through" the act of producing a valid report.AssesementLab work | ResponseProblem solving is an important part of the course.AssesementExamination, Individual coursework | ResponseStudents report on their analysis of caching strategies.AssesementIndividual coursework | ResponseWe teach problem solving skills through a series of workshopsAssesementIndividual coursework, Lab work | ResponseEvery week, there is a workshop where we challenge our students to solve a set of problems, which is always related to the week's topic. The activities have to be conducted in teams of 5-6 students that are arranged on an ad-hoc basis. This involves collaboration and discussion with others, reaching agreements and delegating on others.AssesementWorkshop | ResponseStudents have to communicate with other team members and the GTAs in marking interviews to explain what they have doneAssesementGroup coursework | ResponseThis course unit aims to simulate a software engineering team where the members of the team are given a set of requirements and then, apply the the theoretical principles taught. Teams are expected to self-learn of components involving development frameworks and external software services.AssesementNot Assessed | ResponseStudents are shown by a series of examples how to develop theoretical solutions to practical problems in AI, and how to transform those solutions into practical implementations.AssesementExamination, Lab work | ResponseThis courses requires problem solving and numeracy skills, also communication skills required in marking session.AssesementLab work | ResponseProblem solving is exercised throughout the course unit, time management is necessary when dealing with lab work.AssesementExamination, Lab work | ResponseStudents need to be able to communicate and engage with staff about systems they have built. Marking in laboratory session is via dialogue with students and students need to be able to explain their design, implementation and the correctness and performance of the systems.AssesementLab work | ResponseIndependent planning and working, self guided professional development, reporting via written work and a video,AssesementIndividual coursework, Presentation | ResponseStudents are expected to solve a wide range of problems via weekly assessed exercises and clearly explain solutions in writing. Students are encouraged to participate in discussions during lectures and labs.AssesementExamination, Individual coursework | ResponseDevelop a sense of importance of testing that applies beyond the boundaries of hardware design.AssesementExamination, Lab work | ResponseThe unit introduces general concepts and applies them to concrete examples. In a mini project these concepts will be applied in a new context.AssesementIndividual coursework, Lab work | ResponseStudents must use their problem solving skills throughout the course unit.AssesementIndividual coursework, Lab work | ResponseProblem solving, numeracy and technical reporting are important part of the course.AssesementExamination, Lab work | ResponseProblem-solving is exercised in coursework, lab and exam.AssesementExamination, Individual coursework, Lab work | ResponseDevelopment of transferable skills are required in the form of problem solving, communication, self-learning and (software) functionality design, development and improvement. These skills are to be tested as both formative and summative assessment.AssesementIndividual coursework, Lab work | ResponseStudents are encouraged to take part in in-lecture discussions with their peers.AssesementNot Assessed | ResponseStudents are asked to work in teams and pairs in all classes. Communication skills are developed by this means, as well as through frequent whole-class discussion.AssesementNot Assessed | ResponseThe students are required to work in teams, so teamwork is reinforced through practice. Time management is reinforced by the requirement a rough plan by the second week, and by the requirement of a journal. Communication skills are reinforced by the requirement of a group presentation and a final report in the journal.AssesementLab work | ResponseWriting reports (two coursework discussion reports) and an essay as the final examination.AssesementExamination, Individual coursework | ResponseMainly by the problem-solving nature of the lab exercises and some parts of exam questions.AssesementExamination, Lab work | ResponseThis course develops general transferable skills through the advanced multi-disciplinarily nature of topics studied. The development of problem-solving skills is explained in Section 2.1.3. Communication skills are developed through high participation in class, with creative and critical thinking encouraged in all teaching sessions. Technical writing is also developed in written report assignments.AssesementExamination, Individual coursework | ResponseWritten reports are part of the coursework.AssesementIndividual coursework | 2.3.2 Development of general transferable skills ⓘ View All Criteria | |||||||||||||
3.1.1 Deploy systems to meet business goals ⓘ View All Criteria | Responsestudents work on a team project where they create, scope, design, and implement a substantial, dynamic, data-dependent web-based application of their choice. They decide on the application’s functionality and work towards implementing their goals as a team. The project is marked via a mixture of assessed reports and presentations.AssesementWritten reports and group presentations | ResponseAll the practical work in labs and coursework are goal driven. The goals are defined in the lab specification and the coursework criteria. In the labs, each week, the students are given a business problem that requires them to apply appropriate problem-solving skills and then to code their solution. Examples include creating encryption and decryption algorithms, design and writing a sudoku problem solving application, word search puzzles, and later in the course explore more advanced goals such as writing applications with animation, object movement and collision detection.AssesementThe coursework consists of the student having to design and write a text based spell checker application that detects incorrectly spelt words and also makes recommendations of the correct spelling for that word. The second assessment consists of the student needing to problem solve and write a retro game (such as snake). | ResponseAll the practical work in workshops, labs and coursework is goal driven. The goals are defined using formal specifications, natural language and UML diagrammes and they are checked using automated testing and acceptance testing.Assesementformative assessment in labs, workshops and coursework; summative assessment in coursework and exam | ResponseBusiness goals come in the form of small and large scale changes to the underlying software system. Groups are assigned industrial mentors who explain how business requirements work in practiceAssesementExamination, Group coursework | ResponseThe weekly requirements simulate the goals set by the customer which involve deploying and running an enterprise Web application.AssesementGroup coursework | ResponseNot applicable.AssesementNot Assessed | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | 3.1.1 Deploy systems to meet business goals ⓘ View All Criteria | ||||||||||||||||||||||||||||||||||
3.1.2 Methods, techniques and tools for information modelling, management and security ⓘ View All Criteria | ResponseEnquiry based learning of simple relational database and web application design; just enough to allow the construction of the project.AssesementGroup presentation | ResponseThe units teaches the mathematical underpinnings for some of that modelling, for example in the form of probability theory and logic.AssesementExamination, Individual coursework | ResponseA substantial part of the course is about modelling data to extract information from it. Model techniques include probabilistic models of data, Bayesian reasoning, and rudimentary machine learning models, such as linear models, polynomial models, and Bayesian models.AssesementExamination, Lab work | ResponseStudents are taught the security risks of programming including those about using online resources for debugging purposes which involve using bad practices, and adding bugs to the codebase inadvertently.AssesementExamination | Responsestudents have to model the system they are working onAssesementExamination, Individual coursework, Group coursework | ResponseStudents are taught the security and privacy risks of enterprise Web applications in general, and those principles applicable to the Web framework in use, ie Spring.AssesementExamination, Group coursework | ResponseThis course's main topic is machine learning, which contribute the major methods/tools in information modelling.AssesementExamination, Lab work | ResponseLogic-based modelling is central to this course.AssesementExamination, Individual coursework | ResponseTaught and discussed in class.AssesementIndividual coursework, Lab work | ResponseLecturesAssesementExamination | ResponseInformation modelling for natural language data is considered, including various statistical, machine learning and knowledge-based approaches.AssesementExamination, Individual coursework | 3.1.2 Methods, techniques and tools for information modelling, management and security ⓘ View All Criteria | ||||||||||||||||||||||||||||||
3.1.3 Knowledge of systems architecture ⓘ View All Criteria | ResponseBasic understanding of web-stack and database architecture.AssesementGroup presentation | ResponseDetailed exploration of low-level systems architectureAssesementExamination, Lab work | ResponseMany fundamental concepts of architecture are discussed in this course.AssesementExamination, Individual coursework | ResponseThe core topic of this course is the architecture of operating systems.AssesementExamination, Individual coursework | ResponseIn the final coursework students are required to design and implement a game which must meet minimum business requirements, for example; the use and manipulation of images and shapes, movement of objects, a simple form of collision detection, various user inputs such as the ability to pause/resume the application as well as other inputs such as codes to make the game easier or more difficult (as well as other aspects you would expect to find in a retro style game). All these components need to be modelled and structured in a fashion that allows the correct representation of systems and the structures.AssesementFormative and summative assessment for coursework. | ResponseArchitecture of modern software systems using gitlab, jenkins, JUnit, client server architecture etcAssesementExamination, Individual coursework, Group coursework | ResponseThrough coursework students build a chess video game and a system that simulates maze solving. While these are rudimentary systems, the architecture of the systems are indicative of architectural choices in simulation and games.AssesementCoursework | ResponseThe course unit requires a good understanding of the software stack as it deals with programming languages and compilersAssesementLab work | ResponseThe performance of algorithms and data structures is placed within the broader context of systems architecture e.g. caching effects.AssesementNot Assessed | ResponseStudents learn algorithms behind state-of-the-art reasoning methods.AssesementExamination, Individual coursework | ResponseFocus on the microarchitecture of processors and develop a fundamental understanding of the essential building blocks of processor designs.AssesementExamination, Lab work | ResponseDeep low-level programming of systems.AssesementLab work | ResponseThis is the main focus of the course.AssesementExamination, Lab work | ResponseTaught and discussed in class.AssesementIndividual coursework, Lab work | ResponseThis is fundamental to this course and is exercised throughout.AssesementExamination, Individual coursework, Lab work | ResponseExamples and case studiesAssesementExamination | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseInherent in the nature of the material covered. The course unit is part of the School's Architecture Theme.AssesementExamination, Lab work | ResponseStudents are introduced to Hadoop and related architectures and technologies for distributed computing.AssesementNot Assessed | 3.1.3 Knowledge of systems architecture ⓘ View All Criteria | ||||||||||||||||||||||
3.1.4 Knowledge and understanding of mathematical and/or statistical principles ⓘ View All Criteria | ResponseThe course consists of teaching such mathematical principles.AssesementExamination, Individual coursework | ResponseThe course exposes students to mathematical treatments of basic topics such as computability and complexity. It also gives experience in defining and using formal systems and notations (e.g. grammars), and reasoning about such systems.AssesementExamination, Individual coursework | ResponseBasic Boolean logic and binary arithmetic and the application to the design of digital systems.AssesementExamination, Lab work | ResponseThe course covers statistical principles, including quantification of uncertainty and hypothesis testing. Probabilistic reasoning including Bayesian reasoning is covered.AssesementExamination, Lab work | ResponseTheoretical analysis, algebra and statistics is fundamental to the course.AssesementExamination, Lab work | ResponseMaterial and exercises on automated diagnosis and vehicle odeometry develop knowledge and understanding of probabilitistic reasoning. Material and exercises on natural language inference and planning develop knowledge and understanding of the application of logic in reasoning.AssesementExamination, Lab work | ResponseThis course requires applying mathematical and statistical principles in understanding and design of machine learning models.AssesementExamination, Lab work | ResponseThe course investigates a range of logical frameworks and their properties.AssesementExamination, Individual coursework | ResponseSome mathematical formalism in relation to languages and compilers is introduced to illustrate key conceptsAssesementExamination | ResponseThe course relies on considerable mathematical foundations, for performance analysis and correctness arguments.AssesementExamination, Individual coursework | ResponseEvaluation of some projects may require robust statistical analysis. Some projects require significant amounts of applied maths and logic.AssesementIndividual coursework | ResponseThe course teaches mathematical aspects behind logical methods: syntax and semantics of propositional logic, QBF, logic of finite domains and LTL; formal reasoning methods and methods for formal verification.AssesementExamination, Individual coursework | ResponseTheoretical analysis and statistics is fundamental to the course.AssesementExamination, Lab work | ResponseMathematics underpins much of synthetic computer graphics and image processing. Statistical methods are used for creating classifiers that make use of image data.AssesementExamination, Lab work | ResponseNot applicable.AssesementNot Assessed | ResponseProblem solvingAssesementExamination | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementNot Assessed | ResponseGame theory is a mathematical subject. Students must understand it and put it into practice.AssesementExamination, Lab work | ResponseThe machine learning component requires the consideration of the underlying maths models.AssesementExamination, Individual coursework | ResponseThe course develops knowledge and understanding of mathematical systems and their solution through computational modelling. This includes aspects of numerical precision and accuracy on digital hardware, the use of numerical algorithms to approximate solutions to computationally hard problems, and exploration of these concepts under a range of engineering and science applications.AssesementExamination, Individual coursework | 3.1.4 Knowledge and understanding of mathematical and/or statistical principles ⓘ View All Criteria | |||||||||||||||||||||
3.2.1 Specify, deploy, verify and maintain information systems ⓘ View All Criteria | Responsestudents create, scope, design, and implement a substantial, dynamic, data-dependent web-based application of their choice.AssesementWritten reports and presentations | ResponseThe unit provides tools for these processes, for example in the form of logic and probability theory.AssesementExamination, Individual coursework | ResponseIn the first coursework, the students are required to implement various modules to retrieve data (such as text documents), store that data in some structured fashion and then process that data to validate erroneous data.Assesementformative and summative assessment for coursework. | ResponseBy using a continuous integration server, students are involved in deploying and testing software and receive feedback about whether the specifications are met.AssesementCoursework | ResponseRequirements are underspecified and require that tests are written to understand bugsAssesementExamination, Individual coursework, Group coursework | ResponsePractical processes for testing and deploying an enterprise Web application involve following test driven principles whereby tests are often written before production code.AssesementExamination, Group coursework | ResponseMethods for specification, verification and reasoning are at the core of the course.AssesementExamination, Individual coursework | ResponseAddressed as design, implementation, testing, and evaluation of computer programmed solutions in the lab.AssesementLab work | ResponseUser stories are covered as a means of gathering and documenting system requirements in a lightweight way. Agile approaches to software testing are covered in some depth, being the focus of a half of the course unit. Evolutionary design techniques are introduced and practiced by students, with an emphasis on producing code that is easy to change in the long term (as requirements change).AssesementExamination | 3.2.1 Specify, deploy, verify and maintain information systems ⓘ View All Criteria | ||||||||||||||||||||||||||||||||
3.2.2 Defining problems, managing design process and evaluating outcomes ⓘ View All Criteria | ResponseThe group gain experience of this, though more by way of setting the scene for proper understanding given in the 2nd year software engineering course, through their web application team work.AssesementPresentation | ResponseAs stated earlier, the course gives background in the experimental evaluation of outcomes. The course material embodies the "Data Science process" which has some overlaps with the process described above, but specific to the use of data to address a problem. It is: Define the problem, get data to address the problem, clean the data, visualize the data, build a model to address the problem, evaluate the validity of the assumptions being used, evaluate the outcomes of the model quantitatively, and report on the work. No time is spend on customer or user needs, not on cost drivers.AssesementExamination, Lab work | ResponseStudents design and implement a strategy for analysing the performance of various caching algorithms.AssesementIndividual coursework | ResponseCustomer and user needs come from a real live open source codebaseAssesementExamination, Group coursework | ResponseUnderstanding customer needs is crucial to develop an enterprise Web application. We teach specification by example as a way of establishing a dialogue between the software engineering team (students) and customers (academics).AssesementExamination, Group coursework | ResponseThe course provides mechanisms to evaluate fitness for purpose through theoretical and practical tools for performance analysis.AssesementLab work | ResponseThe project requires students to define the problem they are tackling, attempt to solve it and evaluate the outcome.AssesementIndividual coursework | ResponseAddressed as design, implementation, testing, and evaluation of computer programmed solutions in the lab.AssesementLab work | ResponseThese are addressed in the letcures and practical work.AssesementExamination, Individual coursework, Lab work | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Individual coursework, Test | ResponseMany students do a lot of research in order to design the agent used in the first project. There are many ways to create an agent to play two-player games, and also a literature on the particular game. The students are highly motivated to create the best agent which beats the other agents, and succeed by finding appropriate literature.AssesementLab work | ResponseIn this course students define problems, manage design processes and evaluate outcomes in the written assignments exploring accuracy and precision and solution of differential equations. The encourage students to consider not just the ‘correct’ answer, but to define and justify a solution which fulfils all problem requirements.AssesementIndividual coursework | 3.2.2 Defining problems, managing design process and evaluating outcomes ⓘ View All Criteria | |||||||||||||||||||||||||||||
3.2.3 System Design ⓘ View All Criteria | ResponseBasic design of web-based system driven by GUI and Database designAssesementReports and group presentations | ResponseStudents learn to design systems using UML class diagrams that include object oriented features. During workshops students model parts of the tree of life to design systems that use inheritance and interfaces. In another practical workshop they reverse engineer the hierarchical components of a JavaFX application to extract its design from a snapshot.Assesementformative assessment in labs, workshops and coursework; summative assessment in coursework and exam | ResponseDesign of digital systems and system architecture.AssesementExamination, Lab work | ResponseDesign of computer systems at the level of their hardware architectureAssesementExamination | ResponseStudents learn to design systems using flowcharts, pseudo code and the three problem solving constructs. They are also exposed to UML class diagrams when coving the final stage of the course with an introduction to Object Oriented Programming.Assesementformative assessment in labs, workshops and coursework; summative assessment in coursework and exam. | Responsebusiness needs are to deploy quality software as smoothly as possibleAssesementExamination, Individual coursework, Group coursework | ResponseThe weekly requirements simulate the design goals set by the customer which involve deploying and running an enterprise Web application. This includes creating user interface mock-ups that are aligned with requirements and follow user interface design guidelines.AssesementExamination, Individual coursework | ResponseThe students are encouraged to design and implement a reasoning system based on algorithms presented in the lectures.AssesementNot Assessed | ResponseDesign if digital systems using HDLs (Verilog) from ISA through to implementation on target hardware.AssesementExamination, Lab work | ResponseThe course unit is mostly ablout embedded systems.AssesementIndividual coursework | ResponseStudents design and implement a database systemAssesementLab work | ResponseThe course covers system design and has a great emphasis on co-designAssesementExamination | ResponseAddressed in the form of the design of a solution to an application that is relevant in a business context. Part of summative assessment.AssesementLab work | ResponseThrough teaching a design methodologyAssesementExamination | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Test | ResponseUser stories are covered as a lightweight means to gather and document the user requirements, and the value that is expected to result from the new or modified software. Specification-by-example/acceptance test driven development is taught as a means of ensuring that the final system delivers the functionality described by the user stories, with a minimum of additional (unwanted) functionality.AssesementExamination | ResponseDesign of parallel systems.AssesementExamination, Lab work | 3.2.3 System Design ⓘ View All Criteria | ||||||||||||||||||||||||
4.1.1 Knowledge and understanding of scientific and engineering principles ⓘ View All Criteria | ResponseThe course teaches relevant principles of mathematics that are the basis for such principles.AssesementExamination, Individual coursework | ResponseTop-down design and simulation of digital systems via the use of the Verilog HDL.AssesementExamination, Lab work | ResponseThe understanding of uncertainty in experimental measurements and sampled data, how uncertainty is quantified, how it propagated through computations, and how it affects the comparative evaluation between systems is covered. How to make statistically sound comparisons is covered.AssesementExamination, Lab work | ResponseMany computer engineering principles apply to this course.AssesementExamination, Individual coursework | ResponseRefactoring of softwareAssesementExamination, Group coursework | ResponseThis course is about knowledge and understanding of machine learning models, which belongs to scientific and engineering principles.AssesementExamination, Lab work | ResponseThis course involves the design of experiments to explore the properties of existing systems.AssesementLab work | ResponseScientific and Engineering principles are deployed throughout the course unit to solve practical problems.AssesementExamination, Lab work | ResponseScientific and engineering principles are deployed throughout the course unit.AssesementLab work | ResponseSuch knowledge is required in a small number of projectsAssesementIndividual coursework | ResponseThis is addressed by exposing students to different reasoning algorithms.AssesementNot Assessed | ResponseExtensive practical use of commercial CAD tools supported by lectures.AssesementExamination, Lab work | ResponseAddressed in the practical work.AssesementLab work | ResponseComputer architecture feeds on computer engineering so many of its principles still apply here.AssesementExamination, Lab work | ResponseScientific/engineering principles underpin the basic image processing techniques.AssesementExamination, Lab work | ResponseAddressed as design, implementation, testing, and evaluation of computer programmed solutions in the lab.AssesementIndividual coursework, Lab work | ResponseThe students are encouraged to evaluate their solutions in order to improve them.AssesementLab work | ResponseWe consider specific scientific principles in computational linguistics (e.g. morphology) as a basis for creation of natural language processing systems and solving problems.AssesementExamination | ResponseInherent in the lab work.AssesementExamination, Lab work | ResponseThe course develops knowledge and understanding of scientific and engineering principles for the solution of practical problems: e.g. by developing numerically stable and accurate algorithms, and through assessing the impact of computational modelling choices on mathematical models. A wide variety of examples are provided to ground theory in real-world problems.AssesementExamination, Individual coursework | 4.1.1 Knowledge and understanding of scientific and engineering principles ⓘ View All Criteria | |||||||||||||||||||||
4.1.2 Knowledge and understanding of mathematical principles ⓘ View All Criteria | ResponseThe course consists of teaching such mathematical principles.AssesementExamination, Individual coursework | ResponseThe course exposes students to mathematical treatments of basic topics such as computability and complexity. It also gives experience in defining and using formal systems and notations (e.g. grammars), and reasoning about such systemAssesementExamination, Individual coursework | ResponseBoolean algebra and binary arithmeticAssesementExamination, Lab work | ResponseThe course covers statistical principles, including quantification of uncertainty and hypothesis testing. Probabilistic reasoning including Bayesian reasoning is covered.AssesementExamination, Lab work | ResponseBoolean algebra is an important part of the course.AssesementExamination, Individual coursework | ResponseMaterial and exercises on automated diagnosis and vehicle odeometry develop knowledge and understanding of probabilitistic reasoning. Material and exercises on natural language inference and planning develop knowledge and understanding of the application of logic in reasoning.AssesementExamination, Lab work | ResponseThis courses requires understanding of the mathematical principles that support the design and derivation of machine learning algorithms.AssesementExamination | ResponseThis course addresses a range of issues from mathematical logic, and students are expected to understand the trade-offs between expressive power and computational complexity that these involve.AssesementExamination, Individual coursework, Lab work | ResponseThere is some light use of mathematical notation in relation to programming, compilation, concurrencyAssesementExamination | ResponseMathematical principles are core to the course and are applied directly to the design of solutions.AssesementExamination, Individual coursework, Lab work | ResponseSuch knowledge is required in a small number of projectsAssesementIndividual coursework | ResponseThe course is based on mathematical logic and teaches fundamental mathematical principles of formal reasoning and correctness.AssesementExamination, Individual coursework | ResponseMathematics and statistics are fundamental to the course.AssesementExamination, Lab work | ResponseMaths/statistics are used throughout the course.AssesementExamination, Lab work | ResponseNot applicable.AssesementNot Assessed | ResponseThrough examples and specific problemsAssesementExamination | ResponseThe students must understand the mathematical principles of game theory and also a bit of machine learning prediction to succeed with the projects.AssesementLab work | ResponseThe course develops knowledge and understanding of a range of mathematical principles commonly employed in computational modelling. For example, the numerical solution of systems described by differential equations, optimisation algorithms, and the use of bio-inspired systems such as neural networks. Application of these methods on computers is explored to understand and evaluate the interaction and optimisation of techniques and underlying hardware.AssesementExamination, Individual coursework | 4.1.2 Knowledge and understanding of mathematical principles ⓘ View All Criteria | |||||||||||||||||||||||
4.1.3 Knowledge and understanding of computational modelling ⓘ View All Criteria | ResponseThe group gain experience of this, though more by way of setting the scene for proper understanding given in the 2nd year software engineering course, through their web application team work.AssesementNot Assessed | ResponseThe course teaches in particular probability theory which is relevant to such modelling.AssesementExamination, Individual coursework | ResponseComputational modelling of data is covered. The statistical bootstrap and simulation which both use computational modelling to address statistical questions are covered.AssesementExamination, Lab work | ResponseThis course's focus in machine learning models, which is a main group of computational modelling techniques.AssesementExamination, Lab work | ResponseModelling via data structures and algorithms is the central concern of the course.AssesementExamination, Individual coursework, Lab work | ResponseSuch knowledge is required in a small number of projectsAssesementIndividual coursework | ResponseLogic-based modelling is central to this course.AssesementExamination, Individual coursework | ResponseSystem modelling is covered in the labsAssesementLab work | ResponseLectures and labs address simple modelling of the light/matter effects.AssesementExamination, Lab work | ResponseAddressed as design, implementation, testing, and evaluation of computer programmed solutions in the lab.AssesementLab work | ResponsePracticals rely heavily on logic simulation.AssesementIndividual coursework, Lab work | ResponseComputational game theory, which is what this course is about, is intrinsically about computational modelling.AssesementExamination, Lab work | ResponseThe whole units covers a variety of computational modelling methods in robotics and AIAssesementExamination, Individual coursework | ResponseLanguage modelling (statistical, machine learning) are considered and discussed.AssesementExamination | ResponseThe course develops knowledge and understanding of scientific and engineering principles for the solution of practical problems: e.g. by developing numerically stable and accurate algorithms, and through assessing the impact of computational modelling choices on mathematical models. A wide variety of examples are provided to ground theory in real-world problems.AssesementExamination, Individual coursework | ResponseWe introduce different computational models for information retrieval, including language modelling.AssesementIndividual coursework | 4.1.3 Knowledge and understanding of computational modelling ⓘ View All Criteria | |||||||||||||||||||||||||
4.2.1 Specify, deploy, verify and maintain computer-based systems ⓘ View All Criteria | ResponseThe course teaches logic and probability theory, both of which are ingredients for these processes.AssesementExamination, Individual coursework | ResponseStudents deploy changes to a live systemAssesementExamination, Group coursework | ResponseThe course is based on the use of theoretical and practical processes for the design and implementation of computer-based systems.AssesementLab work | ResponseSpecification and verification of systems are a large part of this course.AssesementExamination, Individual coursework | ResponseWork through the whole design cycle, from specification (ISA) through to implementation in hardware. Implementation using commercially used design tools and HDLs (Verilog).AssesementExamination, Lab work | ResponseStudents spend a substantial time on debugging systems.AssesementLab work | ResponseAddressed as design, implementation, testing, and evaluation of engineering solutions in the lab.AssesementLab work | ResponseThe course covers a range of agile practices designed to help us specify, design, implement and verify software systems in a lightweight, efficient manner. The management of technical uncertainty is covered through several routes: techniques for choosing which features to implement in what order are taught, based on risk and the need to acquire information that will help to reduce risk; and the use of learning spikes to reduce estimation and technical uncertainty.AssesementExamination | 4.2.1 Specify, deploy, verify and maintain computer-based systems ⓘ View All Criteria | |||||||||||||||||||||||||||||||||
4.2.2 Defining problems, managing design process and evaluating outcomes ⓘ View All Criteria | ResponseThe group gain experience of this, though more by way of setting the scene for proper understanding given in the 2nd year software engineering course, through their web application team work.AssesementPresentation | ResponseAs stated earlier, the course gives background in the experimental evaluation of outcomes. The course material embodies the "Data Science process" which has some overlaps with the process described above, but specific to the use of data to address a problem. It is: Define the problem, get data to address the problem, clean the data, visualize the data, build a model to address the problem, evaluate the validity of the assumptions being used, evaluate the outcomes of the model quantitatively, and report on the work. No time is spend on customer or user needs, not on cost drivers.AssesementExamination, Lab work | ResponseStudents design and implement a strategy for analysing the performance of various caching algorithms.AssesementIndividual coursework | ResponseCustomer and user needs come from a real live open source codebaseAssesementExamination, Group coursework | ResponseUnderstanding customer needs is crucial to develop an enterprise Web application. We teach specification by example as a way of establishing a dialogue between the software engineering team (students) and customers (academics).AssesementExamination, Group coursework | ResponseThe course provides mechanisms to evaluate fitness for purpose through theoretical and practical tools for performance analysis.AssesementLab work | ResponseThe project requires students to define the problem they are tackling, attempt to solve it and evaluate the outcome.AssesementIndividual coursework | ResponseAddressed as design, implementation, testing, and evaluation of computer programmed solutions in the lab.AssesementLab work | ResponseThese are addressed in the letcures and practical work.AssesementExamination, Individual coursework, Lab work | ResponseThese are addressed in lecture notes, slides, and videoed lectures.AssesementExamination, Individual coursework, Test | ResponseMany students do a lot of research in order to design the agent used in the first project. There are many ways to create an agent to play two-player games, and also a literature on the particular game. The students are highly motivated to create the best agent which beats the other agents, and succeed by finding appropriate literature.AssesementLab work | ResponseIn this course students define problems, manage design processes and evaluate outcomes in the written assignments exploring accuracy and precision and solution of differential equations. The encourage students to consider not just the ‘correct’ answer, but to define and justify a solution which fulfils all problem requirements.AssesementIndividual coursework | 4.2.2 Defining problems, managing design process and evaluating outcomes ⓘ View All Criteria | |||||||||||||||||||||||||||||
4.2.3 Principles of appropriate supporting engineering and scientific disciplines ⓘ View All Criteria | ResponseTop-down design and simulation of digital systems via Verilog. Importance of testing.AssesementExamination, Lab work | ResponseDeployed changes have to pass tests and meet minimum criteria specifiedAssesementExamination, Individual coursework, Group coursework | ResponseAddressed as design, implementation, testing, and evaluation of solutions to computer programmed solutions in the lab.AssesementLab work | ResponseDraws on prior course units that cover the basic engineering of computer hardware and architecture.AssesementExamination | ResponseIn every part the course applies the principles of appropriate supporting engineering and scientific disciplines: machine learning and statistics, mathematics and theoretical computer science, and control theory, applied mathematics.AssesementExamination, Individual coursework | 4.2.3 Principles of appropriate supporting engineering and scientific disciplines ⓘ View All Criteria | ||||||||||||||||||||||||||||||||||||
5.1 Additional criteria for integrated Masters ⓘ View All Criteria | ResponseStudents work in industry in industrially led teams analysing problems, developing solutions, presenting ideas and solutions, interacting with customers and stakeholders. They write an Individual report of up to 15,000 words describing the job, the work environment, team architecture, systems developed, methodologies used, testing done. Students are expected to reflect on the suitability and reasons for design decisions made, possible alternatives and why these were not adopted, the level of success and their contribution to the industrial product or outcome resulting from their work.AssesementIndividual report | ResponseStudents operating in groups with an industrial partner are set real industrial problems which they have to prototype solutions for and present their solutions to the industrial partners and the school. Assessment: Individual and group coursework.AssesementIndividual and group coursework | 5.1 Additional criteria for integrated Masters ⓘ View All Criteria |
Table key= assessed mandatory learning outcome = assessed optional learning outcome = unassessed mandatory learning outcome = unassessed optional learning outcome = not relevant for accreditation | ⓘ COMP40901 View All Courses | ⓘ MCEL40042 View All Courses | ⓘ COMP60332 View All Courses | ⓘ COMP60411 View All Courses | ⓘ COMP60532 View All Courses | ⓘ COMP60542 View All Courses | ⓘ COMP60711 View All Courses | ⓘ COMP61011 View All Courses | ⓘ COMP61021 View All Courses | ⓘ COMP61332 View All Courses | ⓘ COMP61342 View All Courses | ⓘ COMP61411 View All Courses | ⓘ COMP61421 View All Courses | ⓘ COMP62421 View All Courses | ⓘ COMP62521 View All Courses | ⓘ COMP62532 View All Courses | ⓘ COMP63342 View All Courses | ⓘ BMAN60422 View All Courses | ⓘ MCEL63402 View All Courses | ⓘ BMAN70391 View All Courses | ⓘ BMAN71652 View All Courses | ⓘ BMAN73271 View All Courses | |
7.1.1 Critical review of literature ⓘ View All Criteria | ResponseThe majority of industrial projects involve development of wither a software or a hardware product/artefact. In the report and the seminar there are marks for the critical review of tools and techniques available and those selected for use.AssesementIndividual coursework | ResponseStudents are expected to produce a design and ideally a prototype for a computing based solution to the subject company's problem. This is assessed by the company team via a presentation and questions and also via a report. Both types of assessment should include reasons and motivations for adopting the solutions chosen along with critical review of alternatives.AssesementIndividual coursework | ResponseThe course teaches advanced techniques and a deep, powerful theory of automated reasoning and verification which form the basis of current developments in the research literature and the best automated theorem provers.AssesementExamination, Individual coursework, Lab work | ResponseStudents read and discuss (in essays and class) relevant articles.AssesementIndividual coursework | ResponseThe whole purpose of the module is to explore the application of a specific area of computer science in the health domain. As part of this process the students must carry out a critical review of the current state of the art in that area.AssesementIndividual coursework, Group coursework, Presentation | ResponseStudents must assess and critically appraise a wide range of literature around health informatics and the specific disease pathway they are exploringAssesementIndividual coursework, Group coursework, Presentation | ResponseCourse Unit reviewed each year with pointers to literature included in course material. This provides technical sources for them to consider and is relevant to both lab-based coursework and examinable material.AssesementExamination, Individual coursework, Lab work | ResponseCoursework involves freedom to investigate any advanced Machine Learning topic, implement it, and critique it with empirical and theoretical tools.AssesementIndividual coursework | ResponseCritical review of literatureAssesementGroup coursework, Presentation | ResponseNo specific critical review explicitly required, however several discussion or essay-type parts of coursework would attract better marks if such existed (and essay-type part marking scheme indicates this). Comparison/evaluation of applications is a core part of the course.AssesementExamination, Individual coursework | ResponseThis is done in a number of ways but more specifically: 1. Students are required to study six research papers and write an essay on the advantages and disadvantages of the proposed methods. The objectives of this assignment are to develop the ability to appreciate and understand key research issues and methodologies in the area of face recognition, select what is important about a scientific paper and explain the key points, and finally, understand the commonalities and differences between different methods of solving the same problem. 2. Students are required to give a 15 minute presentation on one of the papers provided for the assessed essay task. The objectives of this assignment are to develop their ability to plan and prepare a scientific talk, clearly present and discuss technical ideas, handle the discussion/question part at the end of a talk. For this task the students have to collaborate and work with others in a team. 3. Students are required to write matlab code as part of their individual coursework assessments. The purpose of individual coursework and supervised lab sessions is to assess the students' understanding on the material presented during lectures about current state of the art methods in computer vision.AssesementExamination, Group coursework, Presentation | ResponseTwo pieces of coursework which involve literature research, problem analysis and solution design.AssesementIndividual coursework, Group coursework | ResponseResearch papers are assigned for reading, the performance of software systems is studied.AssesementExamination, Individual coursework, Lab work | ResponseStudents are introduced to empirical evidence for the efficiacy or otherwise of software engineering processes.AssesementExamination | ResponseA list of relevant publications is given to the students to read and review.AssesementIndividual coursework, Lab work | 7.1.1 Critical review of literature ⓘ View All Criteria | |||||||
7.1.2 Development of the self-directed learner ⓘ View All Criteria | ResponseAlmost all students are set problems to solve either individually or as part of a team. They are expected to research tools, techniques/skills and other aspects. This is indirectly assessed via the results achieved and the critical reviewAssesementIndividual coursework | ResponseAll students are set problems to solve individually or as part of a team. They are expected to research tools, techniques/skills and other aspects. This is indirectly assessed via the results achieved and the critical reviewAssesementIndividual coursework | ResponseDelivery and learning is through lectures, exercise classes, completing coursework exercises, lab work, self-study and examination. With an emphasis on in-depth learning and practical thinking, the lectures are enhanced by impromptu in-class exercises to illustrate and practice definitions, ideas and techniques. Students are required to present their solutions to problems with clear explanations in writing. Face-to-face interactions in exercise classes, lab sessions and interactions via the online discussion forum force the students to discuss complicated connections clearly and rigorously using the appropriate scientific and technical language. In addition to problem solving questions, the examination includes questions where the students need to explain and illustrate their understanding of the technical concepts and connections.AssesementExamination, Individual coursework, Lab work | ResponseCoursework and examples are given in a 'solve this problem' form, without leading the student to a 'right' answer. They require the student to identify missing information, and search for and identify suitable sources for these. We also introduce them to a variety of formalisms, languages, and tools - but alsways only on a very high level, and expect our students to learn further details themselves.AssesementIndividual coursework | ResponseThe students must set their own learning objectives for the area of computer science that they are investigating to apply into the health domain. This is assessed in the short presentations they do each week to report back on what they have achieved and reflect upon their progress.AssesementPresentation | ResponseStudents must set their own learning tasks for each week to build the knowledge they need to explore the challenges of health informatics in chronic disease.AssesementIndividual coursework, Group coursework, Presentation | ResponseReading related to lecture and coursework is given.AssesementExamination | ResponseWeekly non-assessed work is provided, with learning targets set at multiple levels of difficulty. Students are encouraged to identify their own learning pace/style, and go into depth on areas they find most interesting.AssesementLab work | ResponseLab work sets students a general task but then allows them to explore best path to achieve a solution involving tool choice and strategy, also in collaboration with other students if desired in small groupsAssesementNot Assessed | ResponseAdditionally, self-study material is available via the course unit's web page. Students must have completed all the Self-Study materials and practical laboratories to be able to complete the assigned individual coursework.AssesementIndividual coursework, Group coursework, Presentation | ResponseCase studies, and also give students research topics to explore.AssesementNot Assessed, Individual coursework, Group coursework | ResponseSeveral tasks set as coursework require the student to explore options, justify the pursuit of some rather than others, etc., and to organize the backing evidence for any conclusions reached.AssesementIndividual coursework | ResponseStudents undertake a formal weekly reflection process (as a Scrum sprint 'retrospective') where they analyse performance over the preceding week and make adjustments for the coming week, both from a technical and process/communication perspective.AssesementExamination, Group coursework | 7.1.2 Development of the self-directed learner ⓘ View All Criteria | |||||||||
7.1.3 Respond to opportunities for innovation ⓘ View All Criteria | ResponseAll industrial placements place students into situations they have not been directly prepared for. They are faced with problems whose solutions are being created. Almost always some novelty, innovation or adaptation is required in order to find and develop a suitable solution.AssesementIndividual coursework | ResponseThe point of this module is place students into situations they have not been directly prepared for. They are faced with problems whose solutions they must analyses and create. Almost always some novelty, innovation or adaptation of solutions to other problems is required in order to find and develop a suitable solution. Sometimes something entirely novel is created.AssesementIndividual coursework | ResponseWe discuss questions like "given that we have just identified shortcoming X of technology Y, how could we improve Y?"AssesementIndividual coursework | ResponseThe students can explore innovative solutions to the health challenges faced - and bring in technologies taht are beginning to be explored in computer science but have not yet been translated into the health domain (for example Docker to address problems of data sharing in a strict governance environment).AssesementIndividual coursework, Group coursework | ResponseStudents are encouraged to identify problematics area in creating the electonic health record and discuss innovative solutions that could help improve the patient pathway.AssesementIndividual coursework, Group coursework, Presentation | ResponseDiscussed generally within course unit material.AssesementNot Assessed | ResponseCoursework is open-ended critique of current technology, which could involve their own modifications and innovations on top.AssesementIndividual coursework | ResponseIntroduce the research-oriented courseworkAssesementIndividual coursework, additional readings | Responsecase studies and assignments which involve cutting edge technologiesAssesementIndividual coursework, Group coursework | ResponseIn coursework tasks, students are asked to consider the limitations of and opportunities stemming from the current state-of-the-art.AssesementIndividual coursework | 7.1.3 Respond to opportunities for innovation ⓘ View All Criteria | ||||||||||||
7.1.4 Participate in the peer review processements ⓘ View All Criteria | ResponseAlmost always students work as part of a team on their industrial placements. At team meetings they are expected to present and justify ideas of their own and well as comment on the ideas of others.AssesementGroup coursework, Presentation | ResponseThe module operates as a team project where students present one another, the problems owners and their teacher with ideas and possible solutions for review. They are also expected to comment upon and review other team's work.The teacher notes appropriate contribution as part of the assessment.AssesementGroup coursework, Presentation | ResponseNot addressed directly.AssesementNot Assessed | ResponseStudents are required to evaluate other students' research presentations. For this, they are expected to pose technical questions to ascertain their understanding of the presented material.AssesementPresentations | ResponseIn class exercisesAssesementNot Assessed | 7.1.4 Participate in the peer review processements ⓘ View All Criteria | |||||||||||||||||
7.1.5 Undertake risk management ⓘ View All Criteria | ResponseIn assessing the report and seminar students give for their industrial placement appropriate awareness of, management and reaction to risks is observed as part of the assessment. However, placements vary considerably in the nature and seriousness of risks the students are exposed to. Risk management is implicitly assessed and is not explicitly part of the marking scheme.AssesementIndividual coursework | ResponseThe point of this module is to evaluate feasible solutions to a real business problem which must involve awareness and management of a wide range of risks.AssesementIndividual coursework | ResponseThe students must assess the risks involved in introducing the technology area into health and report back as to how these risks could be mitigated - this is a particular issue around the data governance rules in applying to health data.AssesementIndividual coursework | ResponseAny systems explored must discuss the risks involved in the system - whether at the level of patient sfaety or breaching governance guidelines.AssesementIndividual coursework, Group coursework, Presentation | ResponseNot addressed directly.AssesementNot Assessed | Responsecoursework on risk analysis in a real-life contextAssesementIndividual coursework | ResponseStudents must select which requirements they can complete based on the time and skill set available in their teams.AssesementExamination, Group coursework | 7.1.5 Undertake risk management ⓘ View All Criteria | |||||||||||||||
7.1.6 Use appropriate processes ⓘ View All Criteria | ResponseStudents are expected to have applied, for example, leading software engineering principles as part of their industrial work. This may not involve all the stages from specification through to maintenance in a short placement but frequently the student is unaware of the processes they will be involved in until called on to apply their knowledge.AssesementIndividual coursework | ResponseThe business feasibility project is all about understanding the nature of and investigating solutions to a business problem.AssesementIndividual coursework | ResponseA central part of this course is about schemas and schema languages - and how to re-use existing ones.AssesementExamination, Individual coursework | ResponseData engineering lifecycle and associated Knowledge Discovery in Databases process provide contextual framework in which the lectures and coursework are embedded.AssesementExamination, Individual coursework | ResponseCoursework involves mathematical, programming and abstract-thinking skills.AssesementIndividual coursework | Responsesecurity solution and protocol design in a given application contextAssesementIndividual coursework | ResponseStudents use the Scrum development and associated agile software engineering artefacts (user stories, product backlog) and processes (sprint review, retrospective) to develop a web-based software application.AssesementExamination, Group coursework | ResponseVarious design processes for component-based systems are taughtAssesementExamination, Individual coursework | 7.1.6 Use appropriate processes ⓘ View All Criteria | ||||||||||||||
7.1.7 Investigate and define a problem ⓘ View All Criteria | ResponseEvery industrial placement has involved defining, analysing and producing solutions to business problems in an industrial context.AssesementIndividual coursework | ResponseThe business feasibility project is all about understanding the nature of and investigating solutions to a business problem.AssesementIndividual coursework | ResponseKey principles of automated reasoning used in the implementation of state-of-the-art SAT solvers and first-order automated reasoning systems are discussed, including, in particular, the typical reasoning processes and redundancy elimination techniques to improve performance and efficiency. On a rotational basis students have to implement a solver and evaluate their redundancy elimination techniques on a given benchmark set with problems of varying difficulty in a mini-project.AssesementLab work | ResponseThe course is concerned with modelling data in different models/formats, and identifying constraints, fitness for purpose, and evaluate outcomes are core subjects.AssesementExamination, Individual coursework | ResponseAgain - the focus of the module is to investigate potential solutions to a real world problem in health or biologcal data management. Their final coursework must address most of the issues described above.AssesementIndividual coursework, Group coursework, Presentation | ResponseStudents must define all the stakeholders involved in the patient pathway - and the challenges involved in creating a system that will meet all their conflicting needs.AssesementIndividual coursework, Group coursework, Presentation | ResponseCoursework is progressively structured in increasing difficulty tasks that involve problem understanding and solution within the wider lifecycle/process model framework.AssesementExamination, Individual coursework | ResponseCoursework involves problem solving and develops ability to identify and select workflow components and resources, and to evaluate these against each other and against gold standards, using e.g. partially parallel workflowsAssesementIndividual coursework | Responsecase studies, requirement specification, problem identification and security protocol designAssesementExamination, Individual coursework | ResponseStudents must select which requirements they can complete based on the time and skill set available in their teams.AssesementExamination, Group coursework | 7.1.7 Investigate and define a problem ⓘ View All Criteria | ||||||||||||
7.1.8 Apply principles of supporting disciplines ⓘ View All Criteria | ResponseThis is always part of working in an appropriate manner and finding usable solutions to problems.AssesementIndividual coursework | ResponseThis is always part of working in an appropriate manner and finding usable solutions to problems.AssesementIndividual coursework | ResponseThe course teaches, assumes and applies fundamental mathematical concepts and principles, including propositional, first-order and temporal logic, Noetherian well-founded induction, relational structures, formal mathematical proofs and non-trivial mathematical constructions.AssesementExamination, Individual coursework, Lab work | ResponseSupportive coverage of database modelling, querying, program understanding, system behaviour (data aspects) and statistics relevant for analysis. Not directly assessed.AssesementNot Assessed | ResponseAll topics involve mathematical tools - requiring revision from supporting materials in this area.AssesementExamination, Individual coursework, Lab work | ResponseCourse is multi-disciplinary as involves aspects of Linguistics relevant for the type of natural language processing undertaken in text mining, and also legal aspects as there is a need to be aware of copyright and licensing issues in relation to contentAssesementExamination, Individual coursework | ResponseThis course unit treats vision as a process of inference from noisy and uncertain data and emphasises probabilistic and statistical approaches. As such, it applies ideas and principles taught in closely related areas such as statistical analysis and machine learning.AssesementExamination, Individual coursework | Responseabstract algebra, number theory, elliptic curves, quantum theoryAssesementExamination, Individual coursework | Responsecase studies, requirement specification, problem identification and security protocol designAssesementExamination, Individual coursework | 7.1.8 Apply principles of supporting disciplines ⓘ View All Criteria | |||||||||||||
7.1.9 Work as a member of a development team ⓘ View All Criteria | ResponseAll industrial placements involve some sort of team work. However, not all directly involve development. For example, IT support roles though these involve appropriate problem solving.AssesementGroup coursework | ResponseThis module is an assessed team problem solving project.AssesementGroup coursework | ResponseThe students work in small teams to explore the problem and develop solutions. A significant part of the mark is based on groupwork, and how they work and communicate effectively in a team.AssesementGroup coursework | ResponseStudents work in small teams to explore the problem. They are assessed on how weel the team functions.AssesementGroup coursework, Presentation | ResponseNot addressed directly.AssesementNot Assessed | ResponseStudents are allocated in teams of three and are expected to share/divide the tasks of giving a scientific presentation, answering questions and posing questions to other teams.AssesementGroup coursework | ResponseStudents complete a 5 week team-based project, where they work intensively to produce a web-based software application.AssesementExamination, Group coursework | 7.1.9 Work as a member of a development team ⓘ View All Criteria | |||||||||||||||
8.1.1 Systematic understanding of knowledge of the domain with depth in particular areas ⓘ View All Criteria | ResponseThe industrial placement is all about showing ability to transfer learned computing skills from University to Industry. The systematic application of domain knowledge to problem solving. Most placements involve participation in the development of significant computing products operating with post-graduate level knowledge and ability.AssesementIndividual coursework | ResponseThe feasibility module is all about showing ability to transfer learned computing skills from University to Industry. The systematic application of domain knowledge to problem solving. Most problems involve participation in the design and prototyping of significant computing products operating with post-graduate level knowledge and ability.AssesementIndividual coursework | ResponseThe course teaches advanced techniques for reasoning in propositional logic and first-order logic, focussing on state-of-the-art DPLL based reasoning and first-order resolution with refinements including soundness, refutational completeness and redundancy elimination. One of the targeted applications discussed in the course is verification. The course is a very demanding and advanced studying automated reasoning and verification as used in current research and current industry standard reasoning tools. The material is both comprehensive and deep in covering the most fundamental concepts and techniques. Examples of use are discussed in class and developed through problem-solving tasks of medium to hard difficulty in the coursework exercises and lab work.AssesementExamination, Individual coursework, Lab work | ResponseData structures, schema languages, query languages are at the centre of this course unit. Students gain a good understanding of these topics, the formalisms developed for them as well as their relevant properties.AssesementExamination, Individual coursework | ResponseStudents must gain a deep understanding of the area of computer science they wish to apply to the probelm in the health domain.AssesementIndividual coursework | ResponseStudents explore areas of health data capture and sharing in detail.AssesementIndividual coursework, Group coursework | ResponseData modelling and algorithmic foundations.AssesementExamination, Individual coursework | ResponseCoursework is open ended, giving opportunity for depth. Written exam involves detailed critiques of taught methods, including reflection on their application in real world scenarios.AssesementExamination, Individual coursework | ResponseDeliver transferable knowledge in lectures and deepen what has been learned via additional readings and non-assessed mini-project.AssesementExamination, Presentation | Responseintroductory material on linguistics and natural language processing, emphasising issues of ambiguity; in-depth material on core areas of text mining; emphasis on interoperability and (de facto) standards in the field; exposure to various applications and frameworks in labs that are then to be used in coursework;AssesementExamination, Individual coursework | ResponseThis course unit treats computer vision as a process of inference from noisy and uncertain data and emphasises probabilistic and statistical approaches. It also gives students a foundation in the statistical methods of image analysis. Students are taught the fundamentals of image processing before focussing on the areas of stereo vision, object recognition, and face detection, recognition and tracking.AssesementExamination, Group coursework, Presentation, Lab work | Responseprivate key crypto, public key crypto, digital signaturesAssesementExamination, Individual coursework | ResponseThe two assignments given involves this element.AssesementExamination, Individual coursework | ResponseStudents study advanced query processing techniques for three Web contexts, viz., relational/SQL, XML/XQuery, and SPARQL/RDF.AssesementExamination, Individual coursework | ResponseStudents learn about agile software engineering processes and theory in depth, and gain practical experience of them in an intensive 5 week project.AssesementExamination, Group coursework | ResponseStudents learn a comprehensive set of component-based development techniquesAssesementExamination, Individual coursework, Lab work | 8.1.1 Systematic understanding of knowledge of the domain with depth in particular areas ⓘ View All Criteria | ||||||
8.1.2 Comprehensive understanding of essential principles and practices ⓘ View All Criteria | ResponseThe industrial placement is all about showing ability to transfer learned computing skills from University to Industry operating with post-graduate level knowledge and ability.AssesementIndividual coursework, Group coursework | ResponseThe business feasibility project is all about showing ability to transfer learned computing skills from University to Industry operating with post-graduate level knowledge and ability.AssesementIndividual coursework, Group coursework | ResponseEmphasis is placed on the essential principles and techniques of a powerful formal theoretical framework of automated reasoning which equips the students with understanding of the key principles of reasoning and verification tools.AssesementExamination, Individual coursework, Lab work | ResponseThe 'relevant properties' mentioned above capture principles of quality.AssesementExamination, Individual coursework | ResponseCovers core skills and competencies of health informatics in the NHS.AssesementIndividual coursework, Group coursework, Presentation | ResponseData Engineering lifecycle and Knowledge Discovery in Databases process model act as framework for course material.AssesementExamination, Individual coursework | ResponseCase studies link between what has learned from this module and its prerequisite.AssesementExamination, Individual coursework | ResponseInteroperability is a key starting point and theme throughout. Also, knowledge and skills in both progress and adequacy evaluation are developed (latter being based on ISO 9126 and ISO 14598 families)AssesementExamination, Individual coursework | Responseprivate key crypto, public key crypto, digital signaturesAssesementExamination, Individual coursework | ResponseThe security teaching in this module covers a wide range of aspects from international standards, risk analysis processes and procedures to technological solutions.AssesementExamination, Individual coursework | ResponseStudents use the Scrum development and associated agile software engineering artefacts (user stories, product backlog) and processes (sprint review, retrospective) to develop a web-based software application.AssesementExamination, Group coursework | ResponseBy covering both principles and practice of component-based developmentAssesementExamination, Individual coursework, Lab work | 8.1.2 Comprehensive understanding of essential principles and practices ⓘ View All Criteria | ||||||||||
8.1.3 Legal, Social Ethical and Professional issues ⓘ View All Criteria | ResponseStudents are working as professionals during their industrial placement. They must demonstrate knowledge of and apply appropriate law, ethical standards and professional behaviour.AssesementIndividual coursework | ResponseStudents are practising a role as a professional consultant during this module. They must demonstrate knowledge of and apply appropriate law, ethical standards and professional behaviour.AssesementIndividual coursework | ResponseStandardisation is discussed at various points in this course, and students gain an understanding in the process.AssesementIndividual coursework | ResponseAny solution described must explore the legal ethical and professional framework in which health data must be analysed.AssesementIndividual coursework, Group coursework | ResponseGovernance challenges for health data are discussed all the way through the course. There is also a discussion of the role of the patient in the pathway.AssesementIndividual coursework, Group coursework | ResponseData engineering context provides discussion of social, ethical and professional practices and considerations.AssesementExamination | ResponseEmphasis on legal aspects concerning copyright and licensing of content for text miningAssesementExamination, Individual coursework | ResponseOne of the courseworks involves the considerations and examinations of people related security and privacy related issues.AssesementIndividual coursework | 8.1.3 Legal, Social Ethical and Professional issues ⓘ View All Criteria | ||||||||||||||
8.2.1 Produce work informed by research at the forefront ⓘ View All Criteria | ResponseThe industrial placement contributes to assessment of appropriate consistent application of leading ideas and methods.AssesementIndividual coursework | ResponseThe business feasibility project contributes to assessment of appropriate consistent application of leading ideas and methods.AssesementIndividual coursework | ResponseStudents are expected to produce work informed by techniques and methodologies at the forefront of current research, as taught in class and in the class notes. This material does not follow any textbook, but is based on major reference works, e.g. the Handbook of Automated Reasoning, the latest research in the area and current research of the course lecturers. Students have the opportunity to deploy and apply a state-of-the art SAT solver and a state-of-the-art first-order theorem prover.AssesementExamination, Individual coursework, Lab work | ResponseThe course includes state-of-the-art data models, schema languages, query languages, etc., and these are evaluated against older, better understood data models.AssesementIndividual coursework | ResponseThe problem area they work on is always chosen from current real world challenges in the health system. A detailed evaluation of the problem lies at the core of this work.AssesementIndividual coursework, Group coursework | ResponseStudents must be aware of current issues and challenges in developing and implementing health informatics systems.AssesementIndividual coursework, Group coursework, Presentation | ResponseSuch developments are included in the course unit updates as appropriate and impact the course material.AssesementExamination, Individual coursework | ResponseCoursework contains elements that require requisite skills and knowledge to be acquired in diagnostic and progress evaluation in relation to text mining tools and workflowsAssesementIndividual coursework | ResponseTaught material in lectures includes the presentation of state of the art computer vision applications (such as real time face detection on mobile phones) and the description of the computer vision algorithms behind them.AssesementExamination, Individual coursework | ResponseThe assignments specified are research domain materials, some of which are also examined in the examination.AssesementExamination, Individual coursework | ResponseSee 7.1.1 above.AssesementExamination, Individual coursework | ResponseCourse content is research-leadAssesementExamination | 8.2.1 Produce work informed by research at the forefront ⓘ View All Criteria | ||||||||||
8.2.2 Tackling a significant technical problem ⓘ View All Criteria | ResponseThe industrial placement is all about showing ability to transfer learned computing skills from University to Industry. The systematic application of domain knowledge to problem solving. Most placements involve participation in the development of significant computing products operating with post-graduate level knowledge and ability.AssesementIndividual coursework | ResponseThe feasibility module is all about showing ability to transfer learned computing skills from University to Industry. The systematic application of domain knowledge to problem solving. Most problems involve participation in the design and prototyping of significant computing products operating with post-graduate level knowledge and ability.AssesementIndividual coursework | ResponseOn a rotational basis, students are tasked with a mini-project which involves designing and implementing a DPLL-based propositional solver. This is a hard technical challenge. Further, the weekly assessments involve solving a series of technical problems, which require deep understanding of advanced theory, the ability to apply this theory and analytical thinking. These problems require making non-trivial technical connections between concepts/theorems and solving practical problems, some of which are quite hard.AssesementExamination, Individual coursework, Lab work | ResponseThe course has weekly coursework, but no 'big project'.AssesementNot Assessed | ResponseThe problem area they work on is always chosen from current real world challenges in the health system. The assessment asks that they explore a range of possible solutions and provide methods for evaluating each of the strategies, before making a final recommendation. There should be an implementation plan with risk factors identified.AssesementIndividual coursework, Group coursework | ResponseBuilding an information infrastructure for building an electronic patient record is a significant challenge.AssesementIndividual coursework, Group coursework, Presentation | ResponseReflective questions within context of course unit material are given for individual study with recommended reading.AssesementExamination | ResponseCoursework is 25% graded on a reflective practice section.AssesementIndividual coursework | ResponseStudents are encouraged to work on such problems to gain a bonus mark.AssesementIndividual coursework | ResponseI take significant to mean a large-scale project. N/A in this unit.AssesementNot Assessed | ResponseThe course unit aims to introduce the basic concepts and algorithmic tools of computer vision, to discuss novel approaches to designing vision systems that learn and to explore the problems of building practical vision systems. Examples of practical computer vision systems are provided in matlab code and explained through supervised tutorials and laboratory sessions.AssesementExamination, Individual coursework, Group coursework | ResponseOne of the two assignments specified involves significant problem identification and solution design components.AssesementExamination, Individual coursework | ResponseDifferent categories of techniques are taughtAssesementExamination, Individual coursework, Lab work | 8.2.2 Tackling a significant technical problem ⓘ View All Criteria | |||||||||
9.1.1 Systematic understanding of knowledge at the forefront in development and implementation of systems ⓘ View All Criteria | ResponseUnlike more academic modules, this module expects students to apply appropriate knowledge of the subject but not necessarily from the forefront of the subject unless this is relevant and required by the problems faced.AssesementIndividual coursework | ResponseUnlike more academic modules, this module expects students to apply appropriate knowledge of the subject but not necessarily from the forefront of the subject unless this is relevant and required by the problems faced.AssesementIndividual coursework | ResponseThe course covers the verification of the correctness of implemented software systems as an application of automated reasoning.AssesementExamination, Individual coursework, Lab work | ResponseData structures, schema languages, query languages are at the centre of this course unit. A systematic view of these 3 concepts across different kinds of data models is developed during this course, and their relevant properties are discussed.AssesementExamination, Individual coursework | ResponseAgain, the focus of the course is to explore extent to which the implementation of a particular computation data management or computational strategy could address a specific and current real world challeng in medicine - for example the adoption of cloud computing infrastructures for genome data analysis in the NHS.AssesementIndividual coursework, Group coursework | ResponseData science is presented as emerging all-embracing discipline - with the data aspect being the primary focus.AssesementExamination, Individual coursework | ResponseCase studies related to the application of knowledge acquired from this module.AssesementExamination, Individual coursework | ResponseLectures, exercises in labs and coursework all focus on contemporary issues of infrastructures, frameworks and community challenges, of interoperability and of legal aspects - understanding of all of these is required by graduates to work at an advanced level in their careerAssesementExamination, Individual coursework | ResponseThe two assignments given involves this element.AssesementExamination, Individual coursework | ResponseSee 8.1.1 above.AssesementExamination, Individual coursework | ResponseStudents use the Scrum development and associated agile software engineering artefacts (user stories, product backlog) and processes (sprint review, retrospective) to develop a web-based software application.AssesementExamination, Group coursework | ResponseLatest techniques and tools for developing and implementing component-based systems are taughtAssesementExamination, Individual coursework, Lab work | 9.1.1 Systematic understanding of knowledge at the forefront in development and implementation of systems ⓘ View All Criteria | ||||||||||
9.1.2 Comprehensive understanding of the state of the art techniques ⓘ View All Criteria | ResponseStudents are expected to demonstrate to their industrial employer and to us that they have all the required knowledge needed to develop systems as solutions to the industrial problems they are set as tasks.AssesementAssessment by employer | ResponseStudents are expected to demonstrate to their industrial problem holder and to us that they have all the required knowledge needed to develop systems as solutions to the industrial problems they are set as tasks.AssesementAssessment by employer | ResponseThroughout, the course comprehensive understanding of the state-of-the-art in automated reasoning relevant to industry-strength reasoning and verification systems is strongly emphasised.AssesementExamination, Individual coursework, Lab work | ResponseThe usage of schemas in various phases of an information systems, in particular the interaction between schemas and queries is a central point in this course.AssesementExamination, Individual coursework | ResponseSome examples have explored the application of agile software engineering methodologies into the NHS, and the challenges involved in getting these accepted by existing staff without modern software engineering backgrounds.AssesementGroup coursework | ResponseData Engineering lifecycle and Knowledge Discovery in Databases process model act as framework for course material. Course unit updated each year informed by appropriate developments.AssesementExamination, Individual coursework | ResponseOffer non-accessed exercises based on state-of-the-art techniques.AssesementNot Assessed | ResponseMain focus on interoperability frameworks such as Apache UIMA and how these are used in development.AssesementExamination, Individual coursework | ResponseTaught material includes the presentation of state of the art computer vision systems for problems such as object recognition.Individual coursework, lab work and examination are designed to reinforce and examine the understanding of such systems.AssesementExamination, Individual coursework | ResponseThe lecture materials are of state of the art techniques in security.AssesementExamination, Individual coursework | ResponseCourse content is state-of-the-artAssesementExamination, Individual coursework, Lab work | 9.1.2 Comprehensive understanding of the state of the art techniques ⓘ View All Criteria | |||||||||||
9.1.3 Legal, Social Ethical and Professional issues ⓘ View All Criteria | ResponseStudents are working as professionals during their industrial placement. They must demonstrate knowledge of and apply appropriate law, ethical standards and professional behaviour.AssesementAssessment by employer | ResponseStudents are practising a role as a professional consultant during this module. They must demonstrate knowledge of and apply appropriate law, ethical standards and professional behaviour.AssesementAssessment by employer | ResponseStandardisation is discussed at various points in this course, and students gain an understanding in the process.AssesementIndividual coursework | ResponseAny solution described must explore the legal ethical and professional framework in which health data must be analysed.AssesementIndividual coursework, Group coursework | ResponseGovernance challenges for health data are discussed all the way through the course. There is also a discussion of the role of the patient in the pathway.AssesementIndividual coursework, Group coursework | ResponseData engineering context provides discussion of social, ethical and professional practices and considerations.AssesementExamination | ResponseEmphasis on legal aspects concerning copyright and licensing of content for text miningAssesementExamination, Individual coursework | ResponseOne of the courseworks involves the considerations and examinations of people related security and privacy related issues.AssesementIndividual coursework | 9.1.3 Legal, Social Ethical and Professional issues ⓘ View All Criteria | ||||||||||||||
9.2.1 Develop and apply new technologies ⓘ View All Criteria | ResponseWhere appropriate students should use new technologies which they need to first develop but it is more important to provide adequate and timely solutions as part of the industrial placement.AssesementIndividual coursework, group coursework | ResponseWhere appropriate students should use new technologies which they need to first develop but it is more important to provide adequate and timely solutions as part of the feasibility project.AssesementIndividual coursework, group coursework | ResponseTo ensure deeper learning and create appreciation of the flexibility and generality of the modern automated reasoning and verification, the coursework and labwork involves tasks that requires students to develop technologies, procedures and tricks themselves from first principles in the framework. For example, students may be asked to develop dedicated methods for classes of problems with some characteristic properties that can be exploited. The course can also be taken by PhD students and has led to development of new, sometimes break-through, technologies in MSc and PhD projects.AssesementExamination, Individual coursework, Lab work | ResponseNot addressed directly.AssesementNot Assessed | ResponseStudents apply new technologies (research prototypes) but do not develop them on this unitAssesementIndividual coursework | ResponseThrough security solution and protocol designs.AssesementExamination, Individual coursework | ResponseTraining in the labAssesementIndividual coursework, Lab work | 9.2.1 Develop and apply new technologies ⓘ View All Criteria | |||||||||||||||
9.2.2 Show originality and innovation ⓘ View All Criteria | ResponseWhere appropriate students should use new technologies which they need to first develop but it is more important to provide adequate and timely solutions as part of the industrial placement.AssesementIndividual coursework, Group coursework | ResponseWhere appropriate students should use new technologies which they need to first develop but it is more important to provide adequate and timely solutions as part of the feasibility project.AssesementIndividual coursework, Group coursework | ResponseStudents can show originality and innovation in the rotational mini-project.AssesementLab work | ResponseStudents must show that they can apply a knowledge of computer science to the health domain. In many cases the solutions developed are new and innovative in teh health informatics domain - for example the use of Docker technology to address data governance challenges in data sharing.AssesementIndividual coursework, Group coursework | ResponseStudents look at the patient pathway created and identify gaps - before exploring innovative solutions that could help bridge some of those gaps.AssesementIndividual coursework, Group coursework, Presentation | ResponseNot addressed directly.AssesementNot Assessed | ResponseCoursework elements allow opportunity for original solutions.AssesementIndividual coursework | ResponseCoursework elements allow opportunity for original solutions.AssesementCoursework | ResponseThrough two assignments which gives scope for students to make novel contributions.AssesementIndividual coursework | ResponseStudents are given requirements for a software system, but have the freedom to tackle them as they wish, and are encouraged to innovate in terms of trying new technologies and solutions.AssesementExamination, Group coursework | 9.2.2 Show originality and innovation ⓘ View All Criteria | ||||||||||||
9.2.3 Evaluation of commercial risk ⓘ View All Criteria | ResponseIn assessing the report and seminar students give for their industrial placement appropriate awareness of, management and reaction to risks is observed as part of the assessment. However, placements vary considerably in the nature and seriousness of risks the students are exposed to. Risk management is implicitly assessed and is not explicitly part of the marking scheme.Assesement | ResponseThe point of this module is to evaluate feasible solutions to a real business problem which must involve awareness and management of a wide range of risks.AssesementIndividual coursework | ResponseNot addressed directly.AssesementNot Assessed | 9.2.3 Evaluation of commercial risk ⓘ View All Criteria | |||||||||||||||||||
10.1.1 Systematic understanding of knowledge at the forefront in computing science research ⓘ View All Criteria | ResponseUnlike more academic modules, this module expects students to apply appropriate knowledge of the subject but not necessarily from the forefront of the subject unless this is relevant and required by the problems faced.Assesement | ResponseUnlike more academic modules, this module expects students to apply appropriate knowledge of the subject but not necessarily from the forefront of the subject unless this is relevant and required by the problems faced.Assesement | ResponseThe course teaches important concepts and practical aspects of a modern theory of automated reasoning as used in current research-based state-of-the-art reasoning and verification systems used in academia and industry. Symbolic reasoning provide foundations for many areas of computer science research including verification methods used in the development of complex software and hardware systems as taught in the course but also ontology-based tecnologies for knowledge processing and the semantic web taught in the second course in the theme to which the course belongs.AssesementExamination, Individual coursework, Lab work | ResponseGraph data models are discussed as the third kind of data models in this course (after relational and tree data models), and these/formalisms, languages, technologies for them are at the forefront in CS research.AssesementExamination, Individual coursework | ResponseThe module forces the students to develop a strong understanding of human factor challenges in the health ecosystem. This is a fast moving area of active research.AssesementIndividual coursework, Group coursework, Presentation | ResponseData modelling and algorithmic foundations.AssesementExamination, Individual coursework | ResponseState-of-the-art techniques are included in lectures and literature review.AssesementExamination, Group coursework, Presentation | ResponseMany of the topics are informed by not only state of the art research but by research that pushes the envelope. Students are given many opportunities to engage with ideas that demand awareness of key issues and that then enable them to achieve insights into what the field currently offers and potentially can offer.AssesementExamination, Individual coursework | ResponseSome cutting edge research activities and topics are covered in the lectures.AssesementNot Assessed | ResponseSee 8.1.1 and 9.1.1 above.AssesementExamination, Individual coursework | ResponseThe course content is research led.AssesementExamination, Individual coursework, Lab work | 10.1.1 Systematic understanding of knowledge at the forefront in computing science research ⓘ View All Criteria | |||||||||||
10.1.2 Comprehensive understanding of the scientific techniques ⓘ View All Criteria | ResponseThe course involves formally proving properties such as correctness, completeness of reasoning and termination and understanding such meta-results.AssesementExamination, Individual coursework | ResponseNot addressed directly.AssesementNot Assessed | ResponsePrinciples and techniques of natural language processing and text mining are presented and students set tasks to demonstrate understanding thereof, firstly through exposure in labs then through coursework and examsAssesementExamination, Individual coursework | ResponseIn specifying the assignments, we require students to apply and demonstrate research and scientific skills.AssesementIndividual coursework | ResponseStudents are required to design, perform and report on empirical evaluation of system performance.AssesementIndividual coursework | 10.1.2 Comprehensive understanding of the scientific techniques ⓘ View All Criteria | |||||||||||||||||
10.1.3 Legal, Social Ethical and Professional issues ⓘ View All Criteria | ResponseStudents are working as professionals during their industrial placement. They must demonstrate knowledge of and apply appropriate law, ethical standards and professional behaviour.AssesementIndividual coursework | ResponseStudents are practising a role as a professional consultant during this module. They must demonstrate knowledge of and apply appropriate law, ethical standards and professional behaviour.AssesementIndividual coursework | ResponseStandardisation is discussed at various points in this course, and students gain an understanding in the process.AssesementIndividual coursework | ResponseAny solution described must explore the legal ethical and professional framework in which health data must be analysed.AssesementIndividual coursework, Group coursework | ResponseGovernance challenges for health data are discussed all the way through the course. There is also a discussion of the role of the patient in the pathway.AssesementIndividual coursework, Group coursework | ResponseData engineering context provides discussion of social, ethical and professional practices and considerations.AssesementExamination | ResponseEmphasis on legal aspects concerning copyright and licensing of content for text miningAssesementExamination, Individual coursework | ResponseOne of the courseworks involves the considerations and examinations of people related security and privacy related issues.AssesementIndividual coursework | 10.1.3 Legal, Social Ethical and Professional issues ⓘ View All Criteria | ||||||||||||||
10.2.1 Critical awareness of current research issues, problems and/or insights ⓘ View All Criteria | ResponseStudents are required to show practical thinking in the assessed coursework, the labwork, the mini-project and the examaination.AssesementExamination, Individual coursework, Lab work | ResponseWe discuss various questions around graph modelsAssesementIndividual coursework | ResponseThe problem chosen is always one that addresss a current techical or research issue in health.AssesementIndividual coursework, Group coursework | ResponseStudents must be aware of the current state of health informatics research.AssesementIndividual coursework, Group coursework, Presentation | ResponseCourse unit update incorporates current research issues, problems and insights as appropriate.AssesementExamination, Individual coursework | ResponseLectures and literature reviewAssesementExamination, Group coursework, Presentation | ResponseEssay-type elements in coursework and exams allow for such awareness to be demonstrated. There is an emphasis in lectures and labs on current issues.AssesementExamination, Individual coursework | ResponseIn addition to the taught material, guest lectures by computer vision researchers working in industry are invited to present practical applications of computer vision systems. In addition, in one of the laboratory sessions, students are required to understand and test the implementation of a simple volumetric reconstruction (from two views) system using manually calibrated cameras . The student is given a set of images to use to calibrate the intrinsic and extrinsic parameters of the cameras and gain an insight into the practical problems of implementing such as systemAssesementExamination, Individual coursework | ResponseCovers research components in lectures and after-class reading materialsAssesementNot Assessed | ResponseSee 7.1.1 above.AssesementExamination, Individual coursework | ResponseResearch-led course content and its discussionAssesementExamination | 10.2.1 Critical awareness of current research issues, problems and/or insights ⓘ View All Criteria | |||||||||||
10.2.2 Quantitative and qualitative research methods ⓘ View All Criteria | ResponseStudents are expected to apply appropriate qualitative or quantitative analysis methods to understand the problems they face and to evaluate their solutions. These may be already known or newly developed methods from the research literature or other published works as appropriate to the problem domain.AssesementIndividual coursework | ResponseStudents are expected to apply appropriate qualitative or quantitative analysis methods to understand the problems they face and to evaluate their solutions. These may be already known or newly developed methods from the research literature or other published works as appropriate to the problem domain.AssesementIndividual coursework | ResponseBy nature the course emphasises qualitative methods, tools and knowledge.AssesementExamination, Individual coursework, Lab work | ResponseThere is a strong emphasis on human factor challenges and ways in which they can be explored.AssesementGroup coursework, Presentation | ResponseUse of statistical analysis techniques as appropriate. Not directly assessed.AssesementNot Assessed | ResponseQuantitative evaluation of scenarios of Machine Learning application are included in the examination.AssesementExamination | ResponseStatistical significance testing is taught in lectures and labs, in the context of collcation analysis (hypothesis-driven statistical tests of association), user-oriented evaluation is also taughtAssesementExamination, Individual coursework | ResponseSee 10.1.2 above.AssesementIndividual coursework | 10.2.2 Quantitative and qualitative research methods ⓘ View All Criteria | ||||||||||||||
10.2.3 Evaluation of scientific risk ⓘ View All Criteria | ResponseIn assessing the report and seminar students give for their industrial placement appropriate awareness of, management and reaction to risks is observed as part of the assessment. However, placements vary considerably in the nature and seriousness of risks the students are exposed to. Risk management is implicitly assessed and is not explicitly part of the marking scheme.Assesement | ResponseThe point of this module is to evaluate feasible solutions to a real business problem which must involve awareness and management of a wide range of risks.AssesementIndividual coursework | ResponseLectures introduce students to statistical hypothesis testing and p values, and to dangers of relying on an inappropriate test for some kinds of data (e.g., sparse data). Assessed via both coursework and exam.AssesementExam, Individual coursework | ResponseAt the beginning of each sprint, students have to make decisions about which requirements from the product backlog it is feasible to complete in the time available, based on the team’s past performance (monitored using story points). In the sprint review, they are assessed using acceptance tests for whatever functionality they committed to completing.AssesementGroup coursework | ResponseI’m not sure whether this is remotely related to the ‘evaluation of scientific risk', but they do have to make decisions based on empirical data, that have real consequences for them, and they then have to subjectively evaluate the process.AssesementNot Assessed | 10.2.3 Evaluation of scientific risk ⓘ View All Criteria |
B.8 Graduation
AI | AI with IE | MENG AI | MENG AI IE | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Entry routes | 2017/18 | 2016/17 | 2016/17 | 2015/16 | 2016/17 | 2015/16 | 2015/16 | 2014/15 | |||
Initial entry | 4 | 5 | 5 | 1 | 2 | 1 | 1 | 0 | |||
Transfer into programme | 2 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | |||
Fail during programme | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
Withdrawal during programme | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | |||
Other (transfer in School/repeat) | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
Total sitting finals | 6 | 5 | 6 | 3 | 0 | 1 | 1 | 0 | |||
Awards | 2019/20 | 2018/19 | 2019/20 | 2018/19 | 2019/20 | 2018/19 | 2019/20 | 2018/19 | |||
Awarded I | 4 | 2 | 5 | 2 | 0 | 1 | 1 | 0 | |||
Awarded IIi | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |||
Awarded IIii | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |||
Awarded III | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |||
Awarded Pass | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
DipHE (exit) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
Fail | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
Other (CertHE) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |