Syllabus
From Web Science 2009 class
Contents |
ITEC 4961/CSCI 4961 -- Web Science Fall 2009
Professor
Prof. Jim Hendler hendler@cs.rpi.edu
http://www.cs.rpi.edu/~hendler
twitter:@jahendler (in an emergency, a direct twitter message will often reach me faster than anything else - but use sparingly!)
Office Hours: TBD
Teaching Assistant
Dominic DiFranzo
difrad@cs.rpi.edu
Office hours on Mondays 1pm to 2pm and Wednesdays 3pm to 4pm (or by appt if needed). Office hours will be in Amos Eaton 217.
Course Intent
Since its inception the World Wide Web has changed the ways people work, play, communicate, collaborate, and educate. There is, however, a growing realization among researchers across a number of disciplines that without fundamental understanding of the current, evolving and potential Web, we may be missing or delaying opportunities for new and revolutionary capabilities. This course attempts to provide the foundations of that understanding, exploring the fundamentals of the World Wide Web's function including the HTTP protocol, key algorithms that make the Web function, future trends, and social issues with respect to Web use and effect.
Work Load
Class will have two programming projects and a final, larger, project (done as individuals or small groups). On Projects 1 and 2, students will have the option of programming on their own or in two-person teams (as is the recommended practice in the real-world nowadays - cf. eXtreme Programming). The final project will be in lieu of a final exam and due no later than the date the exam would take place - students will be required to demonstrate the application aspects of their projects. There will also be homework assignments, these may include "light" programming. There will be a midterm approximately half way through the class. There will also be 2-3 presentations made by students working in small groups. I reserve the right to hold an inclass quiz at any point in the term, especially near the end of the term (that would be a "unit" test, not a final).
Grading
Homeworks/presentations: ~15% Projects 1,2: 30% Midterm/quizzes: 20% Final Project: 30% In class intangibles: the rest. Lateness policies, rules with respect to academic integrity and extra credit rules will be given along with each of the programming assignments. We note that discussing classwork with other students is not only allowed, but encouraged, except as specified in project outlines. Homework and presentations will not be accepted late unless approved in advance. Campus rules will be applied re: excused or health absence. The TA will not be allowed to give any extensions on any project or assignment. (General rule of thumb, the professor is more lenient when asked in advance.)
Course Topics
he following is a list of potential course topics and projects. It should give you an idea of what will be explored, but not be taken as final.
- Intro: What is Web Science
- The "original Web"
- Web history - where did it come from?
- Python
- Review of Web Architecture
- URIs, HTTP, Error Codes, etc.
- REST (example, the twitter REST API)
- Search - the killer app
- Spiders, Crawlers and other Web denizens
- Search algorithms and page rank
- Has Search changed the world?
- Web 2.0 - the Social Web
- From Powerlaws to People
- Social Machines
- Web 2.0 Infrastructure
- Social Networks - the math, the hacks
- Policy and Technology
- From Powerlaws to People
- Web 3.0 - the third decade
- Linked Data
- RDFa and search enhancement
- Semantic Web
- RDF, RDFS, a little OWL
- "Policy aware" Web technologies
- What will the future bring
- Linked Data
Guest Lectures
We expect that there will be guest lectures in this course by either visitors with specific expertises in topics of interest to the class, faculty members from this and other campuses talking about the effect the Web has had on their fields, or other relevant topics. Students are required to attend guest lectures as per normal attendance rules, and the material presented is fair game for tests, homeworks, etc.
Learning Outcomes
Successful Completion of this course will lead to the following:
- Students will demonstrate knowledge and be able to explain the three different "named" generations of the web (a/k/a Web 1.0, Web 2.0, and Web 3.0) from mathematical, engineering, and social perspectives.
- Students will demonstrate the ability to use the dynamic programming language Python to develop programs relating to Web applications and the analysis of Web data.
- Students will be able to understand and analyze key Web applications including search engines and social networking sites.
- Students will be able to understand and explain the key aspects of Web architecture and why these are important to the continued functioning of the World Wide Web.
- Students will be able to analyze and explain how technical changes affect the social aspects of Web-based computing.
- Students will be able to develop "linked data" applications using Semantic Web technologies.
