Explore UCD

UCD Home >

COMP30950

Academic Year 2024/2025

Multi-paradigm Programming (COMP30950)

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

Curricular information is subject to change.

This is an advanced programming module that assumes a working knowledge of object-oriented programming and data structures & algorithms, and a familiarity with functional programming. This module covers object-oriented programming in detail and explores how functional programming integrates with object-oriented programming in current practice. There is a focus on producing software that is:
(1) demonstrably correct, by using unit testing and
(2) maintainable, by observing sound programming principles during development.
There is a strong emphasis on practical programming skills throughout this module, and being able to develop correct, maintainable code is a key part of the assessment for this module. The main programming language employed is Scala.

About this Module

Learning Outcomes:

On successful completion of this module students should be able to:
o display a deep understanding of object-oriented programming,
o understand functional programming and how it integrates with object-oriented programming
o compare and contrast different object-oriented and functional programming languages,
o assess and improve the internal quality of a software application
o design, implement, test and debug multi-paradigm programs of moderate complexity,

Student Effort Hours:
Student Effort Type Hours
Lectures

24

Practical

24

Autonomous Student Learning

70

Total

118


Approaches to Teaching and Learning:
The module material is presented in face-to-face lectures where students are actively encouraged to ask questions and discuss the material further. Weekly labs give the students a space to engage with the material in a practical way. A number of programming assignments are set to enable students to improve their programming skills in preparation for the key final programming exam.

Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Pre-requisite:
COMP10300 - Functional Programming, COMP20250 - Introduction to Java, COMP20280 - Data Structures, COMP20290 - Algorithms

Incompatibles:
COMP30070 - Object-Oriented Programming


 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Exam (Open Book): In-person, open book, offline programming exam. Held in the last week of trimester. Week 12 Graded No
60
No
Assignment(Including Essay): Two programming assignments. Essential preparation for the Week 12 programming exam. Week 3, Week 4, Week 5, Week 7, Week 8, Week 9 Graded No
10
No
Exam (In-person): Written exam. End of trimester
Duration:
2 hr(s)
Graded No
30
No

Carry forward of passed components
Yes
 

Resit In Terminal Exam
Spring No
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment

How will my Feedback be Delivered?

After each assignment the lecturer will discuss a sample solution with the class and highlight the most common errors.

Name Role
Khatereh Sabri Tutor

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Autumn Lecture Offering 1 Week(s) - Autumn: All Weeks Fri 12:00 - 12:50
Autumn Lecture Offering 1 Week(s) - Autumn: All Weeks Tues 14:00 - 14:50
Autumn Exam Mid-term (ALU) Offering 1 Week(s) - 12 Tues 18:00 - 21:50
Autumn Practical Offering 1 Week(s) - Autumn: All Weeks Tues 09:00 - 10:50
Autumn Practical Offering 2 Week(s) - Autumn: All Weeks Fri 14:00 - 15:50