Provides experience in the critical review of literature and the design, implementation, evaluation and writing up. Working with your supervisor, students develop their project description and specify aims, objectives, methodology and timetable for completion. Final year projects are normally pathway-specific. For group projects, individual and collective aims, objectives and plans are specified.
This unit looks at the underlying theory and industrial applications of Artificial Intelligence paradigms. It includes the underlying philosophy and principles behind AI software, artificial neural networks, image processing, rule-based systems, knowledge engineering, game theory, Minmax and Alphabeta searches, logic and reasoning, ontologies, natural language processing and grammar checkers. Learning will be integrated via a large-scale case study, building and evaluating a range of AI classifiers for two real-world datasets (e.g. Mammography, US Census Data). This will develop transferrable skills in experiment design and evaluation.
Programming Languages: Principles and Design
The unit examines the design and evolution of programming languages with a research-led introduction to compilation and computer architecture. It includes evolution of programming language paradigms and language design. Comparative analysis and critical evaluation of programming language concepts and paradigms concerning procedural, object-oriented, functional, logic-based and the concepts of variable type and binding. The software structure and phases of a simple compiler, processor microarchitecture and cache memory architectures.
Software Agents and Optimisation
Students will be introduced to the fundamental concepts in evolutionary algorithms and agent-based simulation, and develop their proficiency in the development, application and analysis of these methodologies. The unit includes evolution and natural selection, fitness landscapes and search, optimisation and approximation, encodings and fitness functions, evolutionary search and optimisation, and applications. Software agent concepts, intelligent agent design and implementation of multi-agent systems.
Mobile Applications Development
This unit provides a thorough grounding in smartphone application development, location aware applications and mobile device technologies. This includes smartphone development, creation of mobile applications using a current mobile device development environment eg iPhone, iPad, Android, wireless technologies and security, technologies available, characteristics and security models eg RFID, WiFi, Bluetooth. Location-aware mobile applications, access and analysis of location on mobile devices and creation of intelligent applications. Current practice in mobile application development. New and emerging mobile application techniques and devices eg context aware computing. Wireless sensors and sensor networks. Smart Environments.
Information and Network Security
This unit will cover a diverse set of topics related to information and network security with emphasis on cryptographic methods and security protocols. It includes an overview of security, cryptography and encryption algorithms e.g. DES, RSA, AES. Access control and multilevel security, internet security protocols and firewalls.