Explore UCD

UCD Home >

COMP47480

Academic Year 2024/2025

Contemporary Software Development (COMP47480)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
4 (Masters)
Credits:
5
Module Coordinator:
Assoc Professor Mel Ó Cinnéide
Trimester:
Spring
Mode of Delivery:
On Campus
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

This module explores several of the various practices that a software developer needs to know to develop software in a contemporary industrial setting. The main topics covered include Software Methodology and Agile Methods, Unified Modelling Language, Software Testing, Refactoring, Software Design Principles, Heuristics and Metrics, and Design Patterns. Programming examples and exercises are presented primarily in code-based. Several of the practical sessions involve seminars delivered by speakers from the software industry describing how they develop software in their organisation. This module is very suitable for students who have a developed a solid base of programming skill and want to learn more about how high-quality software is developed in industrial practice.

About this Module

Learning Outcomes:

On successful completion of this module, students will be able to:
- Describe current trends in software methodology;
- Model various aspects of a software system using UML;
- Develop robust software using unit testing;
- Use software design principles and heuristics to guide their programming and metrics to assess software quality;
- Improve the design of their software using refactoring;
- Apply a number of basic design patterns in their own programs.

Student Effort Hours:
Student Effort Type Hours
Autonomous Student Learning

70

Lectures

24

Seminar (or Webinar)

6

Practical

12

Total

112


Approaches to Teaching and Learning:
Combination of lectures and practical work.

Requirements, Exclusions and Recommendations
Learning Requirements:

Students entering this module should be experienced object-oriented programmers, and be familiar with the Java and Scala languages. For example, the material covered in Comp 30950 is a suitable basis for this module.


Module Requisites and Incompatibles
Pre-requisite:
COMP30950 - Multi-paradigm Programming


 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Exam (In-person): Written exam. End of trimester
Duration:
2 hr(s)
Graded No
50
No
Reflective Assignment: Lab Journal based on practical work undertaken during module. Week 1, Week 2, Week 3, Week 4, Week 5, Week 6, Week 7, Week 8, Week 9, Week 10, Week 11, Week 12 Graded No
50
No

Carry forward of passed components
Yes
 

Resit In Terminal Exam
Summer Yes - 2 Hour
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Group/class feedback, post-assessment

How will my Feedback be Delivered?

Not yet recorded.

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Spring Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Fri 10:00 - 10:50
Spring Lecture Offering 1 Week(s) - 20, 21, 23, 24, 25, 26, 29, 30, 31, 32 Mon 12:00 - 12:50
Spring Laboratory Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 11:00 - 12:50