2. The Exam
The exam will run as timed, on-campus exams
Lecture notes will be available on WiseFlow
The exam lasts for 3 hours
There are FOUR questions
You MUST attempt ALL FOUR questions
All questions are marked as:
PASS+/PASS/MARGINAL/FAIL
3. Exam questions
Exam questions are short answer and short essay style
There will be:
One (1) short answer question with 15 parts
You MUST attempt ALL parts
Three (3) short essay questions
You MUST attempt ALL three questions
How long should an answer be?
Should you include diagrams?
4. Exam questions
Short answer question
There will be:
One (1) short answer question with 15 parts
You MUST attempt ALL parts
How long should an answer be?
Few words or a phrase
Should you include diagrams?
No
We will see examples in the next slides
5. Exam questions
Short essay questions
There will be:
Three (3) short essay questions
You MUST attempt ALL three questions
How long should an answer be?
Roughly 1 to 1.5 pages (approx. 500 – 800 words)
Should you include diagrams?
Not necessarily
We will see examples in the next slides
6. What is expected
It is expected to draw upon your reading and
experience to answer the questions and give
specific examples, with illustrations where
appropriate.
7. What is expected
It is expected to draw upon your
reading (from the course
books) and experience
(practical lab exercises)
to answer the questions and give
specific examples, with illustrations
(diagrams) where appropriate.
8. Marking scheme
All 4 questions are marked in a 4-grade scale
PASS+/PASS/MARGINAL/FAIL (P+/P/M/F)
All 4 questions have equal weight
9. Marking scheme
A PASS+ in one question AND a PASS in three questions is the
threshold for the A band grades.
A PASS+ in one question AND a PASS in two questions is the threshold
for the B band grades.
A PASS+ in one question AND a PASS in one question is the threshold
for the C band grades.
A PASS in one question is the threshold for the D band grades.
A MARGINAL in all 4 questions results in E grade, i.e. attempting but
not quite attaining a PASS.
A FAIL in all 4 questions results in an F grade, i.e. not attempting a
reasonable response.
If you achieve PASS+ in all 4 questions and your answers are
consistently of a very high standard, this will result in an A* grade.
10. Grade matrix
number of
questions passed performance per question
1 2 3 4
4 P+ P+ P+ P+ A+ potential A-star
4 P+ P+ P+ P A
4 P+ P+ P P A
4 P+ P P P A-
4 P P P P B+
3 P+ P+ P+ Mor F B
3 P+ P+ P Mor F B
3 P+ P P Mor F B-
3 P P P Mor F C+
2 P+ P+ Mor F Mor F C
2 P+ P Mor F Mor F C-
2 P P Mor F Mor F D+
1 P+ Mor F Mor F Mor F D
1 P Mor F Mor F Mor F D-
M M M M E+
M M M F E
M M F F E
M F F F E-
F F F F F
11. Approach
Practice with revision hints and tips (see next slides)
Short answer
Think specific, key terms
Manage your time wisely!
PASS+/PASS/MARGINAL/FAIL depends on how many parts of the question
you have answered correctly
Short essay
Essay structure is key (think about how you ANSWER THE QUESTION)
ANSWER THE QUESTION
Don’t brain dump!
i.e. spot a keyword in the question and write everything
you know about it rather than answering the question
PASS+/PASS/MARGINAL/FAIL depends on your ability to
answer the question
12. Topics
Question 1: Short answer
Covers all topics and labs
Questions 2, 3 and 4: Short essay
Question 2 covers all Networks topics
• Application layer (incl. Distributed Systems)
• Transport layer
• Network layer
Question 3 covers all Operating Systems topics
• Operating Systems Structures
• Processes
• Threads
• Synchronisation
Question 4 covers all Security topics
• Security problem (threats and attacks)
• Encryption
13. Revision hints and tips
Question 1: Short answer – 15 parts
• To pass Q1 you MUST answer at least 8 parts correctly
Example questions:
i. Which two of the OSI model’s layers are NOT included in the TCP/IP
stack?
ii. The Internet Standards are described in formal documents. What
are these documents called?
iii. What is the interface between a process and the network?
iv. Complete the phrase: “The Transport layer provides logical
communication between ____ .“
v. Is a “link state” routing algorithm centralised or decentralised?
vi. Memory can be dynamically allocated to a process during runtime.
What is it called?
vii. Does a thread share its code section with other threads belonging
to the same process?
viii. In which part of its code can a process change shared variables?
ix. Is Trojan Horse an example of program threat?
x. For the screenshot of Wireshark examining HTTP behaviour, what
are the IP address and port number of the client host?
14. Revision hints and tips
Question 2: Short essay
• Covers all Networks topics (Application layer (incl. Distributed
Systems), Transport layer and Network layer)
Example question:
Answer the question below. Use examples to illustrate your answer:
Q2. Discuss how two processes communicate over a network. Include in your answer the role of
Sockets, Ports, IP Addresses and what is required from Transport Services available to
Applications.
Example question:
Answer the question below. Use examples to illustrate your answer:
Q2. Define Multiplexing and Demultiplexing in the Transport Layer. Discuss how Transport Layer
segments are sent and received in connectionless and connection-oriented protocols.
15. Networks revision topics
Internet components & services (hosts, protocols, RFCs, IETF, …)
Protocol layers (OSI, TCP/IP)
Main principles of network applications (client-server, P2P, message exchange, IP addresses,
sockets, port numbers, data integrity, throughput, …)
Web services (HTTP, messages, request, response, headers, …)
Electronic mail over the Internet (user agent, mail server, SMTP, POP3, IMAP, HTTP, …)
How processes communicate (messages, sockets, port numbers, IP addresses, …)
Transport services (mux/demux, reliable data transfer, flow control, congestion control, …)
TCP, UDP
Segment structure (port #, seq, ack numbers, receive window, …)
Forwarding/routing
Routing algorithms
Router components
IPv4 & IPv6 datagram
IPv4 addressing
Fragmentation / reassembly
16. Revision hints and tips
Question 3: Short essay
• Covers all Operating Systems topics (Operating Systems Structures,
Processes, Threads and Synchronisation)
Example question:
Answer the question below. Use examples to illustrate your answer:
Q3. What are system programs? What is their purpose and how are they different from
application programmes. Discuss FIVE categories of system programs.
Example question:
Answer the question below. Use examples to illustrate your answer:
Q3. What are the main states of a Java Thread? Discuss the lifecycle of a Java Thread and how it
shares run time with other Threads.
17. Operating Systems revision topics
Operating systems services
Operating systems interfaces (users, programs)
System calls
System programs
What is a process (structure, PCB, …)?
Process states and lifecycle
Process scheduling (schedulers, queues, …)
Concurrency / parallelism
What is a thread?
Threads states and lifecycle (in Java)
Critical section problem
Critical section problem solution requirements
Bounded buffer (producer-consumer) problem
Race condition
Mutex locks, semaphores, monitors
Deadlock / starvation
18. Revision hints and tips
Question 4: Short essay
• Covers all Security topics (Security problem (threats and attacks) and
Encryption)
Example question:
Answer the question below. Use examples to illustrate your answer:
Q4. Discuss THREE types of Program Threats. Give an example for each one.
Example question:
Answer the question below. Use examples to illustrate your answer:
Q4. What are accidental or malicious security violations. Discuss FOUR types and THREE levels at
which security measures could be taken.
19. Security revision topics
Security violations
Security measures
Program threats and examples
System and network threats and examples
Cryptography terms
Encryption
Encryption algorithms essential property
Symmetric encryption and example algorithms
Asymmetric encryption and example algorithms
20. Remember
Revise the textbook sections and slides as indicated in the
lectures
In your answers
• DO NOT copy from the textbook or any other source
• Draw YOUR OWN diagrams
Revision lecture in week 32
Use the BBL Exam Forum to post exam-related questions
21. Textbook references
Computer Networks
Chapter 1 Computer Networks and the Internet
1.1 What Is the Internet?
1.1.1 A Nuts-and-Bolts Description
1.1.2 A Services Description
1.1.3 What Is a Protocol?
1.5 Protocol Layers and Their Service Models
Chapter 2 Application Layer
2.1 Principles of Network Applications
2.2 The Web and HTTP
2.3 Electronic Mail in the Internet
2.7 Socket Programming: Creating Network Applications
Chapter 3 Transport Layer
3.1 Introduction and Transport-Layer Services
3.2 Multiplexing and Demultiplexing
3.3 Connectionless Transport: UDP
3.5 Connection-Oriented Transport: TCP
3.7 TCP Congestion Control
22. Textbook references (continued)
Computer Networks (cont.)
Chapter 4 The Network Layer: Data Plane
4.1.1 Forwarding and Routing: The Data and Control Planes
4.2 What’s Inside a Router? (overview and 4.2.1 Input Port Processing and Destination-Based
Forwarding ONLY)
4.3 The Internet Protocol (IP): IPv4, Addressing, IPv6, and More
4.3.1 IPv4 Datagram Format
4.3.2 IPv4 Datagram Fragmentation
4.3.3 IPv4 Addressing (excluding “Obtaining a block of addresses” & “Obtaining a Host Address: The
Dynamic Host Configuration Protocol”)
4.3.5 IPv6 (excluding “Transitioning from IPv4 to IPv6”)
Chapter 5 The Network Layer: Control Plane
5.2 Routing Algorithms (overview ONLY)
23. Textbook references (continued)
Operating Systems Concepts
Chapter 2 Operating-System Structures
2.1 Operating-System Services
2.2 User and Operating-System Interface
2.3 System Calls
2.4 Types of System Calls
2.5 System Programs
Chapter 3 Processes
3.1 Process Concept
3.2 Process Scheduling
3.6.2 Remote Procedure Calls
3.6.3 Pipes
Chapter 4 Threads
4.1 Overview
My slides and links: Java Threads
24. Textbook references (continued)
Operating Systems Concepts (cont.)
Chapter 5 Process Synchronization
5.1 Background
5.2 The Critical-Section Problem
5.3 Peterson’s Solution
5.5 Mutex Locks
5.6 Semaphores
5.7 Classic Problems of Synchronisation
5.8 Monitors
Chapter 15 Security
15.1 The Security Problem
15.2 Program Threats
15.3 System and Network Threats
15.4.1 Encryption
Chapter 17 Distributed Systems
17.1 Advantages of Distributed Systems