Welcome to the School of Computer Science and Statistics
Congratulations on your acceptance to Trinity College Dublin as a Erasmus, Study Abroad or Exchange student and welcome to the School of Computer Science and Statistics (SCSS)!
On arrival at Trinity you will need to select which modules you wish to take. You are allowed to take a maximus of 30 ECTS for each semester and your choices will depend on your learning agreement. If the School of Computer Science and Statistics is your host school, you will need to select at least half of your modules from the modules listed below.
Click on the module links to read more about the learning outcomes and assessment criteria. To view module timetables you can go to my.tcd.ie – Timetables > Module Timetables.
If you have any questions about modules at the School of Computer Science and Statistics please contact:
- For General Queries – Eimear Morhan, Global Officer (SCSS)
- For Module Queries – Prof. Diana Wilson, Visiting Student Academic Coordinator (SCSS)
For more information on module enrolment and to complete your online module enrolment form go to: Visiting Student Module Enrolment Process and Module Directory
Full Year Modules
(Semester 1 & 2, 10 ECTS) This module provides an introductory course in computer programming.
(Semester 1 & 2, 10 ECTS) Starting with the theoretical foundations of logic, the students learn about combinatorial logic and synchronous logic, and how it can be used to construct logic functions that are useful in computing systems.
(Semester 1 & 2, 10 ECTS) This course is based on developing and solving mathematical models of real life problems. In the first semester, students receive a theoretical introduction to the fundamental elements of a mathematical model. Modelling techniques are taught to solve problems in many domains. In the second semester students are introduced to the concepts, ideas and techniques involved in simulation.
(Semester 1 & 2, 10 ECTS) The objective of this course is to introduce students to Strategic Information Systems in the workplace and society.
Semester 1 Modules
(Semester 1, 5 ECTS) The module aims to provide students with an introduction to the mathematics, both continuous and discrete, which lies at the foundation of many real-world applications in Computer Science, Engineering and the Social Sciences.
(Semester 1, 5 ECTS) An introduction to the basic structure and operation of a computer system, focussing on the processor (CPU), memory and the execution of programs.
(Semester 1, 5 ECTS) The first aim of the first part of this module is to give students a grounding in
(Semester 1, 5 ECTS) IT and its “impact” on society; models for assessing technological “impact”; history of IT; ethics; writing, presenting and argumentation; other topics.
(Semester 1, 5 ECTS) The topics of this module are: the theory and practice of algorithmic design; evaluation algorithm performance; and standard algorithms and data structures.
(Semester 1, 5 ECTS) Students taking this module have already successfully completed courses in object oriented Java programming and ARM assembly language programming.
(Semester 1, 5 ECTS) Design substantial logic circuits using register transfer descriptions.
(Semester 1, 5 ECTS) This module focuses on the methods and techniques for efficient management
(modelling, manipulation and retrieval) of data and information. It provides a foundation for later modules in database management and advanced information
(Semester 1, 5 ECTS) Fundamentals of C++ including built-in types and coercion, pointers, arrays, reference parameters, STL containers string and vector structs, classes, inheritance (illustrated by Qt library for GUIs), dynamic memory allocation and recursive data structures.
(Semester 1, 5 ECTS) The module is intended to build on the learning outcomes of an introductory
course in C programming such as the Year 1 Computer Engineering I module to give students the ability to understand and apply object oriented programming
principles to solve real problems.
(Semester 1, 5 ECTS) Floating point number systems; Mathematical Background, Solving Non-Linear Equations; Solving Systems of Linear Equations; Eigenvalues and Eigenvectors; Curve Fitting and Interpolation; Numerical Differentiation; Numerical Integration.
(Semester 1, 5 ECTS) Microprocessor Systems 1 is a one-semester module taken by third year Electronic, Electronic/Computer and Computer Engineering students.
(Semester 1, 5 ECTS) To study well-established computing theory, with special consideration for sorting and searching problems.
(Semester 1, 5 ECTS) Advanced topics in Computer Architecture including virtual memory, cache organisation, pipelining, multiprocessor architectures and cache coherency.
(Semester 1, 5 ECTS) This course will introduce you to the exciting new field of fuzzy systems and the related topics in machine learning and the so-called deep learning neural nets.
(Semester 1, 5 ECTS) Specification languages and logics; axiomatic program semantics. Formal proof
systems to verify software and system properties such as propositional, predicate
and Hoare logic.
(Semester 1, 5 ECTS) Develop sophisticated programs in a high level functional language.
(Semester 1, 5 ECTS) The module provides an introduction to the field of Human-Computer Interaction, focused both on understanding human interactions with technology and on the design of useful and usable interactive systems.
(Semester 1, 5 ECTS) The objective of this module is to equip the students with the fundamental understanding of the major elements of Computer Graphics and explore related areas including geometric modelling, rendering and animation.
(Semester 1, 5 ECTS) The aim of this module is to give students a firm understanding of the theory
underlying the processing and interpretation of visual information and the ability to
apply that understanding to ubiquitous computing and entertainment related
(Semester 1, 5 ECTS) Understand in general what a probabilistic model is, the distinction between so-called visible and hidden variables, and the distinctive nature of models where each datum is a sequence of varying length, rather then a fixed-size set of features
(Semester 1, 5 ECTS) Sample Space and Probability: Sets; Probabilistic Models; Conditional Probability; Total Probability.
Theorem and Bayes’ Rule; Independence; Counting.
(Semester 1, 5 ECTS) This module covers a range of topics in probability theory at an introductory level, with a view towards applications. Overall the goal of the module is to let the students gain familiarity with both analytical and simulation-based methods to deal with applied problems in probability.
(Semester 1, 5 ECTS) This is a rigorous development of probability theory from an axiomatic foundation,
along with some more advanced topics.
(Semester 1, 5 ECTS) This module aims to provide an opportunity for students to develop their hands on
skills in data analysis.
(Semester 1, 5 ECTS) Introduction to Forecasting; ARIMA models, data transformations, seasonality, exponential smoothing and Holt Winters algorithms, performance measures. Use of transformations and differences.
(Semester 1, 5 ECTS) Classical multivariate techniques of principal component analysis, clustering, discriminant analysis, k-nearest neighbours, and logistic regression are investigated.
This module will be offered again in the 2021/2022 Academic Year.
Semester 2 Modules
(Semester 2, 5 ECTS) This module continues directly from CSU11021 and examines the structure and behavior of computer systems in greater depth. In particular, this module introduces students to the implementation of simple data structures (stacks, multi dimensional arrays, composite data types), subroutines (including parameter passing conventions), exceptions, interrupts and basic I/O at the machine level.
(Semester 2, 5 ECTS) This module aims to equip students with the skills to design and develop simple
imperative C++ programs.
(Semester 2, 5 ECTS) Mathematics is of interest to computer scientists due to the fact that it is both
practical and theoretical in nature.
(Semester 2, 5 ECTS) This module continues directly from Algorithms and Data Structures I and addresses topics including recursion, divide-and-conquer, graph traversal and dynamic programming.
(Semester 2, 5 ECTS) Regular languages, context free languages, feature structures, a brief into to Probailistic Methods in NLP, topic varying year to year,
examples being the use of Hidden Markov models in speech recognition, or
statistical machine translation, a brief into recursive computation of semantic values from grammatical structures.
(Semester 2, 5 ECTS) The first part of this module introduces students to concurrency and concurrent
programming. The second part looks at aspects of the function and implementation of operating systems.
(Semester 2, 5 ECTS) This module provides a holistic overview of how a typical general purpose computing system functions, followed by a deep-dive into the various key architectural features of such systems.
(Semester 2, 5 ECTS) The goal of this module is to provide students with a deep understanding of parallel and multi-core architectures and to provide students with necessary architecture background for careers in professional software development and/or further research on these emerging platforms.
(Semester 2, 5 ECTS) An introduction to Artificial Intelligence covering basic topics search and knowledge representation, including an introduction to probabilistic reasoning
(Semester 2, 5 ECTS) An introduction to lexical analysis, parsing, code generation and other topics related to compiler design.
Semester 2, 5 ECTS) The course targets the fundamental principles of computer and communication networking. A mix of fundamental concepts and principles, allied to recent and future technologies and advances, help ensure understanding of the many concepts, protocols, and technologies involved in modern networking.
(Semester 2, 5 ECTS) This module aims to inculcate practical skills in team driven software engineering through small and large group programming projects
(Semester 2, 5 ECTS) Information modelling and databases.
(Semester 2, 5 ECTS) An in-depth initiation into some topics in Knowledge Representation and Automata
(Semester 2, 5 ECTS) Explain how high tech venture creation operates, with an emphasis on the processes developed by the Silicon Valley venture community over the past 20 years
(Semester 2, 5 ECTS) It
addresses techniques and technologies for organizing, structuring and storing data,
with a view to applying knowledge engineering approaches
(Semester 2, 5 credits) An introduction to basic statistical concepts. Students will learn how to explain basic statistical theory, apply the techniques to data and describe and interpret the results of their analyses in a detailed fashion. R studio will be used to analyse data.
(Semester 2, 5 ECTS) To introduce students to the elementary ideas of statistical inference and the use of simple statistical methods in practical situations.
(Semester 2, 5 credits) This module will develop several important ideas in statistical analysis making use of some of the ideas introduced in STU22004. It acts as a bridge to the sophister years by introducing the fundamental ideas that are used in the more advanced statistics modules that will take place then.
(Semester 2, 5 ECTS) This module introduces the research process. Starting with the formulation of a
research question, it covers completing a literature review, choosing an appropriate
research design, data collection, data analysis and how to communicate research
(Semester 2, 5 ECTS) The aim of the module is to introduce students to the crucial role that Information Systems play in all aspects of society and the workplace as these domains undergo trans-formative change.
Semester 2 (5 ECTS)