Undergraduate study

Undergraduate 

Software Engineering BSc/MSci

Networks and Operating Systems Essentials 2 COMPSCI2024

  • Academic Session: 2026-27
  • 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
  • Curriculum For Life: 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

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

No exceptions