computer science img

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.

In light of Covid-19, College is currently reviewing arrangements for Foundation Scholarship examinations. Further details will be provided here.

Computer Science Modules – all students

All students take the following 20 credits of Computer Science modules in their Senior Freshman year.

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.

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.

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.

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:

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.