CS 4800/6800/7900 Web Information Systems

Instructor: Dr. Tanvi Banerjee and Dr. Amit Sheth
Class Hrs: Tuesdays and Thursdays, 3:30-4:50pm
Location: 355 Joshi
YouTube Playlist: Web Information Systems
Grading Rubric:
Assignments* 30% of the overall grade
Participation** 10% of the overall grade
Midterm 20% of the overall grade
Project 40% of the overall grade

This is the tentative calendar for Spring 2016 offering of the course.
This is not going to be a traditional lecture based class. For background, read and explore this: Don't Lecture Me We do not have a textbook, instructor will not be writing on the board for students to take notes. Part of the reason is that the (Web) technologies we deal with are constantly changing from year to year, and much of what there is to learn is on the Web. More specifically, we will follow a form of flipped classroom approach, which has three key component:

  • Reading/preparation BEFORE the class, usually starting with online video, complemented by self learning (typically reading additional online material).
  • Class Participation/Discussion** (eg students asking questions to the material consumed before the class) and in-class exercises, with access to guidance/supervision.
  • Post-class assignments*, many of which will involving programming and some of which will be graded.

This course is meant for those who are already comfortable with programming in Java and have some exposure to basic web technologies (do not take this class if you have not completed at least two programming courses). Also, some familiarity with Web programming is desirable (eg., if you have never written a Web page, it is premature to take this course - we will give some overview of Web programming while some you will have to pick up). This course is best taken by seniors (6800) and first year graduate students (6800) or by those in early phases of Big and Smart Data Sciences certification (7900 in Sp2015 and Sp2016). The course will primarily involve significant project work involving 2-4 students and a mentor, a lots of reading on your own, and room discussions. For each of the class, expect to spend minimum 2 but often 3 hours for pre-class activity identified above, and often lot more if your programming skills are not very good. So that you can effectively participate in a group project, you schedule must allow adequate flexibility to find common time with team members (e.g., if you are working off campus, this could present a challenge). Those taking 7900 will be expected to undertake a more complex and more demanding class project, and may have additional questions in assignments. Class participation is necessary (you are expected to participate in discussion, which you will be able to do if you come prepared), and skipping the class is highly discouraged, except for unavoidable health reasons.

Syllabus Outline

Class No. Title Description

Course structure and coverage Academic Integrity
Introduction to the Web: Origins of the World Wide Web.

Exercise/Assignment [slides] [video 1] [video 2]

Historical overview: From Data Dirt Roads to Infocosm

2 HTML5 and CSS3 [slides] [video]
Create a personal Web site with landing page including a photo; professional information page, personal information page (interest etc), incorpose/embed one media (audio or video) file. Be sure to use HTML5 and CSS3.
3 XML (language syntax parsing) [slides] [video]
4 Serialization framework & JSON [slides] [video]
5 Client-side programming I: Javascript [slides] [video]
6 Client-side programming II (possibly programming for mobile-friendly pages) Web application Assignment
[slides] [video]
7 Server-side programming (Python) Need Apache (XAMPP, VAMP, or MAMP)
[slides] [video]
8 Introduction to Project Planning; examples of past projects [slides] [video]
9 Dynamic Web site with a database [slides] [video]
10 RESTful services and Mashups
11 Basics of Information Retrieval and Search: Lucene and Nutch Information retrieval Assignment
[slides] [video]
12 Modern Web Search
13 Project Proposal Discussion  
14 Midterm  
15 Understand API usage, Twitter API [slides] [video]
16 Text Mining [video]
17 Introduction to IoT and dealing with sensor data [video]
18 How to build scalable websites [video]
19 Project Discussion  
20 Developing Classifiers with supervised learning http://scikit-learn.org/stable/
21-22 TBD - flow over periods  
23-24 Project Presentations  
25 Project Presentation at Halfway Point  
27-30 Work on Projects  

Academic Integrity

Review of academic honesty: read/review: http://www.wright.edu/student-affairs/student-life/community-standards-and-student-conduct/code-of-student-conduct/academic-integrity. You are welcome to share all reading materials and have discussions, but answers to anything that is submitted for grading (exercises, exams, code) must be yours, and yours only.