The University of Sheffield
Department of Computer Science

COM1006 Devices and Networks

Summary This module runs throughout the academic year, starting in Autumn and ending in Spring. The module consists of two parts. In the first, important elements of computer architecture are covered including digital logic, computer arithmetic and instruction set architecture. The approach in the module is to show how the basic elements of a computer are constructed and combined to give sophisticated architectures that support accelerated performance via cache memory and pipelining. The second half of the module shows how computing devices can be connected into networks, and covers the principles of layered protocols, error detection/correction and reliable transmission over networks.
Session Academic Year 2017/18
Credits 20
Assessment 15% coursework and 85% exam, split as follows:
  • 15% multiple-choice quizzes set by Dirk Sudholt in the Autumn Semester
  • 85% Spring Semester examination set by both lecturers covering material from the whole course.
Lecturer(s) Dr Dirk Sudholt & Dr Joab Winkler
Aims The aim of this module is to give a fundamental knowledge and understanding of the basic computer structures that underlie computer architectures and to demonstrate how computer systems can be combined effectively into networks.
Objectives By the end of this module students should:
  • know how to design functional units using combinatorial and sequential logic;
  • understand the computer representation of integer and floating-point numbers;
  • understand and be able to describe the components of a computer system, and the interfaces between them;
  • understand the structure of a typical computer instruction set, and be able to explain the function of instructions using RTL notation;
  • understand and be able to write simple programs in assembly language;
  • understand how system performance can be accelerated by use of pipelining and cache memory.
Content Autumn Semester (Dr Dirk Sudholt)
  • Gates and circuits
  • Boolean algebra
  • Implementing logic
  • Sequential circuits
  • Computer arithmetic: binary numbers
  • Computer arithmetic: floating point
  • Instruction set architecture
  • The structure of the CPU
  • Assembly language programming
  • Accelerating performance
  • Computer memory
Spring Semester (Dr Joab Winkler)
  • Overview of connected and connectionless networks
  • Routing algorithms
  • Overview of layered protocols
  • Error detection and correction
  • Algorithms for reliable transmission
Teaching Method Lectures, problem classes and laboratory work.
Feedback Students will receive feedback on their solutions to laboratory exercise sheets and problem sheets. Solutions to the online quizzes are delivered through the MOLE system with additional feedback, and can also be discussed with laboratory demonstrators.
Recommended Reading
  • A. Clements (2006) Principles of computer hardware. Oxford University Press
  • M. Mano (1992) Computer system architecture (third edition). Prentice Hall