CS 432/532 - Web Science
Fall 2020: All sections, online

Home (Syllabus)


  • Dr. Michele Weigle
  • mweigle at cs.odu.edu
  • Office Hours:
    Tues 2-3:30pm
    Thurs 5-6:30pm
    via Zoom

Lecture Slides
(at Google Slides)

Resources at GitHub



Course Overview

The Web has fundamentally changed how we learn, play, communicate, and work. Its influence has become so monumental that it has given birth to a new science: Web Science, or the science of decentralized information structures. Although Web Science is interdisciplinary by nature, this course will be focusing mainly on the computing aspects of the Web.

Catalog Description: Provides an overview of the World Wide Web and associated decentralized information structures, focusing mainly on the computing aspects of the Web: how it works, how it is used, and how it can be analyzed. Students will examine a number of topics including: web architecture, web characterization and analysis, web archiving, Web 2.0, social networks, collective intelligence, search engines, web mining, information diffusion on the web, and the Semantic Web. Prerequisites: A grade of C or better in CS 361 and CS 330.

Course Objectives

After completing this course, you should be able to do the following:

  • Explain the interdisciplinary nature of web science.
  • Explain the main components of web architecture.
  • Explain how search engines index and rank webpages given a query.
  • Write Python code to interact with various web APIs and services, including web servers, web archives, Memento aggregators, and the Twitter API.
  • Explain the impact of social networks on how information (and disinformation) is spread on the web.
  • Explain the differences between classification and clustering algorithms.
  • Identify appropriate machine learning algorithms to apply given a problem.

Course Delivery Method

All sections of this course will be delivered fully online, asynchronously (no meeting time requirement). Course materials, including lecture videos, will be distributed via Blackboard.

CS 432 (undergraduate) sections:

  • CRN 22005 - WEB2 (in Hampton Roads)
  • CRN 22006 - WEB5 (in Virginia, outside of Hampton Roads)
  • CRN 22007 - WEB7 (in US, outside of Virginia)
  • CRN 22012 - WEB8 (outside of US)

CS 532 (graduate) sections:

  • CRN 22008 - WEB2 (in Hampton Roads)
  • CRN 22009 - WEB5 (in Virginia, outside of Hampton Roads)
  • CRN 22010 - WEB7 (in US, outside of Virginia)
  • CRN 22011 - WEB8 (outside of US)

Instructor Contact and Office Hours

Dr. Michele Weigle: mweigle at cs.odu.edu, https://www.cs.odu.edu/~mweigle/

My office hours will be Tuesdays 2-3:30pm, Thursdays 5-6:30pm, or by appointment. All office hours will be held via Zoom (see Blackboard for the link to the Zoom meeting room). Students will be placed into the waiting room until I am available.

If you cannot attend during regular office hours, please contact me to set up an alternate appointment time.



Prerequisites: Standing as an undergraduate senior, graduate student, or approval from the instructor. Undergraduates should have a grade of C or better in CS 361 and CS 330.

We will be using Python this semester. You are not required to know Python ahead of time, but since you are required to have previous programming experience, I expect you to be able to pick up the syntax quickly. If you are unfamiliar with Python, I strongly suggest that you spend a bit of time with it before the semester begins. Here are some good Intro to Python resources:


There is no required textbook, but here is a list of recommended books:


There will be a total of 100 points available for the semester.

Assignment Types

Your grade in this class will be based on the following components:

Learning Checks - 5 points

  • Preparation for the week's topic
  • Learning Checks released via Blackboard on Saturdays and due on Wednesdays
  • I will not grade your submissions for correctness, but correct answers with references will be provided after the due date.
  • Full credit will be awarded only if all Learning Checks are complete and have been submitted on time.

Online Discussion - 5 points

  • Class discussion based on the week's topic or current events.
  • Discussion Question released via Piazza on Wednesdays. Your initial response is due on Fridays and a follow-up to at least one classmate's posting is due on Sundays.
  • Full credit will be awarded only if all Discussion Questions have been answered on time and follow-ups have been posted on time in more than half of the weeks (so 8 follow-ups if we have 14 weeks of discussion questions).

Homework (HW) - 90 points

  • Implement concepts from class along with a report
  • 9 homework assignments (HW1-HW9), each worth 10 points
  • Released via GitHub Classroom on Saturdays and usually due the following Sunday (8 days later)
  • Don't wait until the last minute -- these are hard and time-consuming!
  • Grading scale: 0-10
    • 2 points are reserved for the required report
    • many homework assignments will have extra credit opportunities
  • All work must be your own. You may use resources on the Internet for reference, but you must not copy large sections of code. If you use online resources, you must cite your sources (including URL). Group work on HW assignments is not acceptable.

There is no mid-term or final exam

Grading Scale

The grading scale for undergraduate students (CS 432) is as follows:

100-92 A  77-72 C
91-90 A-  71-70 C-
89-87 B+  69-67 D+
86-82 B  66-62 D
81-80 B-  61-60 D-
79-77 C+  59-00 F

The grading scale for graduate students (CS 532) is as follows:

100-94 A  79-78 C+
93-90 A-  77-74 C
89-88 B+  73-70 C-
87-84 B  69-00 F
83-80 B-

Late Assignments

Any assignment submitted after its deadline is considered late. Late assignments lose 1 point for every 24 hours they are late. Submissions over 72 hours late are not accepted. This time limit includes weekends -- they are counted just like weekdays. I reserve the right to specify that late submissions will not be accepted for particular assignments.

  • 0-24 hours late: -1 point
  • 25-48 hours late: -2 points
  • 49-72 hours late: -3 points
  • over 72 hours late: not accepted

