CPSC 317

Internet Computing

Course Description

Computer networking, basic communication protocols, network infrastructure and routing. Common application-level protocols and principles associated with developing distributed applications.

Average difficulty
3.75 / 5
Average quality
3.67 / 5
Scroll to see reviews

Add a Review for this course

Please ensure that your review is respectful and constructive. Read about UBC's aim for creating a safe and inclusive learning environment here. These reviews may take several days to process and will be scanned for inappropriate or malicious content.

Please enter a name/username.
Enter a valid url including the 'https://' prefix. (https://www.example.com)
Please enter your course review. [minimum length: 50 characters]
3
3

I think this topic is very fascinating, but it can be a bit dry at times in lecture. If you don’t know much like me, then you will feel a bit overwhelmed at first because there’s so much content and structure you have to learn. The assignments can be overwhelming for an elective.
Difficulty:3.5
Quality:3.5
letcodr, Apr 20 2025, course taken 2025W2
The course gets a bit boring most of the time during the lectures. Still, even though it is boring, it teaches students vital knowledge needed to understand how networks work and how machines operate over the internet. I would highly recommend taking this course no matter what you want to do further in Computer Science. It gave a great bird eye view of the internet and how your machine talks to a computer in another country, domain name resolution, and encryption in the internet space, among other things.
Difficulty:4
Quality:3.5
shubh, May 7 2023, course taken 2022W2
With Alan Wagner, the course is poorly structured and the lectures were poor. I only realized halfway through that reading the textbook was more effective than going to lectures. I have heard that this course is much better with other professors.
Difficulty:4
Quality:1
Brandon Orange, Feb 25 2023

Like all CPSC courses, the material is quite dense and the assignments are heavy. I took this course with Norm / Aastha and both are very competent lecturers who clearly spend a lot of time helping students. The piazza helpfulness rate is outstanding.

When I took this course it had 5 quizzes, 6% each, for a total of 30%, instead of midterms. The quizzes are close-book, biweekly and proctored (1 hour long). They do a good job of making you stay on top of the material and I overall prefer the quizzes.

The assignments are biweekly and also worth around the same amount. But like many CS assignments depends heavily on your programming skills. So far I found the assignments to be challenging and at times vague (but the piazza helps for clarifications). Prepare to spend 10-20 hours per assignment if you are a decent programmer, more otherwise.

Material is difficult conceptually. There is just a lot of it. Very relevant to real life. Recommend as an elective.

Difficulty:4
Quality:4
ayylmao, Feb 22 2023, course taken 2023W2
Great course, even though it is not required for a major, I would highly recommend it. Very in demand skills and applicable content.
Difficulty:3.5
Quality:5
cpscstuednt, Feb 3 2023, course taken 2023W2
317 with Donald Acton is pretty fun. Networking is sort of my jam though, so I’m a bit biased. I found the text incredibly interesting. It’s really the only instance of me in UBC reading a textbook leisurely just to learn more. You get to learn the protocol stack and how the Internet works! It’s really amazing. I really wish there more assignments though. It’ll give you experience with socket programming which is definitely an asset you want to have as a developer.
/u/creamenator, Mar 5 2014
100% should take. Networking is an important concept and this course forms the basis of it.
/u/vaastav05, May 23 2019
A fairly interesting course that covers the basics of internet computing. The course goes over each of the five layers of the internet and focuses on a few select protocols from each layer (HTTP, SMTP, POP3, IMAP, DNS, TCP, IP, DHCP, BGP, VPN, TLS etc.). Jonatan Schroeder (currently at York University) is a great professor who explains the concepts very thoroughly. Beware that there is going to be a lot of technical documentation reading (RFCs) for assignments and the quizzes/exams focus quite heavily on conceptual understanding.
eqfy, Jan 21 2022
Very interesting and practical class. You learn a lot ablut networking while doing interesting assignments. Can be on tge kore difficult side in some sections
Difficulty:3.5
Quality:5
Eugene, Nov 7 2022, course taken 2020W1

Historical grade information

Grades information from UBC Grades Database