Announcements: HW 4 is now online (due 12/9/2005). The instructor will have extended office hours next week (1-3:30). We will put practice problems online on Fri 12/9/2005. The final exam is on Wed 12/14/2005, from 9:30-11:30 in 200-105 (please arrive 5 minutes early). Please plan on a 12 minute presentation (and 2 minutes for questions).
Class-email: msande130-aut0506-staff @ lists.stanford.edu
Instructor: Ashish Goel, ashishg @ stanford.edu. Office Hours: M 2:30-3:30, and by appointment. 650-724-1463.
Course Assistant (TA): Subie Patel, subhash.patel @ gmail.com . Office hours Thu 3-4pm. Location Terman 401. Ph: 650-736-2445 during office hours.
Who to contact for what: Please use the class-email for all email unless there is a very specific reason to send email to only the instructor or only the TA. For grading related questions, it is best if you drop by during the TA's office hours. For technical questions, it is best if you drop by the Instructor's office during office-hours.
Grading: There will be a 75-minute, in-class, closed book midterm on Mon Oct 24th, and a 2-hour, comprehensive (i.e. will include material from both before and after the midterm), closed book final exam in the regularly scheduled slot (9:30-11:30, Wed Dec 14th). There will be a project and 4-5 homework assignments. The assignments will have a weight of 20%, the midterm of 25%, the final of 35%, and the project of 20%.
Collaboration Policy: Limited collaboration may be allowed on the homework assignments. Each assignment will specify what level of collaboration is allowed. Please be warned: no collaboration will be allowed in assignments involving programming.
Required Textbooks and class notes:
1) Computer Networking: A Top-Down Approach Featuring the Internet by James F. Kurose and Keith W. Ross, 3rd edition, Addison Wesley.
2) A First Course in Database Systems by Jeffrey D. Ullman and Jennifer Widom, 2nd edition, Prentice Hall.
The course assistant will scribe class notes, and we will typically post them a week after the lecture. We recommend using them only to supplement the detailed class notes you make yourself.
Make-up class: There will be no class on Wed Sep 28th since the instructor has to go to a conference. Instead, there will be a make-up class on Fri Sep 30nd from 11-12:30 (location TBA). If you cannot make it to the make-up class, please let us know in advance and the course assistant will hold a make-up session for the make-up class.
First, read the detailed syllabus and the prerequisites. If you are already knowledgeable about much of the material, or find it uninteresting, then clearly this class is not right for you. If you find the material interesting and relatively new, then ask yourself the following questions:
Are you planning to take several advanced courses that will cover networking, databases, the web, information retrieval etc. in detail? If yes, then this course might not be very helpful for you.
Are you afraid of programming/technology or believe that this low level stuff is not useful? If yes, then again this is not the class for you.
A (*) denotes material which will be treated in significant technical depth. The remaining material will be discussed with varying degrees of informality.
1) Networks + Security (3 weeks)
Network architecture -- ISPs. Access Points
Network functioning -- TCP/IP, DNS, Router functionality (*)
The end-to-end principle -- implications for security, peer-to-peer systems
The Client Server model -- the WWW
Email; issues with SPAM
Authentication, Public Key Cryptography, Digital cash (*)
2) Information Retrieval from the Web (1week)
Web search technology -- Reverse indices and crawlers (*)
Semantic vs. syntactic search
3) Reputation Systems (1 week)
Importance -- anonymity, reputation as currency
PageRank – the rating system used by Google (*)
Other reputation systems (HITS, EBay, Kazaa, bizrate)
Reputation system vulnerabilities
4) Database Systems (2 weeks)
SQL and the relational model (*)
Creating and querying databases (*)
Database design principles
5) Peer-to-Peer Systems and their implications (1 week)
Definition, applications, and examples: multicast, IRC, file sharing, Bit Torrent
Relevance of reputation systems to P2P
Should all functionality be distributed or some centralized?
-- reputation system, for example?
-- hybrid systems such as Kazaa, BitTorrent, OKBridge
-- who owns the centralized system for P2P, who pays, who is liable?
P2P and piracy (*)
6) Selected topics in Internet Commerce (1 week)
Search marketing (*)
Pricing of digital goods
7) Project presentations and guest lectures (1 week)
The projects should be done in groups of three to four, preferably four. Please form teams and choose a project by Mon Oct 17th. At most two teams can choose the same project. Each project will involve a report and a presentation. Project presentations will be on Dec 7th, and the reports are due on the same day.
A preliminary draft (or a detailed outline) of the report will be due on Mon Nov 14th. The preliminary draft should clearly describe your approach, and mention any further work you are going to do before the final submission. You will get comments on the preliminary draft back on Nov 17th.
Choose one of he following projects, or devise something of your own by Oct 17th, and let us know.
1) Reputation Systems: Study the reputation systems used by eBay, Amazon, and epinions (feel free to substitute or add another reputation system). Point out the salient features, the advantages, and the vulnerabilities of each. Choose one of the three, and explain how it could be made more robust (within the context where it is used).
2) Social Networks: A variety of social networks (eg. LinkedIn) have sprung up online. Perform a survey of the most commonly used social networks on the web. Identify the advantages and the shortcomings of each social network surveyed. In particular, reason for or against the following statement: Special purpose social networks (such as one for software professionals, one for Giants fans, etc.) are more useful than general purpose social networks.
3) Tackling email SPAM: Present a pragmatic solution for tackling email SPAM which has the following features: (a) There is no (or negligible) cost associated with sending legitimate email. (b) Sending SPAM results in some financial costs. (c) Identifying the source of SPAM is easy, making prosecution of spammers feasible. DO NOT make a prototype. Just explain the technical design of your system, and the financial and legal mechanisms needed to ensure that it works smoothly.
4) Publishing: The world of publishing as we knew it is under fire for two reasons: (a) online piracy, (b) self-publishing (eg. via blogs, web-pages, electronic journals). Pick one of the two reasons and present a report on the technical and marketing responses of the publishing industry to this challenge.
5) Survey the various pricing models currently in use to sell digital content over the Internet. What are the major obstacles (technical as well as those related to marketing/consumer behavior) to implementing micro-payments?
2) Homework 1 (due 10/13/2005)
3) Homework 2 (due 10/21/2005)
5) Solutions to HW 1 – not available online
6) Solutions to HW 2 – not available online
7) Solutions to practice problems – not available online
8) Solutions to midterm problems – guess what – not available online J
9) Homework 3 (due 11/28/2005)
10) MySQL tutorial
11) Homework 4 (due 12/9/2005)
12) Solutions to HW 3 -- not available online
9/25/2005: Welcome to the class. Please read the class web-page carefully.
9/25/2005: There will be no class on Wed Sep 28th since the Instructor is going to be away to attend a conference. There will be a make-up class on Fri Sep 30th from 11-12:30. Please let us know in advance if you can not make it to the make-up class and the TA will schedule a make-up section for the make-up class.
9/25/2005: Please send a 4-digit number to the TA. We will use this to post your grades on the web-page.
10/3/2005: Lecture 1 is now online. Please make sure you can access the lecture notes directory.
10/6/2005: HW 1 is now online.
10/14/2005: HW 2 is now online.
10/16/2005: Special office hours in Terman 311 on Fri 10/21 from 1:00-2:30. Please note that this will be your last opportunity before the midterm exam to get your questions answered.
10/20/2005: Practice problems for the midterm are now online.
11/14/2005: Homework 3 is now online.
11/14/2005: The instructorÕs office hours are changing to Monday 2:30-3:30.
11/14/2005: Handout 10 (a quick MySQL tutorial) is now online.
12/2/2005: Homework 4 is now online.
12/5/2005: Extended office hours (1-3:30) on Monday 12/12.
12/5/2005: Final exam: 9:30-11:30 on 12/14, in the regular class room (Bldg 200, room 105). Please arrive 5 minutes early since we will start at 9:30 sharp.
These notes are scribed by the course assistant, with minimal feedback from and verification by the instructor. Please do not rely exclusively on these notes or use them as a replacement for the textbook or your own lecture notes. Further, these notes are only available to Stanford students.
Click here to get to the notes, after you have read the above (notes will typically be posted a week after the lecture).