Course Information
Content
-
Course Summary
Informatics 2C - Introduction to Computer Systems (INF2C-CS) is a 20 credit course at Level 8, normally taken in Year 2. It runs in Semester 1. The exam is in December, and is worth 50% of the course mark. The University descriptor is here. -
What you can expect this year
Here's a brief summary of what you can expect in this course this year:Lectures: due to the safety requirements mandated by COVID, lecture delivery will be hybrid -- a fraction of the class will be able to attend in-person and the rest viewing the live stream online. We will use a ticketing system to manage the number of students who attend in person -- details on the Course Material page, under Class Resources. All lectures will be recorded and made available online.Courseworks: there will be two practical courseworks, each of which will involve a good amount of programming. Each coursework is worth 20% of the course mark. The courseworks can take a fair amount of time, so it's essential you start them as soon as they are released. See the Assessment page for additional details, including the Late Policy.Quizzes: we will have two quizzes, delivered online. Each quiz is worth 5% of the course mark.Final exam: there will be a final exam, worth 50% of the course mark, delivered in the December exam diet.Drop-in labs: the drop-in labs are a way of providing you with access to immediate help with practical aspects of the course, namely hands-on lab assignments (not assessed) and courseworks (assessed). During lab hours, we will have a live demonstrator answering course-related questions. This year, the labs will be online - we piloted this last year, and it worked extremely well.Tutorials: in-person -
Lecturers
We have an expert team of four lecturers, each of whom is responsible for a specific aspect of the course as follows:Dr. Boris Grot: lectures, tutorials and overall course organizationDr. Tobias Grosser: labs and courseworkDr. Sam Ainsworth: courseworkDr. Vijay Nagarajan: quizzes and examWe expect all course-related questions to be asked on Piazza. However, if you absolutely must email the course organizers, please contact the person(s) most relevant to your question. -
Course Outline
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. -
Learning Outcomes
On successful completion of this course, you should be able to:- Describe the trade-offs in different binary representation systems.
- Explain the principles of: instruction set architecture, digital logic design, cache hierarchy, virtual memory, I/O devices, exceptions and processor management.
- 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.
- 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.
-
Timetable
If you are looking for your class times for this course, these can be found via your University of Edinburgh calendar (links provided below): -
Informatics Teaching Organisation: Information for Students
The Informatics intranet has useful information on the following:- Induction
- Student handbooks, with detailed information on
- courses
- assessment
- support, and
- contacts for each year.
You can also email the Informatics Teaching Organisation (ITO) at ito@inf.ed.ac.uk or the Student Support Team (SST) at inf-sst@inf.ed.ac.uk.

