Trinity College Dublin

Skip to main content.

Top Level TCD Links

Site map

Computer Science Programme

Junior Freshman


The following is a brief overview of the modules taken in Junior Freshman year. Prospective students should read the brief descriptions of the courses below the table which follows. Current students should follow the links (to the eLearning environment, "Blackboard", or to the module website) or refer to for full details, including assessment criteria and learning outcomes.

Michaelmas TermHilary Term
CS1003 Mathematics (Description, Blackboard)
CS1010 Introduction to Programming (Description, Blackboard)
CS1021 Introduction to Computing I
(Description, Blackboard)
CS1022 Introduction to Computing II
(Description, Blackboard)
CS1026 Digital Logic Design (Description, Website)
CS1025 Electrotechnology
(Description, Blackboard)
CS1031 Telecommunciations I
(Description, Blackboard)
CS1081 Computers and Society
(Description, Website)
CS1013 Programming Project I
(Description, Blackboard)

CS1003 Mathematics (Module Description)

(10 ECTS credits, Hilary Term & Michaelmas Term)

The module aims to provide students with an introduction to the mathematics, both continuous and discrete, which lies at the foundation of many real-world applications in Computer Science, Engineering and the Social Sciences.

Mathematics is of interest to computer scientists due to the fact that it is both practical and theoretical in nature. Not only does it have a myriad of applications (e.g. in wireless communications and computer graphics), it is also of intrinsic interest to theoretical computer scientists.  The mathematical techniques learned as part of this module have wider applications in areas as diverse as Business (e.g. for modelling volatility and risk), Economics and Engineering (e.g. for structural monitoring).

This module aims to develop the students’ skills and abilities in the mathematical methods necessary for solving practical problems.  In the first semester students will encounter some of the key mathematical structures at the heart of computer science including the representation of data using matrices. They will gain a greater appreciation of the relationships between calculus and the graphs of functions, including the representation of functions using Taylor Series.  During Semester 2 students will be introduced to discrete mathematics and mathematical logic along with their applications to computer science. In particular, the module will introduce set operations, discrete maths functions in Number Theory and Logic calculation. This part of the module is influenced by the approaches of Backhouse, Dijkstra and Gries.

One of the key objectives for this module is to introduce students to the learning styles needed for university level mathematics. Students will be encouraged to develop the independent, reflective learning skills needed for success at University level.  It is expected that students will adapt their learning style to become more independent, self-motivated learners.


CS1010 Introduction to Programming (Module Description)

(5 ECTS credits each, total 10 credits, Michaelmas Term and Hilary Term)

This module provides an introductory course in computer programming. A practical approach is taken to teaching the fundamental concepts of computer programming,with a strong emphasis on tutorial and laboratory work, both of which are very important for developing students analytical and problem solving skills.

The module aims to give students an understanding of how computers can be employed to solve real-world problems. Specifically, students are introduced to the object-oriented approach to program design and learn how to write programs in an object-oriented language (in this case Java).

Students also have the opportunity to reinforce their problem solving and programming skills by developing solutions to programming problems and by implementing those solutions as object-based programs.

CS1013 Programming Project I (Module Description)

(5 ECTS credits, Hilary Term)

This module concentrates on the development of practical programming ability through example-based lecturing coupled with intensive laboratory sessions. The emphasis throughout is on producing working programs, starting with interactive graphical applications and moving on to construction of a larger group project involving a data visualisation task

CS1021 Introduction to Computing I (Module Description)

CS1022 Introduction to Computing II (Module Description) (5 ECTS credits each, total 10 credits, Michaelmas Term and Hilary Term)

These modules provide students with an introduction to the basic structure and behaviour of microprocessor systems. By designing, developing and executing simple assembly language programs, the modules aim to give students an understanding of how programs execute on a microprocessor system. The modules also introduce students to concepts that are fundamental to the study of Computer Science, including binary number systems and the representation of basic information such as integers, floating-point vaues and text.

In the second of this pair of modules, students will be introduced to the implementation of subroutines and simple data structures and will learn about handling exceptions and interrupts and performing basic I/O to interact with external devices.

CS1026 Digital Logic Design (Module Description)

(10 ECTS credits, Hilary Term & Michaelmas Term)

Starting with the theoretical foundations of logic, students learn about combinatorial logic and how it can be used to construct logic functions that are useful in computing systems. They learn that feedback around combinatoriallogic introduces asynchronous sequential behaviour that is the basis for latches and gated latches.

In the second semester, beginning with the study of edge-triggered flip-flops, students learn about synchronous sequential logic and algorithmic state machines. The focus is on laying the groundwork for the hardware courses in the second year. Care is taken that the students realize the subject applies to both computer softwareand hardware. Laboratory experiments reinforce the concepts as well as adding variety and introducing practical elements.

CS1025 Electrotechnology (Module Description)

(5 ECTS credits, Michaelmas Term)

This module examines the structure of matter from an electrical perspective dealing with conductors, dielectrics and semiconductors. Concepts of electrical charge, Electric and Magnetic fields are also examined. With this material concepts of voltage, current, impedance in electrical circuits are explored. Circuit elements such as the resistor, capacitor, inductor, the semiconductor diode and transistors are examined as well as ideal and practical ac and dc supplies. Methods of analyzing electrical circuits consisting of the above components are examined. In the lab sessions students are expected to build electronic circuits and explain their operation.

CS1031 Telecommunications (Module Description)

(5 ECTS credits, Hilary Term)

This module begins with an overview of the concept of information and its significance in today's society. The aim of the module is to then show how such information is transmitted over links and networks. The module gives particular focus to the understanding of time domain, frequency domain and bandwidth of signals. It introduces some basic operations, such as modulation and multiplexing, and will introduce some general concepts of data transmission and transmission media. Coursework will consists on laboratories that will put in practice most of the theory explained during the lectures.

CS1081 Computers and Society(Module Description)

(5 ECTS credits, Michaelmas Term)

In this module, students develop an awareness of, and techniques for studying, the way in which information technology and society interact and influence each other. The module also provides an opportunity to develop crucial communication and team-work skills.

Last updated 6 December 2016 by