Dr. Paul Clarke 

My Modules

I deliver lectures, tutorials and labs to both undergraduate and postgraduate students. The modules and their contents are as follows:



CA400 - Final Year Computer Applications Projects. See CA400 Projects for specific details.


CA358 - 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 and system test case generation. 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.

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.


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.

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.