CSE 199 Fall 2016

Syllabus for CSE 199: How the Internet Works


The internet is changing every aspect of our lives, including how we communicate, learn, navigate, organize, work, play, and love. The internet also represents a crowning achievement of computing: a single system uniting hardware and software, theory and implementation, standards and innovation, engineering and science, protests that topple governmentslaunch and adorable cat videoslaunch.

This course provides an overview of how the internet works by describing everything required to answer a single search query. Along with its technologies, we will delve into the internet’s past and future, policy challenges, and societal implications. The course is targeted at a general audience. But because the internet reflects contributions from many areas of computer science and computer engineering, it also provides a good overview for potential majors. Familiarity with the web and access to a personal computer are assumed, but no technical background is required.


We’ve set up a Discourse forum for students to use herelaunch. The forum is the place to go to peruse announcements, find out more about the course, and get help with any technical issues you might be having. Please ask questions on the forum before approaching the course staff—​this will help you get a reply quicker!


CSE 199 is being taught a bit differently than some other courses that you might take at college. Rather than a series of lectures with homework outside of class, we’re going to assign lectures (in the form of short videos) outside of class and have you do interesting activities inside class. This is sometimes know as a flipped classroomlaunch. So rather than referring to our large meetings as lectures, we’re calling them activity sections. You’ll have two one-hour activity sections per week plus one one-hour recitation in a smaller group of 25–30 students.

Because how we are teaching you is a bit different, your responsibilities as as student are a bit different. Here’s how a typical week would work from your perspective:

  1. Before your activity section on Monday and Wednesday: watch the assigned videos online. Activities will depend on knowledge obtained from these videos. We are recording 60–90 minutes of video content per week in the form of 5 minute videos. So you should expect to watch around 30–45 minutes of video content before each activity section. We consider that to be reasonable, and we will try to keep the videos a lot more interesting than your average textbook. However, we would advise budgeting at least 60–90 minutes before each class to complete the video assignments. This leaves time in case you need to watch one more than once or return to videos to review.

  2. In your Monday and Wednesday activity section: complete an interesting activity in small groups of three or four students. Each activity section has around multiple undergraduate teaching assistants—​about one per four groups—​and at least one instructor that will be on hand to help out during class. You will need to check out of each activity section to receive credit. This involves approaching a teaching assistant and showing them that you have completed the activity. Rubrics for each activity will vary, but it is more important to use that you show up and do your best than that you complete every part of the activity. Some activities you may find easy; others will be more challenging.

  3. In recitation on Thursday or Friday: discuss the week’s material in a smaller group. Recitations are a great chance to ask questions about the video content and engage in discussions surrounding the material.

Note that your grade in this course is largely driven by participation—​watching the videos online and coming to class and completing the in-class activities. We have a few bits of homework for you to complete outside of class, but we’ve mostly moved the homework inside of the classroom. That’s one of the advantages of the flipped classroom model.


There is no required textbook for this course.


We will not give any exams.


There are no prerequisites.


The course is broken into weekly topic units as described below. Note that topics covered in each week will be discussed at a very high level and not in anywhere close to as much detail as would be included by more advanced courses for CSE majors 1. Using the transmission control protocol (TCP)launch as an example:

  • A detailed technical description of TCP in an advanced CSE course would include description of the various parts of the TCP header; the handshakes that establish and terminate connections; acknowledgments, selective acknowledgments, and retransmissions; maximum segment sizes and IP fragmentation; and dynamics of flow control including congestion window sizing.

  • In contrast, in CSE 199 we will explain that the protocol is used to create a connection between two internet hosts by establishing reliable ordered delivery of data packets not provided by the internet protocol (IP) alone, while also explaining that TCP helps share network resources between active hosts.

Thus higher-level internet design goals and concepts can be discussed without going into any of the technical details described above 2.


