Explore UCD

UCD Home >

COMP47470

Academic Year 2026/2027

Big Data Programming (COMP47470)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
4 (Masters)
Credits:
5
Module Coordinator:
Dr Ravi Manumachu
Trimester:
Autumn and Spring (separate)
Mode of Delivery:
On Campus
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

Big data refers to high-volume, high-velocity and/or high-variety data that is too complex to handle by traditional (relational) data management and data processing systems. The data-intensive nature of big data applications has pushed research and industry practitioners to build innovative solutions that are inherently distributed software systems with novel programming and execution models. This module describes, compares and contrasts the pioneering and leading big data technologies (NoSQL, batch, streaming, and graph). It will teach students how to install a Big Data software technology (NoSQL, batch, streaming, graph) and employ its API to develop (code and test) a big data application.

About this Module

Learning Outcomes:

(a). Explain and illustrate properties of traditional and big data management and processing systems (ACID, CAP, BASE).
(b). Compare and contrast relational, NoSQL and newSQL database management systems.
(c). Describe, distinguish, and work with big data technologies for batch, stream, and graph processing.
(d). Develop (design and implement) NoSQL, batch, streaming and graph big data applications.

Indicative Module Content:

Introduction to Big Data (Characteristics and classifications)
Big Data reference architectures and Classification of Data Intensive Distributed Systems
Introduction to NoSQL Databases and MongoDB document NoSQL database
Description of ACID and BASE properties and CAP theorem
Introduction to Cypher query language and Neo4j graph DBMS
MapReduce Programming Model, Introduction to Apache Hadoop, HDFS and YARN
Distributed batch data processing using Apache Spark
Introduction to graph processing and developing large graph applications using Spark's GraphX
Introduction to Data Streams and developing streaming applications using Spark's structured streaming API
Machine learning (supervised, unsupervised, recommendation) using Spark's MLlib API

UNESCO highlights a set of key competencies that support individuals in their development and support society in achieving the UN Sustainable Development Goals (SDGs). UCD has adapted these competencies and is combining them with others to form a general framework of learning competencies. This module will help you develop the competencies below to the levels specified. 
Learning Competency Additional Information Level

Systems Thinking

The ability to recognize and understand relationships; to analyse complex systems; to think of how systems are embedded within different domains and different scales; and to deal with uncertainty. Competent

Digital Literacy and Judgement

The ability to access, evaluate, create and communicate information in digital environments; to engage critically, ethically and responsibly with digital technologies and digital information; to understand their opportunities, limitations, risks and impact on individual’s digital identities; and to exercise informed judgement in digital participation and decision-making. Competent

The United Nations identified seventeen Sustainable Development Goals (SDGs) as core to the 2030 Agenda for Sustainable Development, and UCD contributes in general to SDG 4 Quality Education. Further SDGs explored within this module if relevant are listed below. A scale of 1 - 5 indicates the extent to which the SDG is covered.


 

Student Effort Hours:
Student Effort Type Hours
Lectures

24

Practical

24

Autonomous Student Learning

62

Total

110


Approaches to Teaching and Learning:
Lectures and additional materials
Repository of seminal Big Data research articles
Laboratory Practicals
Weekly Quizzes
Continuous assessment assignments
End-term Exam

Requirements, Exclusions and Recommendations
Learning Recommendations:

It is strongly recommended that students have an acceptable level of competency in either Python or Java, along with a solid understanding of relational database management systems.


Module Requisites and Incompatibles
Not applicable to this module.
 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Assignment(Including Essay): Continuous Assessment Throughout the Trimester Week 6, Week 12 Alternative linear conversion grade scale 40% No
40
No
Exam (In-person): 2 hour End of Trimester Exam End of trimester
Duration:
2 hr(s)
Alternative linear conversion grade scale 40% No
50
No
Quizzes/Short Exercises: A quiz released each week comprising multi-select, multi-choice, and true/false questions from the lecture delivered in the same week. Week 12 Alternative linear conversion grade scale 40% No
10
No

Carry forward of passed components
Yes
 

Remediation Type Remediation Timing
Repeat Within Two Trimesters
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
• Online automated feedback

How will my Feedback be Delivered?

Solutions to weekly quizzes. Solutions to continuous assessment assignments.

Fundamentals Of Database Systems, 7th Edition
by Elmasri Ramez and Navathe Shamkant

Hadoop - The Definitive Guide 4e: Storage and Analysis at Internet Scale, 4th Edition
by Tom White

Spark - The Definitive Guide: Big data processing made simple
by Bill Chambers, Matei Zaharia

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
by Martin Kleppmann

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Autumn Practical Offering 1 Week(s) - Autumn: All Weeks Fri 09:00 - 10:50
Autumn Lecture Offering 1 Week(s) - 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12 Mon 09:00 - 10:50
Spring Lecture Offering 1 Week(s) - 20, 21, 23, 24, 25, 26, 29, 31, 32, 33 Mon 09:00 - 10:50
Spring Practical Offering 1 Week(s) - 20, 21, 23, 24, 25, 26, 29, 31, 32, 33 Mon 11:00 - 12:50