Semester 1
Software Development Fundamentals
The aim of this module is to provide the learner with understanding of:
- fundamental programming constructs such as variables, boolean expressions, control flow structures, methods, arrays, etc.
- the structure and design of algorithms.
- good programming practices and conventions suitable for the workplace.
- how to make use of application programming interfaces.
- principles of object-oriented programming.
- best practices in object-oriented design.
Web Development
This module provides the learner with all the skills and knowledge needed to successfully design and implement a web site using modern client and server side technologies. With this module the learner will have the skills to:
- Design and implement a custom web site making use of both client and server side development libraries for Rapid Application Development.
- Utilise databases with existing websites to aid the storage and retrieval of data, providing users with a stateful experience.
- Integrating server side code into existing web pages to develop reusable dynamic code, making better use of available development time, creating an easier development and maintenance life cycle.
- Designing and implementing a data security measures to prevent common web site attacks from both users and automated scripts.
- Implementing a stateful experience for the user with the use of server side technologies such as Sessions and Cookies.
- Setup a local development environment for dynamic web sites which rely on a local live development server and database.
- Develop a custom authentication procedure and implement existing user management libraries for web sites available from leading technology providers.
Databases
The aim of this module is to develop graduates:
- that can apply structured database design principles at the conceptual, logical and physical levels.
- that are capable of translating a set of real-world client requirements into a well structured database structure using DDL, DML and SQL.
- that can identify and resolve constraint violations in existing datasets.
- that take transaction processing and concurrency control issues into account when selecting a database management system for a given set of requirements.
Networking & Virtualisation
This module is included because of the heavy reliance which modern computing has on networks. Most systems either need to connect to the network for data transfer or management or rely on the network to support multi-processing, parallel computing. The shift to the Cloud in recent years has increased the need for skilled workers who understand underlying protocols, services and network topologies. This module will lead learners through the fundamentals of networking from basic LANs to Enterprise scale networks and the services that they support. It will also prepare Learners for the concepts that enable Cloud Computing and Virtualization. The hands-on approach will mean that they must build, maintain, and troubleshoot their own networks initially in a physical form and eventually in a virtual format.
Operating Systems and Architecture
The aim of this module is to:
- develop professional system administrators, capable of maintaining modern business IT architectures.
- enable graduates to secure IT infrastructures against modern and future security risks.
- promote professional expertise that is OS independent, allowing graduates to design system architectures independent of personal preferences.
- encourage adherence to professional best practices in the development of custom system architectures.
- develop learner self-reliance and initiative in the provision of professional system configuration consultancy.
Strategic Business IT
It is the aim of this module to provide the learner with knowledge of:
- The macro and micro business environment and the concepts, tools and techniques that facilitate its analysis.
- The relationship between business and information technology and how information technology can establish and maintain a competitive advantage.
- Differences between proprietary and open source software models and how they can support and affect IT business related solutions.
- Emerging technologies and how business reacts in relation to future strategic planning
Semester 2
Software Development Fundamentals
Professional Practice in IT
The aim of this module is to provide the learner with knowledge of:
- Ethical guidelines and professional expectations as an ICT practitioner.
- The privacy aspects and regulations of cyberspace content and hosted systems.
- IT Governance for strategic industry and IT alignment;
- Consultancy practice and service level agreement structure and management.
- Professional customer facing communication skills, ICT to business and business to ICT
Algorithms and Constructs
The aim of this module is to provide the learner with understanding of:
- the concepts of selecting and analysing algorithms and constructs through the use of practical examples.
- the influence of algorithmic space and time complexity on the design, selection and implementation of constructs and algorithms in relation to both theoretical upper and lower bounds.
- how the performance, memory behaviour and efficiency of different algorithms and constructs affects the situations to which they are best applied.
- the trade-offs between space and time complexity when selecting from different candidate algorithms and constructs;
- how multiple fundamental algorithms and constructs can be modified and combined to create larger solutions to real world problems.
Mobile Development
The aim of this module is to:
- develop professional native mobile application developers capable of utilising current mobile development trends, infrastructures and programming mechanisms.
- promote the appropriate use of mobile development tools and design best practices for the creation of user-driven applications.
- enable graduates to analyse and work with the key forces and constraints acting on handheld devices and take steps to accommodate these when designing and building their own applications.
- encourage learners to utilise their development skills while ensuring development is centred around user requirements and expectations.
Cloud Based Web Applications
This module is designed to provide the learner with a deep understanding of the available technologies, specific technology requirements and application constraints at every level of the web application development process. This is done by providing the learner with the skills needed to design and implement bespoke applications, with considerations to application specific needs and configurations available at each step through the web application tier in a cloud based environment. The aim of this module is to provide the learner with understanding of:
- Developing cloud based web applications that rely on client side technologies such as JavaScript to handle user input and dynamic user interface generation providing a modern interactive experience for the user;
- Developing the infrastructure needed to receiving application data from a server in portable and exchangeable data formats such as XML & JSON to enrich web application experiences by utilising additional data sources;
- Implementing client and server-side code level framework infrastructure to utilise existing solutions to reoccurring design problems to maximise the user experience with minimal code level maintenance;
- Designing and implementing Web applications which utilise cloud based application containers to maximise the efficiency of the application in a cloud based environment, utilising reporting and statistics of the application to dynamically further enhance the delivery and storage needs for a web based cloud application.
- Practical examples of the security vulnerabilities in cloud based hosting environments for both user interactions and server-side data storage when developing bespoke cloud web applications or porting an existing web application to a cloud based environment;
- Designing and implementing a suite of web application tests to ensure that the developed application is suitable for dealing with large volumes of web requests from users operating with different web browsers in a variety of mobile and desktop environments.
Semester 3
- Work Placement (Elective)
- Guided Technology Project (Elective)