CSE 199 Fall 2016
Syllabus for CSE 199: How the Internet Works
Overview
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.
Announcements
We’re trying announcements through video this semester. Here’s the playlist:
Forum
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!
Approach
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:
-
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.
-
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.
-
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.
Calendar
We suggest that you add our global CSE 199 calendarlaunch and the appropriate calendar for your activity section to your calendaring program. If you are not using a calendaring program, we suggest that you begin using a calendaring program.
Note that the calendar below only has things applicable to all CSE 199 students. These include weekly activities, staff office hours, open shooting sessions, movie nights, and important dates. This calendar does not include activity section meeting or recitation meeting times and locations. Activity sections are on section-specific calendars shown below. Please add recitations to your own personal calendar as needed.
Other Important Dates
Also on the calendar. The registrar’s office has their own semi-useful calendar herelaunch.
-
Last day to drop or add courses: Tuesday 9/6/2016
-
Midterm grade deadline: Friday 11/4/2016
-
Last day to resign: Friday 11/11/2016
-
Last day of class: Friday 12/9/2016
-
Final grade deadline: Monday 12/26/2016
Information
Course Staff
Geoffrey Challenlaunch is providing most of the content for the class in the form of short videos. But you will notice contributions from others—including other course staff, other UB CSE faculty members, and hopefully eventually alumni and external experts 1. The four fantastic faculty leading activity sections are Jesse Hartlofflaunch, Matthew Hertzlaunch, Andrew Hugheslaunch, and Jennifer Winikuslaunch.
We have a great group of undergraduate and graduate teaching assistants to help you learn about the internet. Greg Bunyealaunch is serving as the head undergraduate teaching assistant. Carl Nuesslelaunch is serving as the head (and only) graduate teaching assistant. The 24 other teaching assistants are Aishani Bhalla, Mohit Bhatia, Isabelle Caneda, Wesley Csendom, Junjie Chen, Michael Drewitt, David Dobmeier, Lakshmi Ethiraj, Richard Hanulewicz, Liam Gensel, Harshita Girase, Patrick Jones, Heeba Kariapper, Valencia Kaplinsky, Lawreen Latif, Angus Lam, Ian Ngumi, Brijesh Rakholia, Rachel Roberts, Parth Shah, Kyle Schoener, Dan Starner, Evan Walley, and Grant Wrazen. Phew! That’s quite a group. Instructors and teaching assistants are broken down by activity section below.
Times and Locations
Times and locations for activity sections and recitations are listed below. You can also find this information on the HUB.
In addition to activity sections and recitations we are planning a number of other optional—but fun—activities. First, we have several movie nights planned for the semester where we will watch some great internet-related films 2. Second, we will hold open shooting sessions each week on Wednesday starting at 10AM. We’re still shooting footage for the later weeks in the class, so if you’d like to be part of the studio audience you are more than welcome—although I can’t spring for any fancy prizes. Details about both of these events will be on the course calendar. The course calendar will also list office hours for all CSE 199 instructors.
Textbook
There is no required textbook for this course.
Exams
We will not give any exams.
Prerequisites
There are no prerequisites.
Description
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 3. 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 4.
Outline
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:
-
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".
-
Activities: Internet Avoidance (2016-08-31)launch
-
-
Connectivity: cables, connected at work and at home, the last mile problem, the core internet, packets, circuit v. packet switching.
-
Activities: Connection Detection (2016-09-07)launch
-
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Activities: Personal Parallel Processing (2016-10-17)launch
-
-
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.
-
Identity: cookies, server side tracking, IP addresses v. identities, anonymity online, online v. human identities.
-
The Interactive Web: JavaScript, web applications, asynchronous web requests, modifying the DOM.
-
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.
-
Your Brain on the Internet: attention, concentration, distraction, deadly accidents, search v. knowledge, controlling our internet usage.
-
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.
-
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?
Objectives
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 5 |
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 6 |
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
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 7.
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
8, although they don’t have to be in the same section.
Grading
Video submissions will be graded on the following criteria:
-
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.
-
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.
-
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?
-
Originality (20%): does the video explore the idea in a new way and not one derivative of existing video explanations?
-
Excitement (20%): does the video engage the viewer and make them want to learn the material?
-
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.
Filming
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.
-
Friday, 9/30/2016: 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) 9.
-
Friday, 11/4/2016: 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:
-
Any of the introductions: "Introduction to internet naming", "Introduction to web protocols, queries, and documents", "Introduction to search", "Overview of a single search", etc.
-
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.
-
-
Friday, 12/9/2016: 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’ll discuss this assignment in more detail with your activity section leader and course staff later in the semester.
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 |
|---|---|---|
A |
100 |
94 |
A- |
93 |
90 |
B+ |
89 |
87 |
B |
86 |
84 |
B- |
83 |
80 |
C+ |
79 |
77 |
C |
76 |
74 |
C- |
73 |
70 |
D |
69 |
60 |
F |
59 |
0 |
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.
Disabilities
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.
Mailing List
All enrolled students will be added to a mailing list which we will use for
course communication.
You are responsible for email messages sent to this list, and to your
@buffalo.edu email address.
If you are not enrolled and would like to be added to the list, you can sign
up herelaunch.
Getting Help
Here’s how to—and how not to—get help.
Great Ways to Get Help
-
Use the the forum.
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.eduemail address. I instruct the staff to ignore these emails. Use the forum or talk to them during class.
Sections
Information specific to each activity section follows. Geoffrey Challenlaunch may drop in on any of these sections at any time. And of course Carl Nuesslelaunch has been known to show up anywhere at any time as well—so be ready.
199A, 199B, 199C
The three 4PM sections will meet together in Bert’s Cafeteria at 4PM on Mondays and Wednesdays.
-
Instructors: Jesse Hartlofflaunch, Matthew Hertzlaunch, and Jennifer Winikuslaunch
-
Teaching Assistants: Junjie Chen, David Dobmeier, Lakshmi Ethiraj, Liam Gensel Harshita Girase, Richard Hanulewicz, Patrick Jones, Valencia Kaplinsky, Heeba Kariapper Angus Lam, Lawreen Latif Ian Ngumi Brijesh Rakholia, Rachel Roberts, Kyle Schoener, Parth Shah Dan Starner Grant Wrazen and Evan Walley
-
Dates and Times: MW at 4PM in Bert’s Cafeteria
Calendar
This calendarlaunch shows events for the 4PM sections only. You should also add the CSE 199 global calendar to your calendaring program. You’re using a calendaring program, right?
199D
-
Instructor: Andrew Hugheslaunch 10
-
Teaching Assistants: Aishani Bhalla, Mohit Bhatia, Greg Bunyea, Isabelle Caneda, Wesley Csendom, Michael Drewitt, and occasionally Geoffrey Challen.
-
Dates and Times: MW at 9AM in Alumni 97
Calendar
This calendarlaunch shows events for the 9AM section only. You should also add the CSE 199 global calendar to your calendaring program. What do you mean you aren’t using a calendaring program? Everyone uses one!