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.