Course Description
Computer networking, basic communication protocols, network infrastructure and routing. Common application-level protocols and principles associated with developing distributed applications.
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 |
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 |
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 |
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 |
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 |
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.
100% should take. Networking is an important concept and this course forms the basis of it.
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.
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 |