Joint Honours Computer Science
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.
Follow link for Schol presentation recording (Oct 2022).
Computer Science Modules – all students
All students take the following 20 credits of Computer Science modules in their Senior Freshman year.
CSU22013 – Software Engineering Project I
(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.
CSU12002 – Mathematics II
(Semester 2, 5 ECTS) Mathematics is of interest to computer scientists due to the fact that it is both
practical and theoretical in nature.
CSU22011 – Algorithms and Data Structures I
(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.
CSU22041 – Information Management I
(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:
CSU22012 – Algorithms and Data Structures II
(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.
STU22004 – Applied Probability I
(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:
CSU23016 – Concurrent Systems and Operating Systems
(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.
CSU22062 – Natural Language Processing
(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.
CSU22061 – Intermediate Programming
(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.
CSU22014 – Systems Programming I
(Semester 1, 5 ECTS) Students taking this module have already successfully completed courses in object oriented Java programming and ARM assembly language programming.