Metadata
Title
Joint Honours Computer Science
Category
general
UUID
c88f52f6c3a04e9b923b1af6db03c363
Source URL
https://teaching.scss.tcd.ie/joint-honors-computer-science/jhcs-year-3/
Parent URL
https://teaching.scss.tcd.ie/module/stu22005-applied-probability-ii/
Crawl Time
2026-03-16T07:04:14+00:00
Rendered Raw Markdown

Joint Honours Computer Science

Source: https://teaching.scss.tcd.ie/joint-honors-computer-science/jhcs-year-3/ Parent: https://teaching.scss.tcd.ie/module/stu22005-applied-probability-ii/

Year 3 (Junior Sophister)

The following is a brief overview of the modules potentially available in the Junior Sophister year. Prospective students can read the brief descriptions of the modules which appear below by clicking on the module titles.

Current students should follow the links to the eLearning environment, (Blackboard), or to the module website or refer to my.tcd.ie for full details, including assessment criteria and learning outcomes.

Joint Honours Computer Science Handbook 2025_2026

Business School Modules

Economics School Modules

Geography School Modules

Linguistics School Modules

Quick Links

Computer Science Modules – all students

All students take the following 20 credits of Computer Science modules in their Junior Sophister year.

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

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

(Semester 2, 5 ECTS) Information modelling and databases.

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

Computer Science Modules – electives

Students who have selected the Joint Honours pathway select 10 ECTSof electives from those listed below. Students who have selected to major in computer science and to complete their other subject in their JS year select 10 ECTSof electives from those listed below. Those majoring in CS and continuing their other subject into SS year select 20 ECTSof electives from those listed below.

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

(Semester 1, 5 ECTS) Basic introduction to Prolog including recursion, definite clause grammars, cuts and negation.

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

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

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