COMS 6181: Advanced Internet Services (Spring 2015)

[Syllabus and schedule] [Slides] [Projects]


Survey of modern Internet protocols and supporting algorithms for delivery of multimedia content and communications, as well as next-generation Internet issues including

Series of lectures, combined with homework assignments that include programming. Students will gain hands-on experience and will apply the concepts that are presented and explained in the lectures.


COMS 4119 (Computer Networks) or other recent networking course; COMS W3139 (Data Structures) and COMS 3157 (Adv. Programming), or permission of the instructor. Good knowledge of C/C++ and/or Java.


M 4:10 - 6:00 pm in 825 Mudd

Instructional Staff

Prof. Henning Schulzrinne (office hours: Thursdays, 4-5 pm or by appointment), contact at
Teaching assistants:
Priyanka Manchanda; office hours Wednesdays, 9 to 11 am (starting March 11) and by appointment
Jiayi Yan; office hours Tuesdays 1:30pm to 3:30pm and by appointment
Teaching assistant office:
TA room (Mudd 122A)


There are no required or recommended books. The following books are optional if you want to dig deeper:

E-books contains a number of on-line books related to Internet issues.

Class Mailing Lists and Other Resources

Computing Requirements

All programming can be done on any machine that can run Linux (gcc), MacOS or Windows. However, only those programs which compile using the gcc or java compiler on the CLIC machines will be graded. Furthermore, it is critically important that all submitted program listings and executions be thoroughly documented. Poorly documented programs will be penalized.

Grading and Late Policies

30%: Semester project:
A three-person project assigned early in the semester, involving a topic related to the class.
25%: Homework assignments:
There will be approximately five homework assignments, assigned roughly every other week and alternating between larger programming projects and question-based assignments. The programming projects will build up to a simple VoIP system, including including audio and video input and output, packet encapsulation, call setup and multicast.
20%: Midterm:
The midterm is one class period, closed book, calculator permitted. The midterm will cover all material discussed in the course up to the week before the exam.
25%: Final:
The final exam is scheduled at the normal final exam time for this class period. The final is closed book, calculator permitted. The final is cumulative and will cover all material discussed in the course.
0%: No "extra credit" work

Programming assignments are done individually.

All homeworks are due by the date specified in the assignment (usually two or three weeks after they are issued), at NOON. The deadline for CVN students is the same as for in-class students. Homework submissions will be electronic, through CourseWorks. Complete instructions will be given with each homework.

You can submit your assignment multiple times, but the last submission is what counts. Each submission will be time stamped. Proper submission is your responsibility; we strongly urge you to make sure you understand the submission process and submit early. You can always submit again up until the deadline, so we strongly urge you to submit well before the deadline and then submit again if you have a more updated assignment to submit later.

You are allowed a total of 5 late days, to be used as you wish throughout the semester. That means you can be five days late for Homework 2 (for example), or one day late for each of the first five homework assignments, with no point penalty. Once you have exhausted your five late days, late homeworks will not be graded at all --- no extensions will be given, except for medical emergencies certified by University Health Services or a family emergency. Naturally, you may hand in incomplete assignments for partial credit by the deadline. The TAs keep track of your accumulated late-day balance. If you submit multiple revisions of your assignment, the last revision determines the late day. (Example: If you submit one homework problem by the deadline and the full assignment two days late, you will be charged for two late days, but graded on the full assignment.) There are no fractional late days - each beginning 24-hour period is counted as a day.

Also see the Columbia Policies and Procedures Regarding Academic Honesty.

We encourage you to help one another in understanding the concepts, algorithms, or approaches needed to do the homework assignments for this class. However, what you turn in must be your own, or for group projects, your group's own work. Copying other people's code, solution sets, or from any other sources is strictly prohibited. Students in previous years have often been caught cheating by copying answers from the web, which turn out to be incorrect. The homework assignments must be the work of the students turning them in. Anyone found violating the class collaboration policy will be punished severely.

All students or groups whose assignments are determined to be obviously very similar will receive a zero on the respective homework assignment for the first offense, and will receive an F for the course for the second offense ("all" means both the copy-er and copy-ee). More serious cases of cheating, such as copying someone's work without their knowledge or cheating on exams, will result in the person cheating receiving an F. In addition, offenses will be reported to the Dean's office, which may result in further disciplinary action, including suspension or expulsion from the program. Penalties will be given without discussion or warning; the first notice you receive may be a letter from the Dean. Note that you are responsible for not leaving copies of your assignments lying around and for protecting your files accordingly.


We would like the course to run smoothly and we'd like you to enjoy the course. Feel free to let us know what you find good and interesting about the course. Let us know sooner about the reverse. See us during office hours, leave us a note, or send us email.