Dr. Paul Clarke 

My Modules

I deliver lectures, tutorials and labs to both undergraduate and postgraduate students. STUDENTS SHOULD CONSULT LOOP or contact me directly if they require further information on any given module.

 

CA4004 - Software Engineering:Process,Principles & Methods.

The difference between writing a small program and developing a large-scale software product is not a difference of size as much as it is a difference of nature. While the construction of small programs is a purely technical issue, the development of larger software products is a multi-dimensional problem, which involves technical considerations as well as managerial and organizational considerations. The objective of this module is to explore all three inter-related perspectives and to provide the learner with the foundational skills necessary to understand and apply these skills in an industry context.

 

CA267 - Software Testing.

This module provides a grounding in the principles of software testing, covering the full lifecycle of testing activities. There is an emphasis on practical testing, especially with respect to unit testing. There is also a focus on the quality considerations surrounding testing (i.e. when can testing be considered to be finished and software be released?), testing strategies, test management, static and dynamic testing, technology adopted for testing, configuration and test environment management. Furthermore, the human aspects of testing psychology will be examined.

 

CA400 - Final Year Computer Applications Projects.

See CA400 Projects for specific details.

 

CA358 - Fundamentals of Software Testing.

This module aims to familiarise students with basic software testing strategies and techniques most relevant to computing in a business environment. A grounding is provided in the principles of software testing, covering the full lifecycle of testing activities. There is an emphasis on practical testing, especially with respect to unit testing and requirements testing. There is also a focus on the economic considerations surrounding testing (i.e. how much testing is appropriate / enough ?), testing strategies, test management, static and dynamic testing, technology adopted for testing, configuration and test environment management. Furthermore, the human aspects of testing psychology will be examined.

 

CA655 - Managing Projects and Change.

This module provides a grounding in the principles of project and change management, focusing not just on the mechanics of management but also on the human aspects. The project lifecycle and phases are identified, including initiation, planning, execution and closure.Within each phase, the detailed tasks, roles and responsibilities are presented. This module also examines some of the more prevalent reference models for project management, including PMBOK, Prince and PMP. A summarised version of the lecture notes are available upon request.

 

CA591/CA598 - Object Oriented Programming in Java.

The module aims to give the students a foundation in Object-Oriented Programming and Java basics and to extend to further concepts in file-handling and inheritance. The course is divided into three basic stages of difficulty in the initial 8 weeks, with assessment at the end of the two interim stages and an extended project for the last, which also incorporates more advanced elements from the final section of the course. In brief: the course covers Introductory topics, Introduction to the Java development environment and problem solving techniques, Control structures, Basic features of Java, Modularity and Object-oriented techniques.

 

CA447 - Software Process Improvement.

This module provides a broad and systematic study of the software development process. It traces the evolution of software development approaches, from waterfall development approaches right through to emerging agile software development including Scrum, Lean Software Development and Kanban. The module also includes a strong critical review of the individual approaches to software development as well as an examination of the suitability of different software development approaches to different software development settings. A summarised version of the lecture notes are available upon request.

 

CA481 - Software Quality Assurance.

This module provides a grounding in the software quality assurance aspects of the software development process. This includes metric definition and deployment, reviewing and inspecting, quality and configuration management, and the relevance of various software quality standards. As well as presenting the benefits (and sometimes the necessity) of the various software quality assurance techniques and approaches, the module also examines the impact of software quality assurance on the overall software development enterprise.