Object Oriented and Web Programming
An intensive programming course primarily for non-computing graduates. Covers programming fundamentals, object oriented programming principles and practice; client server web application development principles and practice.
- Programming fundamentals [10%] - Control constructs, operators, procedural abstraction, simple I/O and use of libraries; Data types: primitive types, constants, variables and arrays.
- Object Oriented Concepts and Design [25%] - including class, reference types, object, instantiation, attributes, constructor, methods, overloading, inheritance, overriding, polymorphism; Design techniques using UML; Testing of object-oriented programs.
- Advanced Object Oriented Topics [30%] - such as interfaces, collections, file and exception handling, user interfaces, event handling, graphics, Java database connectivity, Java servlets for building web-based applications and threads and their practical implementation; Use of integrated development environment (IDE); Documentation and coding standards.
Information and Digital Media Systems
The aim of this unit is to develop students knowledge in the areas of Information and Digital Media Systems, and Databases, their development and support for business needs.
- Evaluation of information systems [40%] - Evaluation and their relevance to businesses, legal matters, current and emerging trends underpinning the software development life cycle of data-centric information systems.
- Database implementation [30%] - Use of a Database Management System (DBMS); DBMS internal management, and DBMS transaction processing.
- Principles multimedia authoring [30%] - Scripting, user centred design, creation and evaluation of a simple multimedia application using an authoring tool.
This unit will involve practical system creation or experimentation work in an area of computing other than digital media. The curriculum is specific to the project you choose but it will include seminars on skills and techniques required for successful design and implementation of research resources, time management, research presentation (oral, written, posters) and professional, legal and ethical issues in computing. Examination of a case study or project in an area appropriate to your intended dissertation work. Where appropriate, the implementation or experimentation may be work-based.
Likely Optional Units
Examines key aspects of Distributed Programming and Software Engineering aspects of Enterprise level applications.
- Distributed computing development [25%] - eg RMI, JMS, JNDI, Jini, Connection to remote services (eg JDBC)
- Use of a variety of distributed object programming methods [20%] - eg Web Services, REST, SOAP, Ajax, Spring Framework
- Object wrapping formats and APIs [10%] - e.g. XML, JSON etc
- Cloud based software development [20%] - e.g. PAAS, SAAS, IAAS
- Design Patterns, Refactoring, SE design techniques [25%]
Mobile and Ubiquitous Computing
Provides an understanding of the issues, technologies and concepts in mobile and ubiquitous infrastructures, particularly in wireless networks, context-awareness, sensors and programming mobile devices.
- Explore and evaluate mobile application development frameworks and tools: [50%]
- Principles in wireless communications: [5%]
- Research and practise in context and location awareness: [15%]
- Interfacing to sensors: [15%]
- Resource discovery and system configuration: [5%]
- Design of pervasive computing systems: [5%]
- Examining the literature related to the subject matter: [5%]
Data Management and Machine Learning
The aim of this unit is to develop the student’s knowledge in the areas of data management including online analytical processing; data architectures such as data warehousing and the process and application of machine learning algorithms to data.
- Data Management Overview [15%] - Example content includes database modelling/querying (relational/noSQL), graph data modelling, applications.
- Online Analytical Processing (OLAP) [15%] - Including the representation of multi-dimensional views of data; Technologies and Architectures; Categories of OLAP tools, Business Intelligence Tools.
- Data Warehousing [10%] - Methodologies, architectures, modelling techniques; Data Warehousing Project Management; The Extraction, Transformational and Loading Process;
- Machine Learning Overview [10%] - The machine learning process, Applications of machine Learning.
- Machine Learning Algorithms [50%] - For example, artificial neural networks, naïve bayes, decision trees, clustering, association rules, text mining, fuzzy systems, application, analysis and validation.