First year core modules
Visual Web Development
This module introduces the fundamentals of programming. The aim is to provide students with a sufficiently detailed, generally applicable background in programming. This way, they can either develop their programming skills further in subsequent modules or, if they choose to move away from programming, still have a working knowledge of software development to implement applications and, maybe more importantly, be appreciative of programming in general during their computing-related careers.
Information Systems Development
This module provides the student with a practical, integrated overview of the Information Systems (IS) development process, from project selection and inception, through the capture and analysis of user requirements, to the design and production of a simple prototype system that satisfies those requirements. A constrained case study is used to take the student through a complete structured development cycle.
Database Management and Reporting
Provides students with a thorough understanding of how data is modelled in a relational database management system (RDBMS). Student will also be exposed to database design principles possibly using a suitable tool for the generation of entity relationship diagrams. The module develops skills in defining and manipulating data using SQL.
IMAT1209 Devices and Networks
Introduce the students to computer systems (Devices) and computer networks (Networks). Students gain knowledge of the underlying concepts and principles associated with computing, including data representation, computer components, theoretical and practical computing aspects including desktop virtualization, mobile computing, traditional PCs, thin clients, and cloud services. Students also gain knowledge of the underlying concepts and principles associated with computer networks from historical, theoretical and practical sides. This part of the module will introduce the students to networking concepts, techniques and typical networking components.
The Global Web
With the rise of the World Wide Web in the 1990s the Internet has become an important tool not just in the life of the individual but also impacting on how our society conducts business and interacts. This module will look technology that drives the Internet including an introduction to associated protocols and software. An introduction to mark-up technologies e.g. HTML 5 and CSS. An overview of security related issues (e.g. SQL injection attack) along with related social, legal and ethical issues.
Second year core modules
Project Management and Development
Takes students through the whole development life cycle with an eye to them creating a medium size project working collaboratively. Students will be organised into development teams and they will need to identify the portfolio of skills they can offer. Projects will need to be carefully sourced to match this range of skills. In house projects, will also be available. In addition to development work the students are required to undertake research into a relevant areas of Computing. This research needs to address the global and personal ethical consequences of technology.
Split over two terms this module looks initially at concepts related to object orientation in C#. E.g. inheritance, encapsulation, polymorphism, composition, aggregation, interfaces and collection classes. The second term looks at interaction with and use of existing libraries and frameworks. Students will be exposed to modern frameworks and APIs to build software. In addition, the students will also use collaborative tools such as GitHub.
Interactive Systems Design and Evaluation
Provides students with the skills that will enable them to understand how to design effective, efficient and usable interactive systems and for students to be able to evaluate the design. The structure of the module, and the exercises and coursework, will encourage students to adopt a user centred and highly iterative approach to the design of interactive systems. The module is largely non-technical, placing greater emphasis on the process of interactive design and the usability issues surrounding the design of interactive systems. It is suitable for any student who is likely to be involved in the design and development of interactive systems. It will help them to acquire the skills and knowledge to work as part of a multi-disciplinary team in the design and development of interactive systems.
Introduction to Research
The module provides the student with an understanding of the importance of researching, analysing, and interpreting existing literature and other documents in order to establish a solid context in which research and development questions can be developed and subsequently investigated. It develops the student's research skills, and particularly skills related to identifying relevant literature from a variety of sources, critically analysing academic and non-academic texts, and justifying a set of research or development questions in a particular topic area. The module explores these research methods through the lens of ethics in technology, introducing students to key ethical issues in relation to information systems, such as privacy, autonomy, security, identity, and social impact.
Looks at a range of authoring tools allowing for the creation of device-friendly web front ends along with development tools such as Visual Studio allowing for the creation of interactive content. During the module students are required to create a simple java script game requiring them to interact with the java script APIs and frameworks. As part of the module students will be require to come to grips with the technical aspects of multimedia such as graphical representation and compression.
Students will be introduced to the business process model of organisations, and why key business processes need supporting through effective data capture, conversion and information output. The range of tools, techniques and technologies that can be used to provide this support will be explored, a subset of which can be associated with BI functionality. A practical understanding of how BI technologies can be applied to a given problem will be fostered via the use of appropriate BI tool(s) and technique(s). Key to the effective application of BI technologies is an understanding of the legal/regulatory environment within which such applications are operating as well as the ethics of BI.
Third Year modules
The project provides students with the opportunity to carry out a significant piece of work involving critical analysis and reflection to provide an effective solution to a given technical and/or research-based problem. It enables students to apply and integrate previous material covered on the student's course as well as to extend the work covered on the course through research and self-learning. Students will be expected to demonstrate appropriate and proactive project management, and written/verbal presentation skills throughout the period of the project. As well as analysing, designing, delivering and appraising a product of suitable quality, they will be expected to undertake, research, analyse, evaluate and report on some aspects of a subject explicitly allied to the project.
The aims of the module are; to increase awareness of ethical dilemmas that surface every day within the work of the information systems professional, to reflect on and sharpen the process which is used to make choices within the business computing context and increase understanding of that process; and to understand the theoretical and applied frameworks for ethical practice within the computing profession
Team Development Project
Collaboration in software development is an important part of the modern software industry. Team work and associated activities are seen by employers as essential skills that graduates require when entering employment. This module is an opportunity for students to develop a solution to a business problem both individually and working as a team. It is important to differentiate between team work and group work. It is common practice when students are working in groups to have a single grade assigned to the group. This often results in some unfairness in the distribution of final marks. In team-based assessment the student grade is based predominantly on their individual effort with an appropriate percentage grade for working collaboratively.
Privacy and Data Protection
There continues to be a growth of databases holding personal and other sensitive information in multiple formats including text, pictures and sound. The scale of data collected, its type and the scale and speed of data exchange have all changed with the advent of ICT. Whilst the potential to breach privacy continues to increase organisations are subjected to a considerable amount of legislation governing privacy and data protection. This module examines the balance between maintaining business effectiveness, legal compliance and professional practice in the field of IT/IS.
In addition to the above students also have the following range of optional modules.
Multi Service Networks
The module provides a comprehensive analysis of problems and solutions found in modern networks and covers both the applications and the application (higher) layers of the communication stack and the subnet (lower layers). A recurring theme is how the network can provide the necessary Quality of Service requirements for the various types of traffic.
Secure Web Application Development
The module considers how a web application may be designed and implemented in such a way as to reduce the likelihood of unauthorised access to information. This also requires an understanding of the more common forms of browser-based attacks and the coding techniques that can be used to defend against these.
Telemetry is the use of a transmission system to monitor and control remote and distributed systems. The transmission medium may be wired, such as a CAN network as used in most modern vehicles. Or it may be wireless, employing GSM (mobile phone) technology, Bluetooth and similar RF based data communications media. This module provides an understanding how distributed telematic systems are designed and implemented. This will include a detailed study of a range of telematic standards and protocols. Students will gain the skills to develop telemetry software for use in the automotive sector, and as part of a wider pervasive network of intelligent distributed computers that are linked by wireless technology.
Fuzzy Logic and Knowledge Based Systems
This module deals with, arguably, the two most successful techniques in artificial intelligence. Fuzzy logic is a technique for modelling uncertainty and imprecision and appears in many applications for example in consumer products such as washing machines and camcorders. The ideas behind fuzzy logic use the notion that the world is not precise and that the ability to model words like hot, tall and expensive is very difficult using conventional mathematical techniques. The student will gain an understanding of fuzzy sets and how these are used in systems that contain fuzzy if-then rules for decision making.
Systems Building: Methods & Management
This module covers two important aspects of Information Systems Development (ISD) - the selection and evaluation of methodologies and the management of the Systems Development process.
A variety of ISD paradigms and methodologies will be considered, including 'hard' approaches, both Object-Oriented and Structured, 'soft' and participative approaches, and 'heavyweight' and 'agile' methodologies. A framework will be developed to compare and evaluate methodologies to help determine their applicability to particular development projects and environments. The way in which methodologies are used in practice will be considered.
To successfully deliver a computer-based Information System to a customer, whether internal or external, requires proper planning - an analysis of the project, it’s potential as an investment, the benefits and risk. The manager should be convinced that the project will succeed, is controllable, that resources will be forthcoming and should carry out planning (as detailed as possible) before accepting the brief. The importance of being able to balance the key project requirements of timescale, budget, quality and delivered functionality makes the project manager's role challenging and satisfying.
Various project management approaches will be examined and critically evaluated in the context of the methodological approach (e.g. SSADM/PRINCE, agile development).
Staffing issues (e.g. recruitment, training, motivation, team-building, leadership style) have major implications for project success and will be placed in the context of ISD.
Data is collected and stored in all different types of organisations - commercial, governmental, educational. Every day hundreds of terabytes of data are circulated via the Internet. Extraction of meaningful information and hidden patterns from data is critical for many business applications including marketing and security and many new areas of knowledge, including bio-informatics. Data mining involves extracting meaningful information and knowledge from vast quantities of data, to help us to make informed decisions.
Database Management and Programming
Contemporary organizations, whether in the commercial or not-for-profit sectors, rely on effective database management systems (DBMSs). With the increased reliance on databases for business intelligence and operation, the acquisition of the skills of advanced database design and implementation are more essential than ever for the competent computer professional. Building on previous modules on databases and computer programming, this module provides the student with further training on the essentials of advanced database management and programming, developing the student's ability to differentiate between relational databases and non-relational (NoSQL) databases. It develops the skills to choose a suitable database for an application from a business perspective to meet stated requirements using realistic scenarios and the ability to analyse semi-structured data and to choose an appropriate storage structure.
Information Systems Strategy and Service
The module explores the application of service management concepts to the delivery and quality management. It examines operational issues surrounding the management of resources and computer capacity, the provision of help desk services and the management of IT assets. It considers the development of new services, the management of end-user computing and the development of IT service culture.
Front-end Web Development
This module provides a thorough grounding in the rapidly-evolving area of front-end web technologies and interface design. This exciting field has been driven by recent advances in the three main technologies:
- Markup languages, with current and forthcoming changes in HTML5 and CSS3
- Browser manufacturers and developers driving standards forward
Web application logic has moved from the 'database-driven website' towards `app-like' front ends that communicate seamlessly with data-driven back-ends across desktop, mobile and tablet environments.
Functional Software Development
Functional Programming (FP) is a mature software development paradigm that has been used extensively for teaching and research and has, historically, found niche applications in commerce and industry. However, FP is now gaining a rapid and significant boost in popularity in industry mainly because of the need to write software for modern multi-core processors. This means that writing multi-threaded programs capable of running concurrently on multiple cores is becoming the norm which, in turn, means that the industry is turning towards languages that have the most direct support for this type of software development.