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.
Students will build secure, robust, maintainable enterprise level applications using a variety of current distributed programming techniques. Includes use of common enterprise design patterns and implementation in a suitable language, professional programming techniques, distributed programming creation and analysis of distributed applications in a high level language, web service architectures eg web services, WSDL, SOAP, XML/ JSON processing, current techniques in enterprise application development eg Hadoop, cloud computing, reference architectures, models and frameworks and enterprise frameworks eg Hibernate, Struts.
Programming Languages and Software Engineering Frameworks
This unit will compare and contrast a range of programming language that covers the major programming paradigms such as functional, imperative and declarative. The unit will also critically evaluate the architecture of large scale software. Includes: an overview of the evolution of programming language paradigms and language design. A comparative analysis and critical evaluation of programming language concepts and paradigms, concepts of variable type and binding, design patterns and software architectures. A critical study of software engineering frameworks and build systems.
Advanced Web Development
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.