We reserve the right to adjust this schedule as needed. That said, here’s what we are trying to accomplish on a week-by-week basis:

  1. The Internet Era: what the internet is, why it is worth studying, networking terminology, difference between the internet and the World Wide Web, internet ownership, internet standardization, finding out more about the internet, "Eternal September".

  2. Connectivity: cables, connected at work and at home, the last mile problem, the core internet, packets, circuit v. packet switching.

  3. Protocols: what is a protocol, clients and servers, the internet protocol (IP), IP addresses, the end-to-end principle, protocol stacks, encapsulation, other internet protocols, peer-to-peer systems.

  4. Routing: routers and end hosts, autonomous systems, the border gateway protocol, meet-me rooms, IP address structure, 512K day, traceroute, routing stability, public v. private addresses, onion routing.

  5. Transport: the TCP protocol, TCP connections, ports, well-known port numbers, NAT, problems with TCP, QUIC, TCP influence on overall network design, buffer bloat, the UDP protocol and unreliable connections, multipath TCP.

  6. Naming: the domain name service (DNS) and DNS protocol, machine- and human-readable names, name translation, top-level domains, IPv4 and routing, name assignment, IPv4 address exhaustion, IPv6 and adoption problems.

  7. Web: the HTTP protocol, HTML and CSS, separation of content and presentation, links, the DOM data structure, previous attempts like Gopher, the internet before the WWW, static and dynamic web pages, server-side rendering, forms, HTTP GET key-value pairs, GET v. POST.

  8. Search: web crawling and processing, the internet archive, data center computing, distributed indexes, MapReduce, data center networking, software-defined networking, the PageRank algorithm, improving ranking using context, history, click tracking, website reputation.

  9. Security: Alice and Bob, symmetric and asymmetric encryption, simple ciphers, trapdoor and one-way functions, zero-knowledge proofs, certificates and certificate authorities, access control, firewalls, hacking, zero-day exploits, social engineering, famous hacks, personal web security, denial of service attacks.

  10. Identity: cookies, server side tracking, IP addresses v. identities, anonymity online, online v. human identities.

  11. The Interactive Web: JavaScript, web applications, asynchronous web requests, modifying the DOM.

  12. The Mobile and Pervasive Web: internet architecture problems created by mobility, limitations of mobile devices, mobile web performance problems and solutions, MPTCP and multihoming, the IoT, pervasive computing, energy and physical constraints on tiny devices, IPv6 and network growth, the physical web.

  13. Your Brain on the Internet: attention, concentration, distraction, deadly accidents, search v. knowledge, controlling our internet usage.

  14. Internet Content and Economics: early proposals for early payments via link counting, Bitcoin as an online currency, DRM and other efforts to prevent digital copying, ongoing efforts to find and block online content.

  15. Lost and Future Visions of the Internet: Berners-Lee’s original vision for collaborative content and arguments with Netscape, early internet communities like the WELL, modern internet communities like 4chan and the drug site, Lessig’s vision of an internet commons, Proposals for future improvements to the internet architecture, and will they ever be realized?


The table below describes how this course meets the learning objectives of the University at Buffalo UB Seminar programlaunch:

Outcome Activities Assessment

Think critically using multiple modes of inquiry

Online quizzes, group projects, video assignment, final assignment

All assignments

Analyze disciplinary content

Online quizzes, group projects, video assignment, final assignment

All assignments

Understand and apply methods of close reading, note-taking, analysis, and synthesis

Online quizzes, group projects, video assignment, final paper

All assignments, but particularly the video assignments

Recognize and debate ethical issues and academic integrity 3

Group projects

Multiple weekly projects will touch on ethical issues; academic integrity will be discussed as a downside of web search.

Demonstrate proficiency in oral discourse and written communication

Video assignments

Preparation of video assignments

Develop essential research and study skills such as time management

Online quizzes and module scheduling

Online quizzes ensure students are proceeding at the appropriate pace.

Utilize eportfolio 4

Video assignments

Video lessons will be deposited in eportfolio as well as on YouTube.

Understand the academic expectations pertaining to studentship at the University at Buffalo and to higher learning at a research university

Group assignments

Inherent to the structure of the course, preparation for class and for group assignments.

Develop a broader perspective for help in making life choices in their college careers and beyond

Group assignments, final paper

Multiple weekly assignments will touch on societal and ethical issues and discuss how the internet is changing the broader world.


Grading is largely driven by participation:

  • 30% video participation: watching the online videos.

  • 30% activity participation: coming to class and completing activities with your group.

  • 30% video contributions: recording and uploading three short videos (10% each) with a group drawn from your activity section.

  • 10% internet participation: generating or curating online content.

We discuss each of the grading components in more detail below.

Video Participation

Watching the videos before coming to class is critical for our approach to work. We will monitor and quantify your progress through the video series in a variety of ways. Attempting to foil them will be considered a violation of academic integrity.

Activity Participation

Equally important to success in this course is coming to class and participating in the activities. We will assign you to a new random group for each activity section, and one group member will be responsible for submitting the group’s work and recording what group members were present.

Missing one or two classes during the semester is fine—​that happens to anyone. However, there is no way to make up for a missed activity section. If you do not attend for any reason, legitimate or not, you will not receive credit for the activity. As a result, missing class repeatedly will make it hard to pass this class.

There are 26 activities this semester and we will grade participation out of 22—​meaning that you have 4 excused absences. These can be used for any reason: family obligations, leisure travel, hangovers, alarm configuration mistakes, confusions about what day of the week it is, not finding your partners, not making it back to check in with your teaching assistant, etc. That said, we would suggest that you reserve your four excused absences for interesting uses (like leisure travel) as opposed to for stupid uses (alarm configuration mistakes). The choice is up to you, but don’t contact us after you miss class asking if you can make up the activity. Regardless of why you missed class, the answer is no 5.

In addition, if you do not check out with a teaching assistant during class you will also not receive credit for the activity. So please don’t forget this step. Luckily, we have enough undergraduate teaching assistants so that there is one for around four groups, so you should be able to find one at checkout time.

Video Contributions

One of the best ways to learn new material is to explain it to others. We’re providing you a way to do that—​but to hundreds or thousands of students in coming years.

