computer science img

Integrated Computer Science

Year 3 (Junior Sophister)

Electives

Junior Sophister students will take two Trinity Elective modules in third year (one in each semester).  These electives are intended to broaden your studies and hence are offered by almost all Schools in the University. 

Students will also select four SCSS electives (two in each semester).  Use the

Year 3 Option Form 2023/24 to choose your SCSS elective modules.

Study Abroad in Year 3

Students intending to apply to study abroad in Year 3 can find out more about international (non EU) exchanges and the Erasmus programme on the Study Abroad website. You will need approval from the School of Computer Science and Statistics before applying and instructions for obtaining this approval are o note SCSS Study Abroad website. Note that internal SCSS application deadlines will be earlier than the College deadlines and you should begin making enquiries in the first weeks of Year 2.)

Semester One Core Modules

CSU33012 – Software Engineering

(Semester 1, 5 ECTS) This module provides students with a solid grounding in various aspects related to building large software systems.
This entails (i) recognising the general software life cycle and its stages from domain analysis to maintenance, (ii) analysing software in the problem domain, (iii) identifying the fundamental approaches to managing software projects and teams, (iv) distinguishing the roles of stakeholders in a software project in general and in software teams in particular, (v) to understand how to measure and reflect team performance.

CSU33031 – Computer Networks

(Semester 1, 5 ECTS) The module introduces the basic concepts underlying the communication between nodes connected to the Internet.

Semester One Elective Modules

Choose 2 modules (10 credits) from the list below plus one Trinity Elective Module (5 credits)

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.

CSU34016 – Introduction to Functional Programming

(Semester 1, 5 ECTS) Functional programming languages present a powerful, abstract, and important direction in programming languages. This modules uses the functional programming language called “Haskell” to introduce key concepts such as how to compute using functions, and how these languages can easily support powerful features such as pattern-matching, recursion, strong typing, type polymorphism, higher-order functions, laziness, and type classes.

CSU34021 – Computer Architecture II

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

Semester Two Core Modules

CSU33013 – Software Engineering Project II

(Semester 2, 5 ECTS) This module follows on directly from CSU33012 (Software Engineering) and focuses on the practical application of the various concepts and tools related to building software systems studied in third year software engineering.

CSU33061 – Artificial Intelligence I

(Semester 2, 5 ECTS) An introduction to Artificial Intelligence covering basic topics search and knowledge representation, including an introduction to probabilistic reasoning

Semester Two Elective Modules

Choose 2 modules from the list below (10 credits) plus one Trinity Elective Module (5 credits)

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.