Joint Honours Computer Science
Source: https://teaching.scss.tcd.ie/joint-honors-computer-science/jhcs-year-2/ Parent: https://teaching.scss.tcd.ie/module/stu22005-applied-probability-ii/
Year 2 (Senior Freshman)
The following is a brief overview of the modules taken in Senior Fresh year.
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.
Foundation Scholarship Examinations
Students their second year are eligible to take the College Foundation Scholarship examinations if they wish. In exceptional circumstances, the examinations can be taken in third year instead.
Foundation Scholarship Information for JHDownload
Joint Honours Computer Science Handbook 2025_2026
ScholPresentationJHCS_ICS_CSLLDownload
Follow link for Schol presentation recording (Oct 2025).
Computer Science Modules – all students
All students take the following 20 credits of Computer Science modules in their Senior Freshman year.
(Semester 2, 5 ECTS) This module introduces students to the discipline of software engineering and\ requires them to work in groups to complete a complex software project.
(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 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) 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\ management.
Computer Science Modules – 40 credits
Students taking 40 credits of Computer Science in Year 2 take the following core modules, in addition to the modules listed above for all students:
(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 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.
Students taking 40 credits of Computer Science in Year 2 also choose 10 credits from the following modules, in addition to the modules listed above:
(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) 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 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) Students taking this module have already successfully completed courses in object oriented Java programming and ARM assembly language programming.