return to:

cathrynpeoples: Teaching


Module: Semester/Year: Degree: Teaching Weeks: Institution:
Mobile & Cloud Computing2017BSc(Hons) ComputingJanuary'17 - June'17 Ulster University
Computer Networks & Security2017Optional module on BSc(Hons) Computing, Computing with Game Development, Computing with Internet SystemsJanuary'17 - June'17 Ulster University
The Computing and IT Project2017Compulsory module for a number of the undergraduate degreesJanuary'17 - September'17 The Open University
(UK and Ireland)
Software Engineering2016-2017Top-up BSc(Hons) Computing and IT PracticeOctober'16 - June'17 The Open University
(South & West & Wales) (R03)
Communications and NetworksB/2015/2016BEng(Hons) Computer Systems Engineering (1st yr)1, 2, 7, 9, 10, 12 Queen Mary University of London
Networks and ProtocolsA/2015/2016BSc(Eng) Internet of Things Engineering (3rd yr)3, 6, 9, 12 Beijing University of Posts and Telecommunications, China
Concurrent Systems: 2/2014-2015 MSc Professional Software Development7-12 Ulster University, UK
Operating Systems Fundamentals:1/2014-2015 MSc Professional Software Development 7-12 Ulster University, UK
Computer Hardware: 1/2014-2015 MSc Professional Software Development 1-6 Ulster University, UK
Mobile Devices and Applications: 2/2013-2014 MSc Professional Software Development 7-12 Ulster University, UK
Concurrent Systems: 2/2013-2014, MSc Professional Software Development 7-12 Ulster University, UK
Data Structures: 2/2013-2014, MSc Professional Software Development 1-6 Ulster University, UK
Operating Systems Fundamentals: 1/2013-2014, MSc Professional Software Development, 7-12 Ulster University, UK
Distributed Application Development: 2/2011-2012, MSc Telecommunications and Distributed Systems Ulster University, UK

Module Specifications:

Mobile & Cloud Computing:

Computer Networks & Security:

Topics studied as part of this module include: Networking Fundamentals ( Data Communications and Networks, Protocol Stacks, Network Topologies, Store and Forward Techniques), Network Architectures, Ethernet and wireless LANs, Congestion Control, Cellular Networks, Internetworking, Internet Protocols, Multicasting and Routing, Quality of Service/Quality of Experience, Transport Protocols, Computer Security, Cryptography and Message Authentication, User Authentication, Access Control, Network Security Applications, Malicious Software, Denial of Service Attacks, Intrusion Detection and Prevention, Cloud Computing, Cloud and Virtualisation, Managing and Securing Big Data Applications in the Cloud.

Software Engineering:

This module provides students with an understanding of software engineering concepts and a view of practical software development. Students will become familiar with a wide range of techniques to support the dialogue between software engineers and an organisation's stakeholders, and the work of the developers. Students will also develop a good understanding of the different approaches to, and practices of, software development, including those followed by agile methods.

Communications and Networks:

The aim of this module is to give a broad overview of telecommunications and internet systems, techniques for representing communication networks and knowledge of fundamental principles and concepts of communication networks. At the end of the module, students will be able to:
- Name the major components of communications systems
- Explain the principles of data communications
- Explain the principles of internetworking
- Explain the principles of medium sharing in telecommunication networks
- Explain the basics of IP networks

Networks and Protocols:

This module provides basic communication theory and descriptions of protocols to allow students to understand, analyse and design communication systems, specifically those for communication between objects in an IoT scenario. The module provides a broad coverage of the principles of modern telecommunications systems including underlying theoretical concepts of:
- Information theory
- Queuing theory
- Coding source coding of different types of information
- Transmission systems including equalisation
- Modulation
Protocols considered include wireless protocols for PANs and LANs.

Computer Hardware:

This module describes the structure and function of the digital computer. Its purpose is to present, as clearly and completely as possible, the function and design of the various components necessary to process information digitally. This is essential knowledge for the software developer and informs them of both the potential and limitations of any programmable machine. Ultimately this supports the construction of safe, reliable, and secure software that end users may use with confidence.

Mobile Devices and Applications:

This module provides students with the opportunity to gain knowledge and skills that will equip them to obtain employment within companies specialising in mobile technologies. Students will gain detailed knowledge of the underlying wireless infrastructure and protocols and the relationships these have with the app creation process and developing software solutions targeted at mobile platforms.

Concurrent Systems:

This module introduces students to the fundamental concepts required to design and develop concurrent systems. The module will provide an overview of the underlying principles of concurrent programming and will give students the opportunity to develop practical applications illustrating specific aspects of concurrent systems.

Data Structures:

This module is designed to improve a studentís programming skills and understanding of a range of common data structures, key algorithms and underpinning mathematical techniques for performance analysis. It also introduces many of the most important techniques including the implementation and use of the common abstract data types. Through the lab classes and programming exercises students in Java will have an opportunity to develop their practical programming expertise, thus enhancing the skills necessary for employment in the computing industry. Students will be encouraged to focus on the theoretical underpinning knowledge of a range of data structures and common abstract data types and this will be supplemented by the practical implementation(s) of these leading to their use, and an understanding of their effectiveness through considered analysis and experimentation.

Operating Systems Fundamentals:

This module gives students a detailed introduction to the functions of operating systems. Particular emphasis is placed on the practical implementation of theoretical concepts and on the key area of resource management and Shell scripting. 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. They will also be exposed to the wider research field within which operating systems exist.

Distributed Application Development:

This compulsory module involves gaining practical experience with technologies commonly used in the development of distributed applications, including Microsoft .NET Remoting and Web Services, and ability to analyse, debug and comment on performance, reliability, scalability and security of distributed applications. Topics studied during the course of the module include: programming models for distributed applications (message-passing, RPC, distributed object systems and Web Services_; distributed applications (Marshall by reference and value, serialisability, proxies, stateless and stateful services, performance (caching, multi-threading, asynchronous calling), security (authentication and encryption), and reliability (transactions-based programming)); Web Services technologies (HTTP, SOAP, WSDL and Discovery); and Development tools using case studies (.NET Remoting, XML Web Services, Google Web Services).
page last updated: 20th March, 2017