This module introduces students to the basic hardware components from which a computer system is constructed and the organisation of these components. The architecture is discussed and key concepts considered in the context of the programmable machine. Students will also gain an understanding of how computers communicate in the context both of local and wide area networks.
Professional Software Development I
The module introduces software development concepts and practices in a scaffolding manner enabling students to progressively develop their knowledge. This will be reinforced by interwoven practical lab sessions and tutorial workshops which will focus on and enhance all the necessary practical skills: problem solving, software design, programming skills and software testing to the high level of competence required by industry. The module is also intended to equip students with the knowledge, skills and habits that enable them to function as autonomous, accountable IT professionals.
Web Based Application Development
This module will expose students to the world of web based applications. It is concerned with the study and application of tools and techniques that enable the building and deployment of web based enterprise systems. The module first gives students an understanding of the role and function of the core technologies involved and then addresses the design practices, principles and patterns required for developing optimised enterprise web applications. Consequently, it provides students with a grounding in an important and still expanding application area that utilises the internet as the underlying communication platform.
Software Architecture and Design
This module seeks to develop and extend the student's knowledge of, and practical skills in, software design and development. The students are introduced to implementing, testing and documenting software for real-world applications. They also have opportunities to experience effective project organisation skills.
This module gives students a detailed introduction to the functions of modern operating systems. Particular emphasis is placed on the practical implementation of theoretical concepts and on the key area of Command-Line interaction, Shell Scripting, and an overview of system management. Students will have the opportunity to develop and consolidate their understanding of computer hardware as well as their software development skills, and will gain experience of using a modern Unix-like operating system.
Professional Software Development 2
This module uses interlinked lectures and lab sessions to introduce selection and repetition mechanisms with Java. This enables the introduction of arrays as an extended intermediate storage structure and also files as a permanent storage mechanism. The module extends their object-oriented techniques and the Java constructs into the hierarchy of super and sub classes and the area of inheritance. The module extends the area of interface applications within Android introducing more pre-defined GUI components and mechanisms available to them. The students will be provided with an opportunity to display strong personal management and team skills.
This module recognises the need for flexible and efficient storage of information in computer applications. The underlying principles of database organisation are presented, and practical implementation in a modern DBMS environment provides a basis for the construction of larger-scale e-business solutions.
Mobile Devices and Applications
This module introduces students to the new and challenging demands of Software Engineering for mobile and wireless environments, and helps prepare students to gain employment within a computing industry where knowledge and skills in mobile software development is essential. Students will gain detailed knowledge of the underlying wireless infrastructure and protocols, the challenges of software development for the mobile and wireless infrastructure, and the relationships these have with the app creation process and developing software solutions targeted at mobile platforms.
The project allows the student to demonstrate their ability in undertaking an independent project, developing theoretical perspectives, addressing research questions and analysing and implementing real world solutions. The student will be expected to utilise appropriate methodologies and demonstrate the skills gained earlier in the course when implementing the project. This will typically involve a systems analysis of the needs for a realistic application or actual organisation and identification and application of tools/techniques required to deliver a well formed solution. In summary the masters project represents a piece of work performed by the student under suitable staff supervision, which draws both from the practical and creative nature of a problem solving project and the traditional, scholarly exposition of an area of study. The content of the work should have a degree of originality and contain a critical appraisal of the subject area.