Skip to main content

Trinity College Dublin, The University of Dublin

Menu Search

Module Descriptor School of Computer Science and Statistics

Module CodeCS1021
Module NameIntroduction to Computing I
Module Short Title
Semester TaughtMT
Contact Hours

Lecture hours: 22, Lab Hours: 11, Tutorial Hours: 10.

Module PersonnelRebekah Clarke
Learning Outcomes

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

  • describe the basic characteristics, structure and operation of a computer system;
  • represent and interpret basic information (integers, text) in binary form;
  • translate between simple high-level programming language constructs and their
  • assembly language equivalents;
  • design, construct, document and test small-scale assembly language programs to
  • solve simple problems;
  • reason about the cost of executing instructions and the efficiency of simple programs;
  • Make use of appropriate documentation and reference material.
Learning Aims

This module provides students with an introduction to the basic structure and operation of a computer system, focussing on the processor (CPU), memory and the execution of software.

Students gain an insight into the execution of programs on a computer system by designing, implementing and executing simple assembly language programs. Students are also introduced to concepts that are fundamental to the study of Computer Science, including the binary numeral system and the representation of basic information such as signed integers and strings (text).

Students are encouraged to consider the relationship between high-level programming language constructs – from simple assignments and arithmetic expressions to conditional (if) and iterative (while) execution – and the realisation of these constructs as sequences of machine instructions.

Students are also given opportunities to develop their problem solving, programming and written communication skills by designing solutions to programming problems, implementing those solutions, first in the form of high-level pseudo-code programs and then as assembly language programs, which must be documented and tested.

Module Content

Specific topics addressed in this module include:

  • number systems, memory and data representation;
  • basic computer architecture (CPU, memory, registers, fetch-decode-execute loop);
  • assembly language and machine code;
  • binary arithmetic and bit-wise operations;
  • program flow control using branch instructions;
  • memory accesses (using load and store instructions).
Recommended Reading List

There is no required text for this module. The following are suggested as complementary reading only:

  • William Hohl, “ARM Assembly Language: Fundamentals and Techniques”, CRC Press, 2009.
  • Steve Furber, “ARM System-on-Chip Architecture”, 2nd edition, Addison-Wesley Professional, 2000.
  • Andrew Sloss, Dominic Symes and Chris Wright, “ARM System Developer's Guide: Designing and Optimizing System Software”, Morgan Kaufmann, 2004.
Module Prerequisites
Assessment Details

Assessment is by written examination (70%) and continuous assessment (30%). Continuous assessment usually consists of two assignments and four smaller lab exercises, although this is subject to change.

Supplemental assessment is by examination only (100%). Students repeating ‘off-books’ (OBA) are also assessed by examination only (100%) in all examination sessions.

Academic Year of Data2017/18