## Trinity College Dublin, The University of Dublin

You are here Orientation > Visiting and Erasmus Students

# School of Computer Science and Statistics

## Full Year Modules

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11026 - Digital Logic Design

10 ECTS Full Year Module S1 & S2 None Coursework; Examination 2 lectures; 1 tutorial; 2 laboratory hours

## Description

Course Description and Learning Outcomes

Switching algebra; Boolean functions; minimisation; arithmetic and other logic; asynchronous sequential logic; latches; gated latches. Flip-flops; synchronous sequential logic; finite state machines; algorithmic state machines; control paths; data paths; counters & sequencers.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11026 - Digital Logic Design

10 ECTS Full Year Module S1 & S2 None Coursework; Examination 2 lectures; 1 tutorial; 2 laboratory hours

## Description

Course Description and Learning Outcomes

Switching algebra; Boolean functions; minimisation; arithmetic and other logic; asynchronous sequential logic; latches; gated latches. Flip-flops; synchronous sequential logic; finite state machines; algorithmic state machines; control paths; data paths; counters & sequencers.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU11004 Introduction to Management Science

10 ECTS Full Year Module S1 & S2 None Coursework; Examination Total Lecture hours: 66

## Description

Course Description and Learning Outcomes

This module covers a range of subjects in management science at an introductory level. The objectives of the module are to give students an overview of the subject, to teach important basic techniques and introduce systematic thinking about problems. The first semester starts with graphical linear programming and moves on to cover applications of probability, decision analysis, and time series forecasting. The second semester introduces the value of money, the theory of queues, and develops ideas in the time value of money, classic network problems, inventory control, and basic transportation & allocation algorithms. The module will combine lectures and demonstrations of mathematical solutions to management science problems.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU22006 - Management Science Methods

10 ECTS Full Year Module S1 & S2 STUi1004 Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

Semester 1 - Formulate and solve Linear and Goal Programming problems using the Simplex Method, Perform Sensitivity Analysis on the output from a Linear and Goal Programming problem, Formulate and solve Transportation, Transhipment and Assignment problems, Formulate a 0 – 1 Linear Programming problem and solve using the Cutting Plane and Branch and Bound Methods, Analyse networks for the Chinese Postman and Travelling Salesman Problems, Other relevant mathematical models.

Semester 2 - Specific topics addressed in this module include: Entities, attributes and variables; Events; Resources; Queues;Steady-state models and transients; Software for simulation; Statistical analysis of output;

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU44003 - Data Analytics

10 ECTS Full Year Module S1 & S2 None Coursework; Examination 4 lectures and 1 lab per week

## Description

Course Description and Learning Outcomes

Overview of the field

Concepts of the Information Theory, Entropy, Mutual Information, Conditional Entropy, and Information Gain

Using CHAID in Classification Tree

Using Gini Index in Classification Tree

Detailed Discussion of Classification and Regression Tree

Overfitting and the corresponding techniques to avoid overfitting (Cross Validation, Bagging, Boosting, Random Forest, …)

Rule Fit Procedure, and Model Evaluation

Handling Unbalance Dataset

Concept of Similarity and Distance

Distance Measures for Various Data Types

Hierarchical Cluster Analysis

Principal Component Analysis

Concepts of Data Missingness and Its Mechanism

Methods of Missing Data Imputation (MDI)

Using package MICE in R for MDI

Introduction of Monte-Carlo Methods and Simulation

Introduction to Bayesian Statistics

Examples of applications of Bayesian Statistics (Gibbs Sampling)

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU45006 - Strategic Information Systems

10 ECTS Full Year Module S1 & S2 Information Systems and Technology or equivalent Coursework 4-6 lectures, 1 laboratory hour

## Description

Course Description and Learning Outcomes

To present students with an overview of the business and social impacts of current developments in information systems (IS) and ICT. To equip students to think critically about these impacts and their implications for business and society today and in the future.

## Semester 1 Modules

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11001 -Mathematics I

