CS 125

Computer Systems
Fall 2017


Geoff Kuenning, HMC Olin 1255, x71610, geoff@cs.hmc.edu
Joyce Greene, HMC Olin 1260, x18225

Getting Help

If you need help with assignments, send mail to cs125help "at" cs.hmc.edu. This alias is preferable to mailing the professor directly, since it causes the mail to be sorted into a higher-priority box. ABOUT SCREENSHOTS: Please do not send screenshots of code. Screenshots take unreasonable amounts of space, are hard to read, prevent us from trying the code out ourselves, and often include only part of the program (usually the part without the bug). Instead, attach a complete copy of your program to your email.

Class Meetings

Lecture Times:
Monday/Wednesday 2:45-4:00 (Beckman B126)
Lab times:
Tuesday, 4:15-5:30 (Beckman B105)

Course Description

The goal of CS 125 is to introduce the big questions in computer networks, such as:

The text for the course is Computer Networks, A Top-Down Approach, 7th Edition, by James Kurose and Keith Ross, Pearson, 2016, ISBN 978-0133594140 (hardcover). Note that if you buy the book used, or rent it, you may have to pay a separate fee to access the associated Web site.

If you buy or rent the book from amazon.com via the preceding link, it will generate a commission for the Computer Science Department, which will be placed in the CS student activities fund. The money will directly benefit students, NOT the faculty or the department. Using the link to order any other book will also generate the commission.

Requirements and Grades

We have made great efforts to encourage you to submit material on time. Make sure to read the late policy. The relative weighting scheme will be as follows:

Labs: 60%
Written assignments: 15%
Midterm: 10%
To pass the class, you must obtain a passing average on the exams and regularly attend class.


As in CS 105, lab time will be used to get you started on the various experiments. We DO NOT intend you to complete the labs during the lab time, but will establish some ground rules on the time you should spend on each lab. The Web pages for the labs will be updated as the semester progresses.

We use pair programming for all the labs. Be aware that if you let your lab partner do most of the work, you will score poorly on exams and thus in the class. Be sure to participate fully in the labs, as that is where a lot of the learning takes place.

When choosing a partner, we suggest that you select someone with a compatible schedule and similar ability. We will reshuffle the pairs about 4–5 weeks into the semester. By then, you will probably have a better idea of who in the class is a good match.

Written Assignments

There will be regular written assignments, done individually. These typically involve a written response to readings (from the textbook, or from some external source like web pages or official documents such as RFCs).

Collaboration Policy

Collaboration is encouraged. This means that you may discuss approaches to solving problems with anyone in the class, including the professor and the graders. However, COPYING solutions from any source (person or book) is DISALLOWED. All students are expected to conduct themselves in accordance with the Harvey Mudd Honor Code. If you have any questions about what is appropriate or inappropriate collaboration, please talk to me.

Web Page

Obviously, you should check the Web page regularly. Your primary source of timely information is the class calendar. Changes to the calendar page will NOT be announced via e-mail; it is your responsibility to keep an eye on it.

Major changes to other Web pages will be announced to the class mailing list.

© 2017, Geoff Kuenning

This page is maintained by Geoff Kuenning.