Skip to main content

Trinity College Dublin, The University of Dublin

Menu Search

Module Descriptor School of Computer Science and Statistics

Module CodeCS2013
Module NameProgramming Project II
Module Short Title
Semester Taught
Contact Hours

Lecture hours: 22

Module PersonnelInmaculada Arnedillo-Sánchez and Stephen Barrett
Learning Outcomes

Upon successful completion of the module students will be able to:

  • analyse, specify, design, write and test a complete software solution to a complex problem;
  • apply industry standard methodologies and tools to complex projects;
  • formulate and schedule intermediate goals and activities in the context of a large group project;
  • recognise the challenges and opportunities posed by working in project groups;
  • contribute to the design and analysis of software by means of UML diagrams;
  • contribute to requirements document for a substantial software engineering project;
Learning Aims

This course introduces students to the discipline of software engineering and requires them to work in groups to complete a complex software project. Groups will be managed in conjunction with more senior students taking the course CS3013. For the duration of this course, students are divided into groups, each of which is closely supervised by the course lecturer and a separate project customer. The course provides students with their first formal experience of group work. They are required to follow a rigorous process consisting initially of requirements gathering, analysis and system design. Thereafter they are required to implement a complex software product using industry standard software engineering tools and methodologies.

The principal aim of this course is to provide students with experience of working together in groups to complete a complex software project. Upon completion of the course students will have gained experience of analysing, specifying, designing and implementing a complete software system. They will also have been exposed to the challenges posed by working in teams and the need to communicate e effectively both within their respective groups and to their project supervisor.

Module Content

Introduction to Software Engineering

  • Software project life-cycle
  • Requirements analysis for software projects using the Unified Modeling Language
  • System specification and design for software projects using the Unified Modeling Language
  • Theory and practice of project group organisation including group management, communication strategies and problem resolution
  • Programming models for software projects
  • Strategies for source code management
  • Strategies for test-driven development
  • Industry standard software development methodologies and tools
Recommended Reading List

Recommended Texts

  • The Mythical Man Month - Essays on Software Engineering, Frederick Brooks
  • Object-Oriented Software Engineering - Practical Software Development using UML and Java, Timothy Lethbridge and RobertLaganiere
  • UML Distilled, Martin Fowler
  • Classical and Object-Oriented Software Engineering, David Schach
  • The Art of Unix Programming, Eric Raymond
  • Clean Code, Robert C. Martin
Module Prerequisites
Assessment Details

Assessment is based upon the group projects that students are required to complete during the course. Each student group has a series of project deliverables mirroring the industry standard software development cycle. Course marks are allotted based on course work for producing documentation relating to project requirements, system design and a presentation of the final system, as well as the technical quality of the final system. The quality of the final system is assessed by the course lecturers and the group project supervisor. As part of the final assessment each student is required to produce a reflective essay on their experience in the project and their development of authentic practice.

Supplemental assessment is by individual project work

In addition to achieving a pass mark for the module, students are also required to attend 75% of the scheduled team meetings or, in exceptional circumstances, to provide the teaching assistant with a satisfactory written explanation for any absence. If a student does not satisfy this requirement he/she will be deemed to have failed the module.

Module Website
Academic Year of Data2018/19