Visiting Students

computer science img

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 – Timetables > Module Timetables.

Before selecting your modules please read these additional guidelines on choosing your modules here. 

If you have any questions about modules at the School of Computer Science and Statistics please contact:

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

CSU11026 – Digital Logic Design

(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.

STU22006 – Management Science Methods

(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.

STU44003 – Data Analytics

(Semester 1 & 2, 10 ECTS) The aim of the course is to introduce the students to a set of techniques including classification and regression trees, and ensemble methods.

Semester 1 Modules

CSU11001 – Mathematics I

(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.

CSU11021 – Introduction to Computing I

(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.

CSU11081 – Computers and Society

(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.

CSU22011 – Algorithms and Data Structures I

(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.

CSU22014 – Systems Programming I

(Semester 1, 5 ECTS) Students taking this module have already successfully completed courses in object oriented Java programming and ARM assembly language programming.

CSU22041 – Information Management I

(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

CSU22061 – Intermediate Programming

(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.

CSU22E03 – Computer Engineering

(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.

CSU33081 – Computational Mathematics

(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.

CSU33D01 – Microprocessor Systems

(Semester 1, 5 ECTS) Microprocessor Systems 1 is a one-semester module taken by third year Electronic, Electronic/Computer and Computer Engineering students.

CSU34021 – Computer Architecture II

(Semester 1, 5 ECTS) Advanced topics in Computer Architecture including virtual memory, cache organisation, pipelining, multiprocessor architectures and cache coherency.

CSU44001 – Fuzzy Logic and Control Systems

(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.

CSU44004 – Formal Verification

(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.

CSU44051 – Human Factors

(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.

CSU44052 – Computer Graphics

(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.

CSU44053 – Computer Vision

(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

CSU44062 – 4CSLL5 Advanced Computational Linguistics

(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

STU22004 – Applied Probability I

(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.

STU33010 – Forecasting

(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.

STU33011 – Multivariate Linear Analysis

(Semester 1, 5 ECTS) Classical multivariate techniques of principal component analysis, clustering, discriminant analysis, k-nearest neighbours, and logistic regression are investigated.

Semester 2 Modules

CSU11012 Introduction to Programming II

Module CodeCSU11012Module NameIntroduction to Programming I IECTS Weighting[1]5 ECTSSemester taughtSemester 2Module Coordinator/s  Dr Hitesh Tewari Module Learning Outcomes On successful completion of this module, students will be able to: LO1…

CSU11022 – Introduction to Computing II

(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.

CSU12002 – Mathematics II

(Semester 2, 5 ECTS) Mathematics is of interest to computer scientists due to the fact that it is both
practical and theoretical in nature.

CSU22062 – Natural Language Processing

(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.

CSU23021 – Microprocessor 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.

CSU33014 – Concurrent Systems I

(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.

CSU33032 – Advanced Computer Networks

(Semester 2, 5 ECTS) This module introduces students to advanced topics in the areas of data communications and cryptography. A detail study is made of the TCP protocol in terms of multiplexing, flow and congestion control to understand the effects congestion in a large distributed network such as the Internet.

CSU33071 – Compiler Design I

(Semester 2, 5 ECTS) An introduction to lexical analysis, parsing, code generation and other topics related to compiler design.

CSU33D03 – Computer Networks

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.

CSU33D06 – Software Design Analysis

(Semester 2, 5 ECTS) This module aims to inculcate practical skills in team driven software engineering through small and large group programming projects

CSU44098 – Group Design Project

(Semester 2, 10 ECTS) Instruction will be provided in Agile development methodologies and facilities will be provided in order to promote close collaboration between team members.

CSU44D02 – Knowledge Engineering

(Semester 2, 5 ECTS) It
addresses techniques and technologies for organizing, structuring and storing data,
with a view to applying knowledge engineering approaches

STU11002 – Statistical Analysis I

(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.

STU22005 – Applied Probability II

(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.

STU33004 – Research Methods

(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

STU33005 – Information Systems

(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.