During the semester you will need to record three short videos for inclusion in the internet-class.org video library. You can work with another student or alone on these assignments, but if working in a group of two both students need to be involved in several minutes of the video to receive full credit. Note that both students in a group of two must be both be in CSE 199 6, although they don’t have to be in the same section.


Video submissions will be graded on the following criteria:

  1. Length (10%): is the video around five minutes in length? Course concepts have been subdivided appropriately so that they can be explained in that length of time. If your video is too short, you probably aren’t saying enough. If it’s too long, you’re probably saying too much.

  2. Participation (10%): if done in groups of two, does the video involve both listed participants? Students working alone get this credit for free, so there’s a bit of tradeoff there when determining whether to work with a partner.

  3. Clarity and Accuracy (20%): does the video clearly explain the concept? Does the video accurate explain the concept? Do the video authors demonstrate their depth of knowledge of the material?

  4. Originality (20%): does the video explore the idea in a new way and not one derivative of existing video explanations?

  5. Excitement (20%): does the video engage the viewer and make them want to learn the material?

  6. Production (20%): is the video reasonably easy on the eyes and ears? We’re not looking for Hollywood-level production values, but we should be able to hear and watch the videos without distress.


You are welcome to film your videos in any way you like. We aren’t looking for high production values, so your smartphone will probably work fine. However, UB does have video production studios in the new Silverman Librarylaunch on the third floor of Capen Hall. You can reserve these rooms using this online formlaunch.

Due Dates

The three video assignments are space out evenly throughout the semester, but they differ slightly in their requirements.

  1. Video 1: record an alternate explanation for one of the videos from Weeks 2–5. These weeks cover connectivity (Week 2), protocols (Week 3), routing (Week 4), and transport (Week 5) 7.

  2. Video 2: record an alternate explanation for one of the videos from Weeks 6–10. These weeks cover naming (Week 6); web queries, documents, and markup (Week 7); search (Week 8); security and authority (Week 9); and identity and privacy (Week 10). Note that you cannot record the following videos:

    1. Any of the introductions: "Introduction to internet naming", "Introduction to web protocols, queries, and documents", "Introduction to search", "Overview of a single search", etc.

    2. Any of the tool videos: "Why you should learn to use the command line", "You should vote", "What are the Chrome developer tools?", "What should you not search for?", "How to search the web", etc.

  3. Video 3: record an explanation for a new lesson related to the course content not already covered. Your topic can fit in to any of the material covered over the 15 weeks of the course. You might want to try covering something in more depth than we have already covered—​for example, explain a bit more about how fiber optic cable is made, or how transatlantic cables are laid. Or you can bring in new material not already covered but relevant. If you are concerned whether your topic is appropriate, please consult with a member of the course staff before you start.

Internet Participation

As a final assignment we will ask you to participate in the internet. That can take a variety of forms: creating a personal website or blog, maintaining a Wikipedialaunch page, contributing to a open source software project perhaps on GitHublaunch, etc. We are open to many different ideas here, but just to note: normal social networking activities will not earn you credit for this activity. You are free and encouraged to submit the personal website that you have been working on this semester, assuming it meets the guidelines below. Note that you cannot work with a partner on this assignment.

Final project submissions will be graded on the following criteria:

  1. Does the URL work? (2 points)

  2. Does the submission meet the basic guidelines? (2 points)

    1. It’s not a Facebook page, LinkedIn profile, Instagram feed, etc.

  3. Is the submission informative, usable, and attractive? (2 points)

  4. Is the submission mobile responsive? (2 points)

  5. Overall rate the submission:

    1. The minimum: 0 points

    2. OK: 1 point

    3. Great: 2 points

Grade Mapping

Scores from all four CSE 199 sections will be combined and, if needed, renormalized for the purposes of grading. Your score in the course will be converted to a letter grade as follows:

Letter Grade Max Min































Incomplete Grades

Please refer to the undergraduatelaunch incomplete policy. Of particular importance is this language:

Students may only be given an I grade if they have a passing average in coursework that has been completed and have well-defined parameters to complete the course requirements that could result in a grade better than the default grade. An I grade may not be assigned to a student who did not attend the course.

Academic Integrity

Please review the CSE Department academic integrity policylaunch and the UB undergraduatelaunch academic integrity policy to familiarize yourself with the relevant academic integrity policies and procedures. Students that submit plagiarized work will receive a grade of F for the course.


Please register and coordinate with the Office of Disability Services. Let the course staff know when accommodations need to be made. We are committed to helping you learn.

Online Resources

This website is the source for all information about the class: the syllabus (which you are reading) and the video series.

Getting Help

Here’s how to—​and how not to—​get help.

Great Ways to Get Help

The online forum is the place to go to discuss the videos and activities. This is a great resource because it allows you to get help from anyone at any time—​not just during class or recitation. Please use and contribute to this valuable shared resource.

  • Come to office hours. We don’t hold them for our health and instructors get bored when there isn’t anyone to help! So please don’t hesitate to come by, even just to say hi.

Bad Ways to Get Help

  • Emailing any staff member using their @buffalo.edu email address. I instruct the staff to ignore these emails. Use the forum or talk to them during class.