The programme aims to: · provide you with a solid foundation and to develop the skills needed for a wide range of professional engineering careers as a high quality practitioner and leader in business, technology, research and development · provide a balance of theoretical, design and practical subjects which allows you to exploit your individual talents · have a flexible structure which is relevant and attractive not only to you, but also to staff, and industry and which is responsive to advances in technology and the needs of the community · be at the leading edge of scholarship in electronics and computer science · maximise the benefit of an environment in which staff are carrying out internationally respected research · provide an environment which contributes towards your personal and professional development and acts as a foundation for a wide range of subsequent study and lifelong learning · provide a learning environment with sufficient laboratories, appropriate up-to-date software and hardware, and a first class web-site, motivating you towards the practice of engineering · provide a supportive pastoral environment with opportunities for you to participate in social and recreational activities.
a collection of one or more different pathways leading to a single award, for example, of a degree
a set of modules taken by a student and normally leading to the award of a degree; note that this may involve the selection of optional modules or electives.
OWLUnitTest:<?xml version="1.0" encoding="UTF-8"?> <cls name="Activity"/> <subclasses/> <comment/>
a unit of learning and teaching which is assessed as a single unit and for which credit or a pass is given; for example a set of 20 lectures and associated tutorials and practical activity.
prerequisite_pre must be passed before doing prerequisite_post
Digital communication: standards, media, signalling, reliability, error handling, and performance. Device management, input/output considerations. Communications management. Communications software.
The CPU/memory/IO model, representation of data and programs in memory, fetch-execute cycle, registers, stacks, data-paths, special IO-support hardware, support for protection and virtual memory, instruction sets, implementation constraints and trade-offs, historical, current and future trends. Peripheral devices. Cache memory and memory hierarchies. High performance and parallel architectures: pipeline processors, array processors and single instruction multiple data (SIMD) architectures, shared-memory multiple instruction multiple data (MIMD) machines, message-passing MIMD machines.
Aims in compiler construction. Variation in possible users. Features of languages. Phases of development. Lexical analysis. Types of grammars and parsing techniques, parse trees and abstract syntax trees. Symbol tables. Type checking. Semantic analysis. Run-time storage organisation. Code generation. Code optimisation. Illustration of other syntax directed tools.
This is a discipline with two strands. The scientific strand attempts to understand the requirements for and mechanisms enabling intelligence of various kinds in humans, other animals and information processing machines and robots. The engineering strand attempts to apply such knowledge in designing useful new kinds of machines and helping us to deal more effectively with natural intelligence, e.g. in education and therapy. Knowledge elicitation and representation. Uncertainty. Cognitive modelling. Reasoning. Deduction and theorem proving. Search. Machine learning. Agent technology. Planning. Vision systems, robotics. Speech and language technology.
The variety of languages and the motivation for this variety. Design criteria for languages. Desirable properties of languages and their implementations. Different programming paradigms: imperative, object-oriented, functional, logic, visual. Concurrency, parallelism and distributed computing. Strengths, weaknesses of different language features including types and data modelling, control structures, structuring concepts, abstraction mechanisms, parameterisation, exception handling, separate compilation, generics. Declarations, naming conventions, storage allocation strategies; parameter passing mechanisms.