Syllabus - CS341

Computer Science 341
Networked Systems and Applications Spring 2004

Course Information

Class Meets: Monday and Wednesday 11:00am-12:15pm
Location: 224 Clapp
Web Page:

Instructor Information

Instructor: Sami Rollins
Office: Clapp 221
Phone: (413) 538-3250
Office Hours: (tentative) Wednesday 12:30-1:30pm and Friday 10-11am, and by appointment


CS 211, 221, and 322. Students should have good programming skills in a language such as C/C++ or Java and an understanding of basic operating systems concepts. Contact me with any questions regarding pre-requisites.

Course Objectives

Required Text

There is no required text for this class. Readings will be posted on the web page and will be largely web accessible. Students may find the following text helpful and it will be on reserve in the library:
J. Kurose and K. Ross. Computer Networking: A Top-Down Approach Featuring the Internet, Second Edition. Pearson Addison Wesley, 2002. Also see:

Grading Information

Grades will be distributed as follows:
Warmup Assignments: 10% -- No late warmups, no exceptions!
Homeworks (2): 10%
Programming Projects (4): 60%
Quizzes (2): 20% -- No makeup quizzes, no exceptions!
Note: I reserve the right to change the distribution and add assignments as necessary.

Course Overview

This course is an introduction to the design and implementation of networked computer systems. Topics include web service architectures, peer-to-peer systems, and mobile and pervasive computing systems.

We will cover the following topics:
Week Number Topic
Week 1 Introduction
Week 2 Networking, Java, and Unix Overview
Week 3 HTTP and Web Architectures Overview
Week 4 Dynamic Content and Web Services
Week 5 Load Balancing and Case Study: Google
Week 6 Quiz/Lab Day
Week 7 CDNs and Demo Day
Week 8 No Class -- Spring Break
Week 9 iPAQ Programming and P2P Overview
Week 10 P2P File Sharing and Search
Week 11 DHTs and Measurement Studies
Week 12 Mobile/Pervasive Overview and Mobile Data Access
Week 13 Proxies and Sensor Nets
Week 14 Quiz/Lab Day
Week 15 Final Demos

Reading or background research will be assigned for every class along with a set of warm-up questions. Warm-ups are to be turned in at the start of every class and will account for 10% of your grade. For the warmups, you will be graded on your effort and no late warmups will be accepted. You will have two hands-on homework assignments and four project assignments. Project assignments will be worth 10, 20, 10, and 20 percent of the grade, respectively. Two in-class quizzes will be given and will account for 20% of the grade.

Warmup assignments will not be accepted late. Homework and project assignments turned in late by 1 week or less will be eligible for 80% of the total grade. Homework and project assignments submitted 1 week or more after the deadline will receive a 0. No makeup quizzes will be given. If you miss a quiz, you will get a 0.

Extra Credit Opportunities: You will receive extra credit of up to 10% of your grade for presenting a particular topic in class. To take advantage of this opportunity, select a topic from the syllabus and come to speak with me about your interest in presenting it. You will be expected to read at least one research paper on the topic and give a presentation of about 20 minutes. You will be graded on your preparedness and research/understanding of the topic. Note: by taking advantage of this opportunity you can make up a missed quiz, or opt out of a quiz.

Additional Opportunities: I encourage you to relate the topics we are discussing to your own interests and/or research. If you would like to modify any of the project assignments to be more relevant to your own interest, I encourage you to come speak with me about that possibility. To take advantage of this opportunity, you must develop a proposal that outlines what you will do for your project. The proposal must be submitted by the day the project is assigned. The proposal must describe how you plan to apply the same skills required by the original project. Once I approve your proposal, we will schedule a meeting to discuss the project and outline the requirements and deliverables of your project. You will be bound by the same deadlines of the original project. Be careful about taking advantage of this opportunity, it will be more work that doing the original project. However, it may be worth it if it helps you in some other way.

Unless otherwise noted, assignments are to be completed individually. Academic dishonesty will NOT be tolerated. This is your warning! Students are encouraged to meet with me if they have questions regarding assignments or this policy. Students caught cheating will face severe penalty. Please see: this document for a discussion of academic dishonesty. We will follow the policies outlined there.

Sami Rollins