Late Policy updates 10/12/2020:

  • I will accept late submissions of any assignment up until the end of the semester. Assignments submitted over 48 hours late will still receive a 3 point penalty as outlined in the Syllabus, but they will still be accepted past 72 hours late.
  • Extra credit questions from any assignment will be accepted up until the end of the semester.
  • All submissions (both late and extra credit) must be made by 11:59pm on Sunday, December 13.
  • Caveats:
    • The late policy applies only for a full assignment, not individual questions.
    • Only limited assistance will be provided for 72+ hour late submissions. Contact me directly by email (mweigle@odu.edu).
    • Only clarifying questions will be answered for extra credit questions (no significant assistance provided).
    • Partial credit is not given for extra credit questions and the solutions must be described fully in the report.
    • Feedback/grades on 72+ hour late submissions and extra credit submissions for previous HWs are not promised before the end of the semester.

Summary Schedule

(Updated 8/2/2020)

Note: This is a tentative schedule and may change during the semester.

Typical weekly schedule:

  • Saturday - course materials, Learning Checks (LC), and HW assignment released
  • Wednesday - LC due, Discussion Question (DQ) released
  • Friday - Initial DQ response due
  • Sunday - Followup DQ response due, HW assignment due (usually from a previous week)

ODU Fall 2020 academic schedule

Week Week Start Date Topic
1 Aug 29 Web Science, Web Architecture
2 Sep 5 Introduction to Python
3 Sep 12 Introduction to Info Vis with R, Python
4 Sep 19 Measuring the Web
5 Sep 26 Archiving the Web
6 Oct 3 Searching the Web
7 Oct 10 Social Networks
8 Oct 17 Selection and Social Influence
9 Oct 24 Visualizing Social Networks
10 Oct 31 Disinformation
11 Nov 7 Collective Intelligence and Recommender Systems
12 Nov 14 Clustering Algorithms
Nov 21 NO CLASS - Thanksgiving Break
13 Mon, Nov 30 Document Filtering (Classification)
14 Dec 5 kNN and Algorithm Summary
Fri, Dec 11 last day of classes

Related Courses

Course History

This course at ODU was originally developed by Dr. Michael Nelson, based on Dr. Frank McCown (ODU alum)'s Intro to Web Science course at Harding University. In previous semesters, it has also been taught by Dr. Alexander Nwala (former PhD student at ODU).

Course Policies


Each student must check the class Piazza site and email daily. You should use Piazza to ask and answer general course-related questions. I will also use this to notify you about important updates (assignment deadline changes, office hours cancellations, etc.).


Since this is an online class, it is essential that you regularly stay involved in class activities. This includes checking the class website and Piazza for announcements, submitting assignments on time, and responding to discussion posts in a timely manner.

Make-up Work

Make-ups for graded activities are possible only with a valid written medical or university excuse. It is the student's responsibility to give the instructor the written excuse and to arrange for any makeup work to be done.

Disability Services

In compliance with PL94-142 and more recent federal legislation affirming the rights of disabled individuals, provisions will be made for students with special needs on an individual basis. The student must have been identified as special needs by the university and an appropriate letter must be provided to the course instructor. Provision will be made based upon written guidelines from the University's Office of Educational Accessibility. All students are expected to fulfill all course requirements.

Students are encouraged to self-disclose disabilities that have been verified by the Office of Educational Accessibility by providing Accommodation Letters to their instructors early in the semester in order to start receiving accommodations. Accommodations will not be made until the Accommodation Letters are provided to instructors each semester.

Seeking Help

The course Blackboard site should be your first reference for questions about the class. If you have questions about course requirements or materials, post questions using the class Piazza site. For extra help, attend office hours.

Academic Integrity

Old Dominion University is committed to students' personal and academic success. In order to achieve this vision, students, faculty, and staff work together to create an environment that provides the best opportunity for academic inquiry and learning. All students must be honest and forthright in their academic studies. Your work in this course and classroom behavior must align with the expectations outlined in the Code of Student Conduct, which can be found at https://www.odu.edu/oscai.

The following behaviors along with classroom disruptions violate this policy, corrupt the educational process, and will not be tolerated.

  • Cheating: Using unauthorized assistance, materials, study aids, or other information in any academic exercise.
  • Plagiarism: Using someone else's language, ideas, or other original material without acknowledging its source in any academic exercise.
  • Fabrication: Inventing, altering or falsifying any data, citation or information in any academic exercise.
  • Facilitation: Helping another student commit, or attempt to commit, any Academic Integrity violation, or failure to report suspected Academic Integrity violations to a faculty member.

In particular, submitting anything that is not your own work without proper attribution (giving credit to the original author) is plagiarism and is considered to be an academic integrity violation. It is not acceptable to copy source code or written work from any other source (including other students, online resources), unless explicitly allowed in the assignment statement. In cases where using resources such as the Internet is allowed, proper attribution must be given.

Any evidence of an academic integrity violation (cheating) will result in a 0 grade for the assignment/exam, and the incident will be submitted to the Department of Computer Science for further review. Note that academic integrity violations can result in a permanent notation being placed on the student's transcript or even expulsion from the University. Evidence of cheating may include a student being unable to satisfactorily answer questions asked by the instructor about a submitted solution. Cheating includes not only receiving unauthorized assistance, but also giving unauthorized assistance. For class files kept in Unix space, students are expected to use Unix file permission protections (chmod) to keep other students from accessing the files. Failure to adequately protect files may result in a student being held responsible for giving unauthorized assistance, even if not directly aware of it.

Students may still provide legitimate assistance to one another. You are encouraged to form study groups to discuss course topics. Students should avoid discussions of solutions to ongoing assignments and should not, under any circumstances, show or share code solutions for an ongoing assignment.

All students are responsible for knowing the rules. If you are unclear about whether a certain activity is allowed or not, please contact the instructor.

More information on academic integrity is available on the ODU-CS academic integrity page.