THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2020/2021

Information in the Degree Programme Tables may still be subject to change in response to Covid-19

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Informatics 2C - Introduction to Computer Systems (INFR08027)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 8 (Year 2 Undergraduate) AvailabilityAvailable to all students
SCQF Credits20 ECTS Credits10
SummaryThis course is concerned with the design, implementation and engineering of digital computer systems. It offers an introduction to the internal structure of digital computers.

Course description The primary aim of the course is to convey an understanding of the internal structure and implementation of digital computers. To impart this knowledge, we first explain how the interface between hardware and software is typically constructed. This interface consists of several key components:

* The binary representation and manipulation of atomic data.
* The structure of a typical instruction set.
* The environment in which a program executes, and the notion of processes and virtual memory.

In addition to explaining the interface between hardware and software, this course introduces the ideas behind the hardware implementation of a processor. This consists of several further components:

* Combinational logic - how simple stateless building blocks such as adders, multiplexers and decoders can be constructed from logic elements.
* Sequential logic - how components with state, such as latches, registers, register files and memories can be constructed from logic elements.
* Processor structure - how a simple instruction set can be implemented using combinational and sequential logic components.

This course includes a brief introduction to the C programming language, which is widely used as a systems programming language.

*** This course replaces Informatics 2C - Introduction to Computer Systems (INFR08018) (10 credit) course. ***
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: Informatics 1 - Introduction to Computation (INFR08025)
Co-requisites
Prohibited Combinations Other requirements As well as the above, you must have also passed:

Informatics 1 - Object-Oriented Programming (INFR08029)
(OR Another university-level programming course can satisfy the programming language requirement instead of INF1B)
Information for Visiting Students
Pre-requisitesApplied knowledge of programming language basics in a modern programming language (e.g., Java).

Recommended: basic knowledge of Boolean algebra and finite automata
High Demand Course? Yes
Course Delivery Information
Academic year 2020/21, Available to all students (SV1) Quota:  None
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 200 ( Lecture Hours 22, Seminar/Tutorial Hours 5, Supervised Practical/Workshop/Studio Hours 10, Revision Session Hours 1, Programme Level Learning and Teaching Hours 4, Directed Learning and Independent Learning Hours 158 )
Assessment (Further Info) Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
Additional Information (Assessment) Assessment will consist of three programming assignments totaling 60% of the course grade, and occasional quizzes totaling 40%.

There will be at least two assessed courseworks.
Feedback Not entered
No Exam Information
Learning Outcomes
On completion of this course, the student will be able to:
  1. Describe the trade-offs in different binary representation systems.
  2. Explain the principles of: instruction set architecture, digital logic design, cache hierarchy, virtual memory, I/O devices, exceptions and processor management.
  3. Demonstrate an understanding of how a high-level programming language (C) maps to the assembly code by converting a simple C program to MIPS assembly.
  4. Sketch the design of a simple single- and multi-cycle processor and explain how it operates by combining the knowledge of the logic design basics with that of the MIPS instruction set architecture.
Reading List
D.A. Patterson and J.L. Hennessy, Computer Organisation and Design: The Hardware/Software Interface, 4th or 5th Edition, Morgan Kaufmann

A. Silbershatz and P.B. Galvin, Operating Systems Concepts, 5/e, Wiley, 1998

B.W. Kernighan and D.M. Ritchie, The C Programming Language, 2/e, Prentice Hall PTR, 1998
Additional Information
Graduate Attributes and Skills Cognitive skills: analytical thinking
Special Arrangements Applied knowledge of programming language basics in a modern programming language (e.g., Java).

Recommended: basic knowledge of Boolean algebra and finite automata
KeywordsBinary number system,instruction set architecture,computer organisation
Contacts
Course organiserDr Boris Grot
Tel:
Email: Boris.Grot@ed.ac.uk
Course secretaryMs Kendal Reid
Tel: (0131 6)51 3249
Email: kr@inf.ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information