5 ECTS Semester 1 None Coursework; Examination 2 lectures; 1 tutorial Dr. Diana Wilson School of Computer Science & Statistics

## Description

Course Description and Learning Outcomes

This module aims to develop the student's skills and abilities in the mathematical methods necessary for solving practical problems. In the first semester students will encounter some of the key mathematical structures at the heart of computer science including the representation of data using matrices. They will gain a greater appreciation of the relationships between calculus and the graphs of functions, including the representation of functions using Taylor Series. During Semester 2 students will be introduced to discrete mathematics and mathematical logic along with their applications to computer science. In particular, the module will introduce set operations, discrete maths functions in Number Theory and Logic calculation. This part of the module is influenced by the approaches of Backhouse, Dijkstra and Gries.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11021 - Introduction to Computing I

5 ECTS Semester 1 None Coursework; Examination 2 lectures; 1 tutorial; 1 laboratory hour

## Description

Course Description and Learning Outcomes

Specific topics addressed in this module include:

Number systems, memory and data representation; Basic computer architecture (CPU, memory, registers, fetch-decode-execute loop); Assembly language and machine code; Binary arithmetic and bit-wise operations; Program flow control using branch instructions; Memory accesses (using load and store instructions).

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11031 - Electronics and Information Technology

5 ECTS Semester 1 None Examination 37 hours total (lectures, tutorials, labs)

## Description

Course Description and Learning Outcomes

Specific topics addressed in this module include:

Part I: Electronics

Part II: Information Technology

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11081 - Computers and Society

5 ECTS Semester 1 None Coursework 3 lectures

## Description

Course Description and Learning Outcomes

IT and its “impact” on society; models for assessing technological “impact”; history of IT; ethics; writing, presenting and argumentation.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22011 - Algorithms & Data Structures

5 ECTS Semester 1 An introductory course on programming; CSU11010 Coursework; Examination 2 lectures; 1 tutorial; 3 laboratory hours

## Description

Course Description and Learning Outcomes

Theory:

Asymptotic growth functions and analysis of source code to derive running time and space requirements;

Amortised running time analysis of algorithms;

Recursion vs iteration.

Algorithms and Data structures:

Array and linked list implementations of stacks and queues;

Union-find;

Binary trees, binary search trees, balanced search trees, B-trees;

Hash tables;

Special topics.

Programming:

Java generics;

Iterators;

JUnit testing.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22014 - Systems Programming I

5 ECTS Semester 1 CSU11010, CSU12002, CSU11021, CSU11022 Module Co-Requisite: CSU22011 Coursework; Examination 2 lectures; 2 laboratory hours

## Description

Course Description and Learning Outcomes

Module content includes: The C programming language, Pointers and dynamic memory allocation/de-allocation, Principles of structured programming, Abstract data types in structured programming, The UNIX operating system, UNIX programming tools, Programming style appreciation and criticism.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22022 - Computer Architecture I

5 ECTS Semester 1 None Coursework; Examination 2 lectures; 2 laboratory hours

## Description

Course Description and Learning Outcomes

The aims of the course are to learn register-transfer specification and design and learn the fundamentals of an instruction processor.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22041 - Information Management I

5 ECTS Semester 1 Programming Language such as Java or C Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

This part of the course focuses on the methods and techniques for efficient management (storage, manipulation and retrieval) of data and information in a computer and on the worldwide web.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22061 - Intermediate Programming

5 ECTS Semester 1 None, though some prior experience of programming a definite advantage, and is something participants from the CSLL degree will have from their first year Java course. Coursework; Examination 2 lectures; 1 tutorial; 1 laboratory hour

## Description

Course Description and Learning Outcomes

C++, parsing, finite state techniques, statistical linguistics. No module descriptor available

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22E03 - Computer Engineering

5 ECTS Semester 1 CSU11E03 Continuous assessment; Examination 3 Lectures; 1 tutorial; 1 lab

## Description

Course Description and Learning Outcomes

