Syllabuses - UG

CS210 - Computer Systems and Architecture

TIMETABLETEACHING MATERIAL
Credits20
Level2
SemesterSemester 1, Semester 2
AvailabilityPossible elective
PrerequisitesBasic knowledge of programming in a high level language, computer organisation and machine language, such as might be gained from CS105 and CS106.
Learning Activities BreakdownLectures: 40 | Labs: 40
Assignments: 60 | Self study: 60
Items of Assessment4
Assessment100% by coursework (programming exercises, individual programming project, group programming project and a class test).
LecturerAndrew Fagan, Fredrik Nordvall Forsberg

Aims and Objectives

To enable the student to:

  • understand and program in the C programming language
  • create system programs in C for the Linux operating system
  • understand how modern operating system enable computer programs to run as processes

Learning Outcomes

On completion of the class, a student should be able to:

  • write programs in C, including the use of data structures and pointers
  • understand how memory is used and referenced in C
  • understand how the compilation process works in C
  • write systems programs in C using system calls
  • understand how processes are created and managed
  • understand how multiple process can run in modern operating systesm

Syllabus

Semester 1: students will learn how to program in C. The material will be assessed using weekly exercises (20%) and an individual programming assignment (30%).

Semester 2: students will learn how processes run in modern operating systems (assessed by a class test worth 25%) and complete a large group practical to create a systems program for Linux, written in C (worth 25%).

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 C Programming Language, Second Edition, B. W. Kernighan and D. M. Ritchie, Addison-Wesley, 1988.

Operating Systems Concepts, 10th edition, A. Silberschatz, P. B. Galvin and G. Gagne, John Wiley & Sons, 2019.

Last updated: 2024-08-09 08:16:55