CS107 - Fundamentals of Computer Systems
| TIMETABLE | TEACHING MATERIAL |
| Credits | 10 |
| Level | 1 |
| Semester | Semester 2 |
| Mode of Delivery |
|
| Availability | Not available as an elective |
| Prerequisites | The student should have developed an understanding of:
|
| Learning Activities Breakdown | 22 lectures with 10 tutorials and 10 practicals |
| Items of Assessment | 2 |
| Assessment | This class is assessed entirely by coursework. Usually this consists of two class test worth 40% each and 10 short weekly quizzes worth 2% each. |
| ILO Assessment Mapping | |
| Education for Sustainable Development Competences |
|
| Pedagogical Methods Used to Support Competency Development | |
| Resit | The resit for this class consists of a take home class test covering all of the class content. |
| Lecturer | Alasdair Lambert |
Aims and Objectives
To further the student’s knowledge of the design parameters of a typical computer system and the impact these have on the functionality, and implementation, of the hardware and software components.
Learning Outcomes
On completion of the class, a student should be able to:
1. Demonstrate their knowledge of data/number/information representations and the limitations of such representations.
2. Understand the relationship between instruction set architecture, micro-architecture, and system architecture and their roles in the development of the computer.
3. Understand the differences between the two main types of instruction set architecture and be aware of the major strengths and weaknesses of the alternative types of ISA.
4. Understand the way in which subroutines are invoked, how their parameters are passed and how their local workspace is created and accessed, and how they return to the point of invocation.
5. The typical types of data/number/information representations and the implications of these for calculations and transformations.
6. Appreciate how an ISA has an impact on high-level languages and the design of compilers.
7. Understand the basic principles of operation of the memory.
8. Appreciate how future developments in computer systems may be influenced by current trends and technologies.
Syllabus
* Introduction to instruction set architecture, micro-architecture and system architecture.
* Processor instruction set architecture: instruction types and formats, register sets, addressing modes.
* Processor structures: memory-to-register architectures; load/store architectures.
* Elementary assembly language programming: simple computations involving loops, counters, and accumulation; awareness of bugs.
* The relationship between low-level and high-level programming languages.
* Instruction sequencing, flow-of-control, subroutine call and return mechanisms.
* Low-level architectural support for high-level languages.
* Memory: types of memory, overview of the memory hierarchy.
* Current and future trends in computer systems: an overview of the current trends in state-of-the-art computer systems and an extrapolation of these (in an attempt) to predict future developments.
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
The Essentials of Computer Organisation and Architecture, 2nd edition, Linda Null and Julia Lobur, Jones and Bartlett, 2006, 0763737696
Last updated: 2026-08-11 13:52:31