From 118wiki

Jump to: navigation, search

22C:118 Course Syllabus Fall 2006

Introduction to Network Applications

Tuesday/Thursday 2:30-3:45 room 221 MacLean Hall

Professor: Ted Herman, 201M MacLean, Telephone: 335-2833
E-mail: Office Hours: 15:30-16:20 MWF
Note: if not in my office 201M MLH, try the lab in room B1C MacLean Hall.

Teaching Assistants: Mike Decoster, email, office is B20J MLH, office hours are MWF 11:00-12:00 and TTh 4:00-5:00.

Prerequisite: 22C:060 with a grade of C- or higher


There is no main text for this course; nearly all of the reading material will be available online. Part of the coursework will be some programming homework, using various tools and languages to experiment with network protocols and Internet/Web programming. There are many possible tools and languages, such as Apache and its API, MySQL, PHP, Ruby, and Python. Obviously you can't be expected to learn all of this for one course, so I will expect everyone to learn just a little of Python. If you would like to purchase a book, I recommend Python in a Nutshell, second edition, This book is a reference book, not an introduction to the language. There are some good online introductions: (1) Appropriate for most students who already know Java or C# could be the book Dive into Python which is available online: (2) A good beginner's book is Learning Python by Mark Lutz. This text is available online if you access it via the University's catalog. (3) Alternatively, you may want to read the online tutorial by Guido van Rossum. A more complete list of reference books on Python is given on, though working though online examples and documentation is often more useful than books if you just want information quickly.

Announcements: Nearly all assignments, projects, examination information, and various help files will be posted to a 22C:118 Course Web site. The URL for the course's Web site is:

Content and Schedule: The following is an approximate plan for the semester - I may need to adjust it based on the progress of students. Changes to this syllabus will be reflected in the online version, available on the course web site.

122 Aug24Protocols, Architectures
22931Social Networks, Network Laws
35 Sep7 *Metrics first exam - 25 points
41214 *Web Protocols homework - 5 points
51921 *Content Networks, Caching homework - 15 points
62628Navigation, Packet-Switching, Naming second exam - 25 points
73 Oct5 * Queues, Performance homework - 10 points
81012Simulation homework - 10 points
91719 *third exam - 25 points
102426 *Databases homework - 20 points
11312 NovFrameworks, Representation
1279 *Concurrency fourth exam - 25 points
1314(no class)
14(no class)(no class)Thanksgiving
165 Dec7 *homework - 40 points

Examination Dates, Homework Due Dates: the dates are all on Thursdays, shown in the schedule above. Homeworks are due by 11:59pm Thursday evening.

Professor Absent Dates: 16-20 November (conference attendance)

Miscellaneous Announcements: The University of Iowa Policies.

  • This course is given by the College of Liberal Arts and Sciences (CLAS). This means that class policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found at: provost/deos/crossenroll.doc.

  • See the student academic handbook for administrative procedures, your rights and responsibilities, and other topics. The official classroom procedures for faculty includes policies on cheating and plagiarism, students with disabilities, and other topics. In particular, we are required to state the following: I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours.

    Also, we are required to specify the following information. The name of the department, location of the departmental office, and information on how to contact the DEO or his/her designee.

    Department of Computer Science

    14 MacLean Hall

    Professor James Cremer, DEO

  • "Statement that, for each semester hour credit in the course, students should expect to spend two hours per week preparing for class sessions (e.g., in a three-credit-hour course, standard out-of-class preparation is six hours)."

  • "Procedures for student complaints." There is rather specific language (legalese) describing the escalating hierarchy of complaint procedures in several University documents. Typically, the student tries to resolve the matter with the instructor; then it can go to the department chairman or higher levels of authority. Please see the official documents for all the details of grievances and appeals.

  • The collegiate policy on plagiarism and cheating Plagiarism and cheating are not tolerated. In the past, I've gone so far as making multiple versions of quizzes and examinations to discourage cheating (which had the unfortunate side-effect of being "unfair" because not all examinations were identical). Generally, students caught cheating for the first time may be given a penalty up to an automatic F in the course. Such an F cannot be removed from the transcript. Penalties up to expulsion may apply to second offences. While you are encouraged to discuss homework problems with others in the class (this is a good way to learn), do not discuss anyone's solutions prior to turning in your final copy! In some cases, I may assign group homeworks, and of course the submitted work will be by the group in those cases, where collaboration is expected.

  • Goals and objectives of the course. Traditional networking courses explore the insides of networks, explaining various architectures and performance issues. Unlike a traditional course, 22C118 will spend less time explaining how networks are built and more time about how applications use networks. The goal is to learn how to make use of networks, even though you may not understand all the components and how they work. Note: students will be expected to demonstrate learning of topics by programming exercises (homework). These exercises will use the Python programming language, which is available on the CS Department's machines (and there are MS Window-based versions as well, in case students would like to work on programs at home). Naturally, many of the programming exercises will require working on computers connected to networks, usually meaning the Internet.

  • Schedule of topics, readings, and course materials or other description of course content. See above, and frequently consult the course web page for assigned readings, pointers to online documents, and other announcements.

  • Grading procedures, including whether plus/minus grading will be used. Plus/minus grading will be used based on normalizing total student scores to a curve. There are four in-class examinations, and five homeworks. Examination scores contribute 50% of the final grade, and homework scores contribute 50% of the score. Above, it is noted that students can expect to spend about six hours per week outside of class on this course.

  • Instructor's or departmental policies on attendance and tardiness, assignments, and examinations. Students are expected to attend classes. No late homeworks are accepted if solutions have been posted to the course web site. There is no guarantee that late homeworks will be accepted; if the Professor or TA agree to accept a late homework, the score will be penalized: homeworks submitted late, but before the TA has graded all the on-time homework, will be penalized by 20%; homeworks submitted after the TA has finished grading all the on-time homeworks, but within a week of the deadline, will be penalized 50%.

  • Dates and times of any exams scheduled outside of class time and the date and time of the final examination. None. There is no final examination for this course. The University's Final Examination Schedule does not apply to this course.

  • Corrections or changes (if any) in the information about the course printed in the Schedule of Courses or other official University publications. Corrections, updates and announcements will be posted on the course web page version of this syllabus.

  • Resources for obtaining additional help, such as tutors, teaching assistants, or tutorial laboratories (if any). Most of the additional resources are online or in libraries. They will be announced on the course web page.

Personal tools