Number systems, data representation and basic computer architecture; Migrating from C to C++; C++ classes, constructors, destructors, overloading, inheritance; Dynamic and stack based memory allocation (e.g. malloc, free, new and delete); File I/O; String, list, stack, queue and tree data structures; Algorithm complexity; Simple 2D graphics; Multi-core programming.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33081 -Computational Mathematics

5 ECTS Semester 1 CSU11001 , CSU12002 & MAU2C00 Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

The aim of the module is to teach, in sufficient detail for practical implementation, the mathematical concepts and methods appropriate to writing computer programs for science and engineering applications in general, and in particular: computer graphics, computer vision, image processing, robotics, physical simulation, and control.

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33D01 -Microprocessor Systems 1

5 ECTS Semester 1 None Continuous assessment; Examination 3 Lectures; 1 tutorials; 2 labs

## Description

Course Description and Learning Outcomes

Specific topics addressed in this module include:

Number systems; Memory and data representation; Binary arithmetic and logical operations; Floating-point representations and arithmetic; Basic computer architecture; Assembly language and machine code; Flow control; Memory load/store operations and addressing modes.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33D05 - Data Structures and Algorithms

5 ECTS Semester 1 CSU22E03. Good working knowledge of C and C++. Coursework Lectures/week: 0. Lab/week: 3. Tutorial/week: 1.

## Description

Course Description and Learning Outcomes

1. Undertake software design and construction as members of teams of various sizes.

2. Learn how to choose, learn, and use new languages, tools, and techniques.

3. Gather requirements and develop a problem specification.

4. Examine problem specification and devise an object-oriented solution.

5. Plan implementation of the program taking into account time and team management.

6. Implement a program of reasonable complexity in the Java language.

7. Document the project using standard techniques.

8. Test the solution using standard techniques.

9. Present their work to their peers and their clients.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU34021 - Computer Architecture II

5 ECTS Semester 1 Assembly language and C/C++ programming Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

This course examines modern microprocessor system architectures, with an emphasis on instruction level pipelining, caches, multiprocessor systems and virtual memory.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44001 - Fuzzy Logic and Control Systems

5 ECTS Semester 1 None Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

At the successful completion of the module the student will have the knowledge of:

The inherent imprecision and uncertainty in data and (scientific) concepts.

The existence of fuzzy heuristics used in the control of ‘real-world’ system.

The knowledge will help the students to design and build.

Fuzzy-logic based systems; Fuzzy-control systems.

Neuro-fuzzy learning systems.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44004 - Formal Verification

5 ECTS Semester 1 Maths, Programming. Coursework; Examination Total 33 hours (lectures and tutorials)

## Description

Course Description and Learning Outcomes

Specification languages and logics; axiomatic program semantics, formal proof systems to verify software and system properties such as propositional, predicate and Hoare logic, proofs by mathematical, structural, and rule induction. correctness proofs of functional and imperative programs.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44012 - Topics in Functional Programming

5 ECTS Semester 1 CSU34016 Functional Programming. A reasonable grounding in the programming language Haskell (experience with similar languages such as ML) is required. Coursework; Examination Lecture hours: 22 Lab hours: 0 Tutorial hours: 11 Total hours: 33

## Description

Course Description and Learning Outcomes

This course builds on CS3012 which introduced the fundamental concepts of functional programming. In CS4012 we will take an in-depth look at more advanced topics in functional programming and discuss some current research directions in the field.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44051 - Human Factors

5 ECTS Semester 1 None Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

The purpose of the module is to give students an understanding of usability problems in interactive system design, the reasons (cognitive and otherwise) underlying these problems and the methods which have been developed to address these issues within systems development.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44052 - Computer Graphics

5 ECTS Semester 1 C or C++ programming, freshman mathematics. Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

Computer Graphics is an introductory level course covering aspects of: graphics hardware; modeling and object representation; 2D/3D systems and transformations; rendering (visibility, lighting, shading, shadows, texturing, ray tracing); animation (traditional keyframed, motion capture, physically based); and selected hot research topics in the field.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44053 - Computer Vision

5 ECTS Semester 1 A working knowledge of C+/p> Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

