Undergraduate Course: Informatics 2C - Introduction to Computer Systems (INFR08027)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 8 (Year 2 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 20 |
ECTS Credits | 10 |
Summary | This 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-requisites | Applied 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 2023/24, 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
50 %,
Coursework
50 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
Written Exam: 50%
Engagement quizzes: 10%
Coursework: 40%
In order to pass the course, you must obtain a combined total mark of at least 40%.
|
Feedback |
Not entered |
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S1 (December) | Informatics 2C - Introduction to Computer Systems (INFR08027) | 2:00 | |
Learning Outcomes
On completion of this course, the student will 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.
|
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
|
Keywords | Binary number system,instruction set architecture,computer organisation |
Contacts
Course organiser | Dr Vijayanand Nagarajan
Tel: (0131 6)51 3440
Email: |
Course secretary | Miss Kerry Fernie
Tel: (0131 6)50 5194
Email: |
|
|