CSE 123B: Communications Software

Course Details



Grades will be computed as follows: 
5% Class Participation
10% Homework (written assignments, reading evaluations)
45% Programming projects
15% Midterm
25% Final Exam

Class Participation

One goal of this course is to encourage discussion of the issues in computer networks and distributed systems among all of class members. As such, students are encouraged to ask questions, point out weaknesses, and make observations during the lecture. 


The homework portion of your grade will be determined evaluations of a number of technical papers that we will read during the course of the quarter.

For each assigned paper, students will submit a 1-2 page single-spaced evaluation listing: (i) the three most important things the paper says, (ii) the most glaring problem with the paper, and (iii) what conclusion you draw about building robust and scalable networks and networked systems. Clearly, you may have changed your mind by the end of the class discussion; that's OK (and even expected). Evaluations must be turned into class the day the paper is assigned for class. Late homework will not receive credit for any reason.


There will be two examinations in this course.  The exams will be closed book, closed notes and will stress conceptual understanding rather than low-level details. The final will be comprehensive covering material from the entire course.

Late Policy

Homework assignments will not be accepted late (no exceptions).  For programming projects, you will have a total of three flex days that your group can allocate any way you see fit.  For example, you can turn in one assignment three days late, or three assignments one day late.  Beyond these three flex days, you will lose 25% of your grade for each additional 24 hours that each project is late.


Homework assignments and, of course, examinations are to be completed individually.  We encourage collaboration and assistance on all programming projects.  However, each group (and all its members) must independently design and develop their own solutions and understand how their design works.  Writeups for programming projects must be completed individually by each group. The details of any collaboration should be described in the project writeup. As with any scholarly work, it is important to acknowledge assistance where it takes place.