Image preprocessing (such as image enhancement), segmentation of images (e.g. identifying people in a video sequence), representation of shape (so that we can start reasoning about the objects in an image), object recognition (as we'd like to know what we are looking at), 3D vision (i.e. understanding the world in 3 dimensions even though we only have 2 dimensional images), and more. There are just too many techniques to do them all so instead we focus on particular problems and look at the techniques which would be needed to solve those problems.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44D01 - Information Management for Engineering

5 ECTS Semester 1 None Online exam 22 lecture hours, 11 hours tutorial + independent study

## Description

Course Description and Learning Outcomes

On successful completion of this module, students will be able to:

Design and Evaluate information Models (using Entity relationship Modelling Techniques) for representation and storage in a Relational Database;

Perform Data Normalization in Relational DBMSs and analyze data dependencies;

Apply and program in SQL to create, query and manage Relational Databases;

Analyze transaction properties and transaction scheduling techniques (lock based and timestamp based);

Identify and Assess different forms of database and data management systems (e.g. NoSQL etc.);

Comprehend and Identify implications of General Data Protection Regulations (GDPR) as they apply to database information;

Identify and Apply different privacy and security policies within relational database.

Please be aware that this module cannot be taken with CSU34041 - Information Management II as they both contain similar content.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44081 - Technology Entrepreneurship

5 ECTS Semester 2 None Class participation; Individual & Team assignment Total hours: 36

## Description

Course Description and Learning Outcomes

On successful completion of this module, students will be able to:

(1)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;

(2)Understand and give examples of some of the basic skills needed to recognise and nurture commercial opportunities, marshall the human and financial resources needed to promote their ideas and execute a well formulated business plan;

(3)Describe how high-tech industry in general and ICT in particular has evolved and continues to evolve.

(4)Describe how a strong ethical culture can be fostered in an entrepreneurial venture, including the importance of leading by example and having a code of conduct.

(5)Give oral presentations and engage in in-class discussion.

(6)Describe a product or service to a non-technical audience

(7)Develop a simple business plan for a new venture
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44062 - Advanced Computational Linguistics

5 ECTS Semester 1 No pre-requisite: to implement and experiment with tools will need to be able to program in C+/p> Coursework; Examination Total: Lecture hours: 22 Lab hours: 6 Tutorial hours: 5

## Description

Course Description and Learning Outcomes

The aim is to give a grounding in so-called unsupervised machine learning techniques which are vital to many language-processing technologies including Machine Translation, Speech Recognition and Topic Modelling. Whilst studied in these contexts, the techniques themselves are used much more widely in data mining and machine vision for example.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU12501 - Introduction to Statistics I

5 ECTS Semester 1 None Coursework; Examination 3 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

To introduce students to the elementary ideas of probability and the use of simple probability models.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU22004 - Applied Probability 1

5 ECTS Semester 1 Elementary mathematics including integration. Coursework; Examination Total Lecture hours: 27 Total Lab hours: 6 Total hours: 33

## Description

Course Description and Learning Outcomes

In this course, we take a problem-based approach that replaces mathematics with the use of random numbers in a spreadsheet, by following what is known as the Monte Carlo method. Students will rapidly acquire the facility to model complex random (or stochastic) systems. They will subsequently learn the language of probability which can sometimes by-pass the algorithms, or render them more efficient.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU23501 - Probability and Theoretical Statistics I

5 ECTS Semester 1 STU12501, STU12502 Examination 2 lectures; 1 laboratory hour

## Description

Course Description and Learning Outcomes

This module will describe the fundamentals of probability theory, from the basic axioms of probability to the most commonly used aspects and theorems of the theory.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU33010 - Forecasting

5 ECTS Semester 1 Basic Statistics and Mathematics Examination; Continuous assessment 2 lectures; 1 laboratory hour

## Description

Course Description and Learning Outcomes

Applied Forecasting (AF) module runs for 12 weeks. Several methods of forecasting will be examined, including exponential smoothing and its Holt-Winters extension, auto-regression, moving average, and further regression based methods that take into account seasonal trends of lagged variables. The module will be practical, and will involve every student in extensive analysis of case study material for a variety of time series data.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU33011 - MLA Multivariate Linear Analysis

5 ECTS Semester 1 None Examination; Continuous assessment 2 lectures; 1 laboratory hour

## Description

Course Description and Learning Outcomes

Classical multivariate techniques of discriminant analysis, principal component analysis, clustering and logistic regression are examined. There is a strong emphasis on the use and interpretation of these techniques. More modern techniques, some of which address the same issues, are covered in the SS module Data Mining.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU34503 - Stochastic Models in Space and Time I

5 ECTS Semester 1 STU23501 Examination; Coursework Total: 36 hours

## Description

Course Description and Learning Outcomes

Students will have ability to discuss and model simple versions of the following processes in time:

Everyday examples of stochastic processes

Understand and apply the Markov property

Describe long run properties of Markov processes Deal with simple Markov processes in discrete time, continuous time and space
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU34505 Modern Statistical Method I

5 ECTS Semester 1 STU23501 Examination Total 33 Lab hours

## Description

Course Description and Learning Outcomes

This module will describe several topics of a more advanced nature in probability modelling and statistics.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU33002 - Statistical Analysis 3

5 ECTS Semester 1 Engineering Mathematics III, Applied Statistics and Applied Probability. Coursework; Examination 2 lectures; 1 laboratory hour

## Description

Course Description and Learning Outcomes

Binomial, Poisson, Multinomial distributions, Model based methods, Graphical techniques.

## Semester 2 Modules

Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11012 - Introduction to Programming II

5 ECTS Semester 2 None Coursework; Examination 2 lectures; 1 tutorial; 4 laboratory hours

## Description

Course Description and Learning Outcomes

This module provides an introductory course in computer programming. The modules take a practical approach to teaching the fundamental concepts of computer programming with a strong emphasis on tutorial and laboratory work and are an important vehicle for developing student’s analytical and problem-solving skills. The modules aim to give students an understanding of how computers can be employed to solve real-world problems. Specifically, the modules introduce students to the object-oriented approach to program design and teach them how to write programs in an object-oriented language (in this case Java).
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11022 - Introduction to Computing II

5 ECTS Semester 2 CSU11021 Coursework; Examination 2 lectures; 1 tutorial; 2 laboratory hours

## Description

Course Description and Learning Outcomes

This module continues directly from CS1021 (which is a prerequisite) and examines the structure and behaviour 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, exceptions, interrupts and basic I/O at the machine level.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU11E03 - Computer Engineering I

5 ECTS Semester 2 None Continuous assessment; Examination 3 lectures; 2 labs

## Description

Course Description and Learning Outcomes

This module aims to equip students with the skills to design and develop simple imperative programs. It provides a solid grounding in algorithm design and programming techniques, in preparation for later courses that require programming.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU12002 - Mathematics II

5 ECTS Semester 2 CSU11001 Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

This module aims to develop the students’ skills and abilities in the mathematical methods necessary for solving practical problems. In the first semester students will encounter some of the key mathematical structures at the heart of computer science including the representation of data using matrices. They will gain a greater appreciation of the relationships between calculus and the graphs of functions, including the representation of functions using Taylor Series. During Semester 2 students will be introduced to discrete mathematics and mathematical logic along with their applications to computer science. In particular, the module will introduce set operations, discrete maths functions in Number Theory and Logic calculation. This part of the module is influenced by the approaches of Backhouse, Dijkstra and Gries
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22012 - Algortihms & Data Structures II

5 ECTS Semester 2 CSU22011: Algorithms and Data Structures I Individual coursework assignments & e-tests. 3 hours of lectures, 1 hour of laboratories per week.

## Description

Course Description and Learning Outcomes

• Recursion vs iteration

• Greedy algorithms

• Divide and conquer

• Graph algorithms

• Searching and Sorting algorithms

• Dynamic Programming algorithms
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU22062 - Natural Processing Language

5 ECTS Semester 2 None Coursework; Examination Lectures:22 hours Laboratory : 11 hours (total)

## Description

Course Description and Learning Outcomes

1. Regular languages i. notion of finite state automaton and transducer and areas of application ii. properties and limitations of finite state methods – centreembedding iii. C++ implementation of finite state automata

2. Context Free languages i. illustration of applications to natural language and potential limitations – crossed dependencies ii. bottom-up and top-down stack-based parsers, including backtracking. chart-based parsers. Properties of these parsers and their implementation in C++ iii. long-distance dependencies and slash-grammars

3. Feature structures i. untyped and typed features structures with their associated unification algorithms and areas of possible application in language description ii. C++ implementation via the LilFes library

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

5. Brief into recursive computation of semantic values from grammatical structures
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU23016 - Concurrent Systems and Operating Systems

5 ECTS Semester 2 CSU22014. The programming exercises all use the C programming language so some familiarity and experience with C is required. Coursework; Examination 3 lectures; 1 laboratory hour

## Description

Course Description and Learning Outcomes

The first part of this module introduces students to concurrency and concurrent programming. The aim is to provide students with the ability to develop concurrent software systems using standard techniques and constructs. The second part of the module addresses various aspects of the design of modern operating systems.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU23021 -Microprocessor Systems

5 ECTS Semester 2 CSU11021/22 (Introduction to Computing I & II Coursework; Examination 3 lectures; 1 tutorial; 3 laboratory hours

## Description

Course Description and Learning Outcomes

This module provides an introduction to the MC68008 microprocessor including clock and reset circuitry design, memory-map design, serial I/O design, system exceptions and interrupts as well as system monitor design and implementation. An introduction to hardware description languages, reconfigurable hardware systems and schematic design is also provided through the use of industry standard design tools.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33014 - Concurrent Systems I

5 ECTS Semester 2 CSU22014. A good knowledge of C programming Module Co-requisite: CSU34021 Coursework; Examination 3 lectures per week

## Description

Course Description and Learning Outcomes

The architecture and programming of modern parallel computing systems. The particular emphasis of this part of the course is architecture, and different ways to achieve speedup of programs using parallelism.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33032 - Advanced computer Networks

5 ECTS Semester 2 CSU33031 – Computer Networks Written Exam, 100% 3 lectures per week

## Description

Course Description and Learning Outcomes

This module introduces students to advanced topics in the areas of data communications, number theory 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. A number of Application Layer protocols such as HTTP, DNS, AJAX and Websockets are studied to understand how Web Applications are designed today.

The students are also provided with an in-depth knowledge of number theory and cryptography which gives them an appreciation of how to secure data communication messages over an open network such as the Internet. This part of the course is quite mathematical in content.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33061 - Artificial Intelligence I

5 ECTS Semester 2 CSU34011 Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

An introduction to AI.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33071 - Compiler Design I

5 ECTS Semester 2 A basic understanding of machine architectures along with a thorough knowledge of programming in both assembly language and in high level programming languages such as C, C#, C++ or JAVA. Coursework; Examination 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

An introductory course based on attributed translation grammars. The main topics covered include finite state automata and lexical analysis, syntax and semantic analysis, recursive descent parsing, symbol-table management and simple object code generation techniques.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33D03 - Computer Networks

5 ECTS Semester 2 None Continuous assessment; Examination 3 Lectures; 4 labs

## Description

Course Description and Learning Outcomes

This module introduces students to computer networks and concentrates on building a firm foundation for understanding Data Communications and Computer Networks. It is based around the OSI Reference Model, which deals with the major issues in the bottom four (Physical, Data Link, Network and Transport) layers of the model. Students are also introduced to the areas of Network Security and Mobile Communications. This module provides the student with fundamental knowledge of the various aspects of computer networking and enables students to appreciate recent developments in the area.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU33D06 - Software Design Analysis

5 ECTS Semester 2 None Coursework Lectures/week: 0; Lab/week: 3; Tutorial/week: 1

## Description

Course Description and Learning Outcomes

1. Undertake software design and construction as members of teams of various sizes.

2. Learn how to choose, learn, and use new languages, tools, and techniques.

3. Gather requirements and develop a problem specification.

4. Examine problem specification and devise an object-oriented solution.

5. Plan implementation of the program taking into account time and team management.

6. Implement a program of reasonable complexity in the Java language.

7. Document the project using standard techniques.

8. Test the solution using standard techniques.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU34041 - Information Management II

5 ECTS Semester 2 None Coursework; Examination 3 lectures

## Description

Course Description and Learning Outcomes

The course will enable students design information models and implement these models in object/relational databases as well as in less structured content environments (e.g. on the Web, in content repositories). The course will also enable student analyse and evaluate approaches to information organisation, storage, transaction support and management.

Please be aware that this module cannot be taken with CSU44D01 Information Management for Engineering as they both contain similar content.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44060 - Knowledge Representation and Automata

5 ECTS Semester 2 Programming experience Examination; Coursework Total 43 hours (22 lecture, 10 lab, 11 tutorial)

## Description

Course Description and Learning Outcomes

Knowledge Representation, Description Logics,Finite-state methods, Reasoning about change.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44081 - Technology Entrepreneurship

5 ECTS Semester 2 None Class participation; Individual & Team assignment Total hours: 36

## Description

Course Description and Learning Outcomes

On successful completion of this module, students will be able to:

(1)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;

(2)Understand and give examples of some of the basic skills needed to recognise and nurture commercial opportunities, marshall the human and financial resources needed to promote their ideas and execute a well formulated business plan;

(3)Describe how high-tech industry in general and ICT in particular has evolved and continues to evolve.

(4)Describe how a strong ethical culture can be fostered in an entrepreneurial venture, including the importance of leading by example and having a code of conduct.

(5)Give oral presentations and engage in in-class discussion.

(6)Describe a product or service to a non-technical audience

(7)Develop a simple business plan for a new venture
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## CSU44D02 - Knowledge Engineering

5 ECTS Semester 2 None Examination 2 Lectures; 1 Tutorial

## Description

Course Description and Learning Outcomes

On completion of this module the student will be able to: 1. Design and engineer a Database Management System (DBMS) with consideration given to hardware, information organization, hashing and indexing. 2. Understand the structure of, and apply advanced manipulation techniques to, XML documents. 3. Develop skills in managing knowledge using Ontological and Semantic Web technologies. 4. Design and develop Ontologies 5. Understand and Compare different Information Retrieval techniques, specifically those used on the web.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU11002 - Statistical Analysis 1

5 ECTS Semester 2 None Examination; Continuous assessment 2 lectures; 3 laboratory hours

## Description

Course Description and Learning Outcomes

The aim of the course is to introduce the students to basic statistical concepts. There will be considerable emphasis on the use of a statistical package to analyse data.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU12502 - Introduction to Statistics II

5 ECTS Semester 2 STU12501. Knowledge of elementary probability,especially the normal distribution, expectation and variance. Examination; Coursework 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

To introduce students to the elementary ideas of statistical inference and the use of simple statistical methods in practical situations.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU22005 - Applied Probability 2

5 ECTS Semester 2 STU11002, STU22004 Examination; Continuous assessment 2 lectures; 1 tutorial

## Description

Course Description and Learning Outcomes

This module will develop several important ideas in statistical analysis making use of some of the ideas introduced in ST2004. 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.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU33004 - Research Methods

5 ECTS Semester 2 None Continuous assessment 3 lectures

## Description

Course Description and Learning Outcomes

Upon completing this course, students should have an understanding of the nature of the research process, drawing upon primary and secondary data sources; be able to locate, analyse and interpret quantitative and qualitative data; and to present the findings.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU33005 - Information Systems

5 ECTS Semester 2 A basic understanding of XML and SQL and of Java programming. Coursework 3 lectures

## Description

Course Description and Learning Outcomes

Students learn to apply techniques and technologies in support of electronic business and electronic commerce across a range of market sectors and functional areas. Business drivers and alternative models are explored from a management perspective. The business cycle and related issues such as marketing, security, ethical and legal considerations and payment processing options are explored in local, national and international contexts.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU34504 - Stochastic Models in Space and Time II

5 ECTS Semester 2 Solid knowledge in mathematics and statistics required e.g. on Linear algebra, Integration and differentiation, expectation operator Examination Total Lecture hours: 33

## Description

Course Description and Learning Outcomes

When students have successfully completed this module they should be able to: Define, describe and apply the different methods introduced in the course Program and analyse a dataset with these methods. Interpret the outputs of the data analysis performed by a computer statistics package.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU34506 - Modern Statistical Methods II

5 ECTS Semester 2 Familiarity with basic concepts in probability and statistics. Examination Total Lecture hours: 33

## Description

Course Description and Learning Outcomes

Students will have ability: to devise suitable simulation methods for generating random numbers from a given probability distribution to use the sampled random numbers in order to estimate quantities of interest or evaluate integrals to assess the quality of the generated sample via diagnostic tools.
Module Code & Name ECTs credits Semester Prerequisite Subjects Assessment Contact Hours Contact Details

## STU2201A - Software Applications II

5 ECTS Semester 2 STU11001 – Software Applications I Continuous assessment Computer Laboratory based module

## Description

Course Description and Learning Outcomes

On successful completion of this module, students will be able to:

LO1. Develop software solutions with the following tools:

Microsoft Excel

Microsoft Access

Visual Basic for Applications

LO2. Work independently and as part of a team to develop software solutions

LO3. Work with written and oral descriptions of software application problems and apply suitable tools to build solutions

LO4. Source relevant reference material to help in solving software issues

LO5. Participate effectively in group discussions on technical issues and problems

LO6. Produce, test and implement suitable software solutions

## Additional Guidelines on Selecting Modules for Visiting Students

Note: The School reserves the right to remove or add modules as required. Visiting students cannot participate on part (one semester/term) of a full year module. All students must complete the full module in order to receive the ECTS.

*The modules below should not be taken together either in the same semester or across 2 semesters as they are similar in content.

• Ms. Diana Wilson, Visiting Student Academic Coordinator (SCSS), diana.wilson@.tcd.ie
• Ms. Eimear Morhan, Global Officer, (SCSS), EMORHAN@tcd.ie

Module Code & Name Duration and semester

Semester 2

## Description

This module aims to equip students with the skills to design and develop simple imperative programs.
Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

Microprocessor Systems 1 is a one-semester module taken by third year Electronic, Electronic/Computer and Computer Engineering students.
Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

To study well-established computing theory, with special consideration for sorting and searching problems.
Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

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.
Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

An introduction to the basic structure and operation of a computer system, focussing on the processor (CPU), memory and the execution of programs.
Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

This is a rigorous development of probability theory from an axiomatic foundation, along with some more advanced topics.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

An introduction to the basic structure and operation of a computer system, focussing on the processor (CPU), memory and the execution of programs.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 1

## Description

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.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Semester 2

Module Code & Name Duration and semester

Semester 2

## Description

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.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 2

## Description

To study well-established computing theory, with special consideration for sorting and searching problems.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 2

## Description

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.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 2

## Description

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. There will be considerable emphasis on the use of R studio to analyse data.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 2

## Description

To introduce students to the elementary ideas of statistical inference and the use of simple statistical methods in practical situations.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Semester 2

Module Code & Name Duration and semester

Semester 2

## Description

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. There will be considerable emphasis on the use of R studio to analyse data.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Module Code & Name Duration and semester

Semester 2

## Description

To introduce students to the elementary ideas of statistical inference and the use of simple statistical methods in practical situations.

Additional Guidelines on Selecting Modules for Visiting Students Teaching SCSS

Note: The School reserves the right to remove or add modules as required. Visiting students cannot participate on part (one semester/term) of a full year module. All students must complete the full module in order to receive the ECTS.
*The modules above should not be taken together either in the same semester or across 2 semesters as they are similar in content.