Software Engineering BSc/MSci
Networks and Operating Systems Essentials 2 COMPSCI2024
- Academic Session: 2024-25
- School: School of Computing Science
- Credits: 10
- Level: Level 2 (SCQF level 8)
- Typically Offered: Semester 1
- Available to Visiting Students: Yes
- Collaborative Online International Learning: No
Short Description
The course will introduce students to essential topics in computer networks and operating systems. It has a focus on the underlying concepts, design, and operation of the Internet, and on the role, basic features, and principles of computer operating systems.
Timetable
Two 1-hour lectures per week; one-hour laboratory per week.
Excluded Courses
None
Co-requisites
None
Assessment
1.5 hour examination (80%); plus assessed coursework (20%).
Main Assessment In: December
Are reassessment opportunities available for all summative assessments? No
Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non-Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below.
The coursework cannot be redone because the feedback provided to the students after the original coursework would give any student redoing the coursework an unfair advantage. The nature of the coursework is such that it takes a significant number of days to produce it and this effort is infeasible for supporting the re-doing of such coursework over the summer.
Course Aims
To introduce students to essential topics in computer networks and operating systems.
The course aims to give an overview of how the Internet works, and the difference between the Internet and the World-Wide Web. It introduces the basic principles of networked systems, the concept of a protocol, and the importance of layering in the design of the network. It discusses how systems are connected together to form a network; how networks are connected together to form an internet; and how data is reliably delivered across the Internet. The web protocols, and HTTP, are briefly introduced, as an example of the type of application that can run on the Internet.
In addition, the course aims to present the abstractions that underlie traditional operating systems, and to sketch basic implementations for key components including process scheduling, memory management and file systems. Students should gain an awareness of implementation trade-offs and corresponding impacts on system behaviour.
Finally, the course also aims to develop students' understanding of sustainability and decarbonisation as related to the topic.
Intended Learning Outcomes of Course
By the end of this course students will be able to:
■ Understand the principles underlying networked systems, such as the Internet, including the importance of layering in protocol design;
■ Describe the key features of a local-area network technology, such as Ethernet;
■ Explain the concept of internetworking, and how the Internet is built as a network of networks; describe key features of the network layer;
■ Describe what is meant by a best-effort service, and explain why the Internet offers such a service; discuss how the transport layer can enable reliable connections on this substrate;
■ Understand the difference between the Web and the Internet, and be able to describe, in outline, the operation of HTTP;
■ Be familiar with issues around privacy and security of Internet traffic;
■ Use appropriate terminology in correctly explaining the functions of an operating system;
■ Contrast the low-level hardware facilities (e.g., physical memory frames) with the higher-level abstractions provided by an operating system (e.g., virtual memory pages).;
■ Evaluate the relative merits of a range of simple resource allocation algorithms (e.g., for process scheduling);
■ Implement simple operating system components and basic algorithms (e.g., scheduling, free space management);
■ Knowledge and understanding of privacy and security issues of Internet traffic;
■ Recognise risk/safety for safe operation of computing systems at the operating system level.
■ Discuss the contribution of networking, processing, and storage to the growing environmental footprint of computing.
Minimum Requirement for Award of Credits
Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.