# 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](http://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](https://www.tcd.ie/academicregistry/exams/scholarship/) if they wish. In exceptional circumstances, the examinations can be taken in third year instead.
[Foundation Scholarship Information for JH](https://teaching.scss.tcd.ie/wp-content/uploads/sites/10/2025/10/Foundation-Scholarship-Information-for-JH.pdf)[Download](https://teaching.scss.tcd.ie/wp-content/uploads/sites/10/2025/10/Foundation-Scholarship-Information-for-JH.pdf)
[Joint Honours Computer Science Handbook 2025\_2026](https://teaching.scss.tcd.ie/wp-content/uploads/sites/10/2025/09/Joint-Honours-Computer-Science-Handbook-2025_2026-2.pdf)
[Business School Modules](https://www.tcd.ie/business/programmes/undergraduate/global-business/module-outlines/)
[Economics School Modules](https://www.tcd.ie/economics/programmes/undergraduate/joint-honours-economics-/module-outlines/)
[Geography School Modules](https://www.tcd.ie/courses/undergraduate/modules/geography-jh/)
[Linguistics School Modules](https://www.tcd.ie/courses/undergraduate/modules/linguistics-jh/)
[Quick Links](https://teaching.scss.tcd.ie/general-information/quick-links/)
[ScholPresentationJHCS\_ICS\_CSLL](https://teaching.scss.tcd.ie/wp-content/uploads/sites/10/2025/10/ScholPresentationJHCS_ICS_CSLL-1.pdf)[Download](https://teaching.scss.tcd.ie/wp-content/uploads/sites/10/2025/10/ScholPresentationJHCS_ICS_CSLL-1.pdf)
Follow link for Schol [presentation recording](https://tcdud-my.sharepoint.com/:v:/g/personal/archbolh_tcd_ie/EULthg9vEW5DmiyWKq4fXtwB1sVHAhiZ-oKHBbffcqqBIw?nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJPbmVEcml2ZUZvckJ1c2luZXNzIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXciLCJyZWZlcnJhbFZpZXciOiJNeUZpbGVzTGlua0NvcHkifX0&e=boTQC4) (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.