Dr Liam O'Reilly
Senior Lecturer
Computer Science
Telephone: (01792) 604033
Email: JavaScript is required to view this email address.

Teaching

  • CS-230 Software Engineering

    This module exposes the student to the major components of a practical software lifecycle through team-based practical software engineering. This module introduces students to prototyping, software design and implementation, and testing. Students are introduced to the issues and techniques of working in teams.

  • CSF100 Work-Based Portfolio 1

    In this module students will develop a portfolio of documents and projects which will demonstrate the application of knowledge gained from the co-requisite modules to their work experience.

  • CSF101 Programming 1

    This module will teach students to solve computational problems by writing simple programs in a high-level language, specifically Java. Students will understand the fundamental principles underlying imperative programming languages, and have the ability and confidence to write programs in Java to solve a variety of simple problems.

  • CSF102 Programming 2

    This module is a continuation of CSF101: Programming 1. In it, students will enhance their programming skills and will be introduced to object oriented programming.

  • CSF200 Work-Based Portfolio 2

    In this module students will develop a portfolio of documents and projects which will demonstrate the application of knowledge gained from the co-requisite modules to their work experience.

  • CSF206 Algorithms and Automata

    This module introduces students to theoretical tools and techniques important in software development. The first half of the module is concerned with algorithms and data structures and will enable the student to understand how the selection of different algorithms and data structures affects the performance and efficiency of a program. The second half of the module will concerned with automata in the form of labelled transition systems and will enable the student to understand their role in modelling computing systems.