CS 43 — Quiz Study Guides
Study guides in this course are not meant to be a point-by-point list of exactly the questions that will appear on the quiz. Rather, they are a list of the Learning Objectives (LOs) covered by the relevant lectures, labs, and readings. They say what you should be able to do if you’ve gained a solid understanding of the concepts. Each quiz will assess its LOs, drawing on how they were covered in lecture, lab, and the reading.
Quizzes are taken on paper at the start of class, with a mix of multiple choice and short answer questions. Please show up on time.
Quiz 1: Protocols and Layering
Wednesday, September 9 (in class)
Last updated: September 3, 2026
Covers: Lectures 1 and 2, and the assigned reading (Kurose & Ross sections 1.1 and 1.5).
Duration: 15 minutes
Learning Objectives
Students should be able to…
-
List and define the five layers of the Internet Model in order from top to bottom.
-
Describe the core responsibility of each layer.
-
Match the name of the data unit: message, segment, datagram, and frame, to its layer.
-
Define what a protocol is.
-
Explain the advantages and disadvantages of protocol layering.
-
Illustrate the process of encapsulation.
-
Explain why every device on the Internet must implement the IP protocol, while transport and application protocols run only on end hosts.
-
Design a simple protocol for a new application (example: a basic chat service), defining the message format (headers and payload) and the rules for message exchange.
Practice Problems
From the end of Chapter 1 in the textbook: K&R (page 52-53): R1, R3, R22, R23, R24, R25, P1
I will not provide exact answers to the textbook problems, though I’m happy to discuss your answers on Ed or in office hours. Sometimes there is also no "one" right answer.
There are also links to interactive practice problems on the publisher’s website which tell you when your answer is correct or incorrect and give you hints. These are really good!
Quiz 2: The Web and HTTP
Last updated: September 10, 2026
Covers: Lecture 3, Lab 1 Week 1, and K&R sections 2.1.1, 2.1.2, 2.1.5 and 2.2.1-2.2.6
Duration: 15 minutes
Learning objectives
Students should be able to…
-
Trace the high-level steps of a web request, from a user click to receiving data.
-
Identify the host name and the path name in a URL.
-
Define the role of HTTP, web browser and web servers in Web browsing.
-
Explain why web servers are always on at well-known addresses.
-
Deconstruct a basic HTTP GET request, identifying the request line, headers (including Host header) and the terminating blank line.
-
Explain why an HTTP request needs a Host header and why header lines end in CRLF.
-
Deconstruct a basic HTTP response, identifying the status line, headers (example: Content-Type, Content-Length, Date, Last-Modified), and the message body containing the requested object.
-
Interpret common status codes (200, 404) in terms of what happened at the server.
-
Explain why HTTP is considered a stateless protocol and what that means for server design.
-
Explain the purpose of cookies and trace an HTTP request and response that includes cookies.
-
Calculate the time to load a page of N objects under non-persistent HTTP and persistent HTTP.
-
Explain how HTTP/1.1 improved the latency performance of HTTP/1.0.
-
Explain head-of-line blocking, why parallel TCP connections are an incomplete fix, and how HTTP/2 improved the performance of HTTP/1.1.
-
Explain how browser caching and conditional GET (304 Not Modified) reduce response time and load on the origin server.
-
Given the number and relative sizes of the objects on a web page, evaluate which HTTP performance technique helps most.
Not on this quiz
These come up in the reading or in lecture, but you will not be asked about them:
-
Cookie privacy, third-party tracking, and GDPR
-
Bandwidth and throughput. Any timing question will be expressed in round trip times (RTT) and per-object transmission time only.
-
HTTP methods other than GET
-
User-Agent header
Practice
Interactive exercises:
-
HTTP response You can skip the questions about the Server header and about ETag.
Knowledge checks:
-
Knowledge check 2.2 You can skip the question about Accept-language quality factors.
-
Knowledge check 2.1 Do the client-server and P2P questions only.
Textbook problems and the end of Chapter 2 (K&R page 101-102):
-
R3, R4, R5
-
P1 parts (a), (b), (c), and (e)
-
P4, parts (a), (b), (c) and (d)
-
P5
-
P6 (Bonus, for fun)
Quiz 3: Sockets and Concurrency
Last updated: September 17, 2026
Covers: Lecture 4 (Sockets), Lecture 5 (Sockets & Concurrency), Lab 1, Computer Networks: A Systems Approach sections 1.4, Beej’s Guide section 7.1, and the non-blocking I/O and select() reading.
Duration: 15 minutes
Learning objectives
Students should be able to…
-
Define what a socket is and what
socket()returns. -
List, in order, the socket calls a TCP client and a TCP server make, and state what each call does.
-
Given a sequence of
send()orrecv()calls and the state of the socket buffer before each, determine what each call does and returns, on a blocking socket and on a non-blocking socket. -
Given client or server socket code, check whether it uses the socket calls correctly, including
send()andrecv(), explain what goes wrong when it runs, and describe the correct usage. -
Given a server’s connections, determine how many sockets it has open and the role of each.
-
Given a timeline of client actions, trace when a server with no concurrency serves each client.
-
Explain how processes, threads, and
select()each let a server handle multiple clients, and compare their overhead. -
Given a server loop that uses non-blocking sockets, determine where the loop spends its time and whether it serves every client.
Not on this quiz
These come up in the reading or in lecture, but you will not be asked about them:
-
UDP sockets
-
Byte order and
htons() -
Address structures,
gethostbyname(), andgetaddrinfo() -
Exact function signatures. Function signatures will be given to you if needed
-
poll()andepoll
Practice
-
Sockets worksheet from Lecture 4. Work through it on your own.
-
Completing Lab 1
Knowledge checks:
-
Knowledge Check 2.7 (skip UDP questions)
Quiz 4: DNS
Last updated: September 24, 2026
Covers: Lecture 6 (Distributed Systems and DNS), Lecture 7 (Naming and DNS), the Lecture 7 DNS worksheet, and Computer Networking: A Top-Down Approach sections 2.4.1 to 2.4.3.
Duration: 15 minutes
Learning objectives
Students should be able to…
-
Explain partial failure in a distributed system. Given a scenario, describe what each component can observe when another component fails.
-
Define the three properties of the CAP theorem. Given how a system behaves during a network partition, determine whether it chose consistency or availability.
-
Identify the key services provided by DNS.
-
Given a hostname, identify the root, TLD, and authoritative DNS servers involved in resolving it and the role of each.
-
Given a proposed DNS design, such as a centralized one, identify its advantages and disadvantages compared to the current hierarchical design.
-
Trace the sequence of DNS messages that must occur before a browser can send an HTTP request, given what the local DNS server has cached. Identify each query as iterative or recursive and compute how long the lookup takes.
-
Given a set of DNS resource records (A / AAAA, NS, CNAME, MX), determine the answer to a DNS query.
-
Interpret the output of the dig command, identifying what each section of the DNS message (header, QUESTION, ANSWER, AUTHORITY, ADDITIONAL) contains.
-
From a dig response with no answer, determine the next server to query in an iterative lookup.
-
Explain which transport protocol DNS uses and why.
-
Define Time-to-Live (TTL) for a DNS record. Given a timeline of queries, determine which ones the local DNS server answers from its cache.
-
Given a scenario, choose between a short and a long TTL and justify the trade-off.
Not on this quiz
These come up in the reading or in lecture, but you will not be asked about them:
-
Registering a new domain and inserting records (next week)
-
DNS-based load balancing and CDNs (next week)
-
Attacks on DNS: DDoS, man-in-the-middle, cache poisoning (next week)
-
DNSSEC (next week)
-
The binary format of a DNS message (field sizes and positions)
-
Header flags in dig output (
qr,aa,rd,ra) -
digcommand-line options. Commands will be given to you if needed
Practice
-
DNS worksheet from Lecture 7, Q2-Q4
-
Interactive Problems:
-
Knowledge Checks:
-
Textbook End of Chapter Problems: R19, P18, P19, P20
-
P18 only works off campus. ITS blocks direct DNS queries to the root servers and TLD servers.
-
On campus, you can see the delegation chain by asking for the name servers one level at a time. Also try these for some other websites.
dig NS . dig NS edu dig NS swarthmore.edu dig NS cs.swarthmore.edu dig A www.cs.swarthmore.edu
-
Quiz 5: DNS, Email, and Network Performance
Last updated: October 1, 2026
Covers: Lectures 8 (DNS, Email) and 9 (Network Performance), and K&R sections 1.4, 2.3, and 2.4.3
Duration: 15 minutes
Learning objectives
Students should be able to…
-
Identify the four components of nodal delay and name what each depends on (packet size, link rate, link length, traffic, or none of these).
-
Given link and packet parameters, calculate transmission and propagation delay, and predict how each changes when one parameter changes.
-
Given a packet’s delays on a path of store-and-forward links, determine where its bits are at a given instant and when the last bit reaches the destination.
-
Given a new domain, determine which resource records must be created, and at which server (registrar/TLD vs. authoritative), for the domain’s web and mail servers to be reachable.
-
Explain how DNS can be used to implement load balancing.
-
Given a description of an attack on DNS, classify it as DDoS, man-in-the-middle, or cache poisoning, identify which part of the resolution process it exploits, and determine whether DNSSEC prevents it and why or why not.
-
Identify the components of the Internet mail system and the role of each in delivering a message.
-
Trace the path of an email message from the sender’s user agent to the recipient’s user agent, identifying the protocol used at each step and which components must be reachable at that moment.
-
Given a proposed mail architecture (for example, user agents sending directly to the recipient’s mail server), identify what fails and when.
-
Given a step in mail delivery, determine whether it is push or pull and which protocol carries it.
-
Given an SMTP transcript and the delivered message’s headers, identify which addresses come from the envelope and which from the header, which the receiving server uses for delivery, and what the recipient can and cannot trust about the sender.
-
Trace the sequence of a simple SMTP client-server interaction, identifying the purpose of the HELO, MAIL FROM, RCPT TO, DATA, and QUIT commands.
Not on this quiz
These come up in the reading or in lecture, but you will not be asked about them:
-
Packet loss and finite router buffers (next week)
-
Throughput and bottleneck links (next week)
-
Mail access protocols (IMAP) in any detail beyond their role in retrieval
Practice
Interactive exercises:
Knowledge checks:
-
Knowledge Check 1.4 (Skip Throughput/Utilization questions)
Textbook End of Chapter Problems:
-
Chapter 1: R16-R18, P6, P18 (for fun)
-
Chapter 2: R19, R20, P14-P16
Quiz 6: Network Performance, Video Streaming, and CDNS
Last updated: October 9, 2026
Covers: End of Lecture 8 (throughput, K&R 1.4.3), Lecture 9 (Video Streaming), Lecture 10 (Video Streaming and CDNs), K&R sections 1.4, 2.5, and posted readings
Duration: 15 minutes.
Learning objectives
Students should be able to…
-
Given file size, link rates, the number of clients sharing a link, and propagation delays, compute the time to transfer a file and identify the bottleneck link.
-
Given packet arrival rate, packet length, and the outgoing link rate, compute traffic intensity, and predict how average queuing delay changes with traffic intensity and with burstiness.
-
Explain when and why a router drops packets.
-
Define video bitrate, constant bitrate, and variable bitrate, and explain how resolution, motion, and encoding affect a video’s bitrate.
-
Given fill rate, playout rate, and buffer level, determine whether playback stalls, and explain what the client-side buffer is for.
-
Explain the advantages of adaptive bitrate streaming over streaming a single fixed bitrate.
-
Given a client’s buffer level and recent throughput measurements, decide what a throughput-based player and a buffer-based player would each request next, and judge which choice is better and why.
-
Describe the components of DASH and the role of each: manifest, video segments at multiple bitrates, the client, and the server.
-
Explain the advantages of delivering content through a CDN rather than from a single server.
Not on this quiz
These are in the reading, but we did not get to them in lecture:
-
How CDN caching works (next week)
-
How a CDN uses DNS to direct a client to one of its servers (next week)
-
"Enter deep" versus "bring home" CDN server placement (next week)
Practice
Interactive exercises:
Knowledge checks:
-
Knowledge Check 1.4 (Throughput/Utilization questions)
Textbook End of Chapter Problems:
-
Chapter 1: R19, R21, P20, P21, P24, P31a-c
-
Chapter 2: P21