Skip to main content

Trinity College Dublin, The University of Dublin

Menu Search

Module Descriptor School of Computer Science and Statistics

Module CodeCS1010
Module NameIntroduction to Programming
Module Short TitleN/a
Semester TaughtBoth semesters
Contact HoursLecture hours: 44
Lab hours: 22
Tutorial hours: 22
Total hours: 88
Module PersonnelDr Kenneth Dawson-Howe & Dr Arthur Hughes
Learning Outcomes

When students have successfully completed this module they should be able to:

  • Solve introductory programming problems in Java.
  • Break problems into sub-problems, which can then be solved using simple algorithms.
  • Design algorithms using sequence, selection, iteration and recursion.
  • Design simple classes using primitive data types, Strings and arrays.
  • Build object-based programs using class-based decomposition.
  • Write, compile, test, and debug object-based programs using an Interactive
  • Development Environment (IDE).
  • Recognise the software engineering concerns that give rise to the use of classes and other abstraction mechanisms.
Learning Aims

This module provides an introductory course in computer programming. This course takes a practical approach to teaching the fundamental concepts of computer programming with a strong emphasis on tutorial and laboratory work and is an important vehicle for developing students’ analytical and problem-solving skills.
This module aims to give students an understanding of how computers can be employed to solve real-world (albeit small) problems. Specifically, this course introduces students to the object-oriented approach to program design and teaches them 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 implementing those solutions as object-based programs.

Module Content

Specific topics addressed in this module include:

  • Types and variables including integer, floating-point and string types.
  • Sequencing, assignment and expressions.
  • Boolean expressions.
  • Selection statements: if, if-else, nested if, and switch-case.
  • Iteration statements: while, for, do-while, and nested loops.
  • Using, creating and designing methods and recursive methods.
  • Design of simple algorithms using sequencing, selection, iteration and methods.
  • Arrays including higher dimensional arrays.
  • Using, creating and designing classes and objects including attributes and methods.
  • Abstraction, encapsulation and immutability in designing classes.
Recommended Reading List

Java How to Program (late objects), Tenth Edition, Paul Deitel and Harvey Deitel, Prentice Hall, 2015. 
Introduction to Programming in Java: An Interdisciplinary Approach, Robert Sedgewick and Kevin Wayne, Addison Wesly, 2008.
Algorithmics The Spirit of Computing,Third Edition, David Harel with Yishai Feldman, Addison Wesly, 2004.
Schaum's Outline of Theory and Problems of Programming with Java, Second Edition, John R. Hubbard, McGraw-Hill Companies, 2004.
Please check the Blackboard CS1010 Module website for details of other texts and online resources.

Module PrerequisitesNone
Assessment Details

To pass the annual examination in CS1010, candidates must achieve a mark of at least 40% overall. The overall mark is a weighted average of the marks for the eTests (80%) and the coursework mark (20%).
There are typically 4 eTests held during the academic year. The coursework in this course consists of a number of programming assignments (roughly 11 during the first semester and roughly 4 during the second semester), along with some marks given for laboratory and tutorial sessions during the second semester.
To pass the supplemental examination in CS1010, candidates must achieve a mark of at least 40% in the supplemental eTest.

Module Website
Academic Year of DataN/a