CS 5984 - Social Computing
Fall 2018


  • Instructor: Tanushree (Tanu) Mitra
  • Office hours:
    • Tuesdays: 2:30pm - 4:00pm at Torg 3160E
  • Instructor Email: tmitra@vt.edu
  • Class hours: Tues, Thurs - 12:30pm to 1:45pm
  • Where: McBryde 226
  • Schedule

Course Description

Social computing is a research area that is at the intersection of computational systems and social behavior. This course is geared toward developing a broad understanding of today’s online social systems. From Twitter to Facebook and all the way back to email, social computing is one of the biggest forces on the internet.

In this class, we will explore how and why social computing works? What are the real-world challenges and opportunities in current social computing systems? What’s the right way to design these systems? What can you infer from the vast amounts of data people leave behind in these systems? What’s still out there to build? What are some new emerging phenomenon that you are observing now in these systems? How is it changing our information ecosystem and what could be done about it? Specific course activities will broadly involve 1) applying quantitative methodologies to investigate and model data left behind in these systems to infer behavior and/or phenomenon, and 2) designing and building social tools that can augment current social computing systems so as to study a behavior in question or deploy small-scale experiments to test interventions in these systems. Aligned with best industry practices, students will be expected to work in a fast-paced, collaborative environment and to demonstrate independence and leadership.

Course goals and learning objectives

After successful completion of this course, you will be able to:

  • Identify important features of social computing.
  • Assess the research issues in this field.
  • Analyze data left behind in social media to answer questions from a variety of practical scenarios and domains, spanning politics, news, and health.
  • Build social tools that augment current social computing systems.

Prerequisite skills

Graduate student standing. Prior background in some high level programming language is assumed. In terms of the required skills, students need to have basic knowledge of statistics, preliminary machine learning and some ease in implementing low-fi software demos. An overview of the concepts and tools needed will be reviewed in class, however in-depth coverage of the fundamentals is not in the scope of this course. Hence, students also need to be proficient in programming. Experience in use of a scientific computing software like R is a bonus, but not required. You are expected to quickly learn many new things. Below is a list of examples (not exhaustive) that your assignments and project activities may require you to do:

  • fetch social media data using existing API (tweepy for Twitter, PRAW for Reddit)
  • or fetch data via crawling and scraping (python scrapy, Beautiful Soup, Newspaper libraries),
  • analyze posts from data using pre-existing libraries (like python nltk, pandas),
  • modify an existing social media site (e.g., changing affordances for Facebook comments using Greasemonkey scripts, or by building a chrome plugin)
  • or even design a new site or online tool to implement design principles behind these social computing systems or solve an existing problem faced by these systems (e.g. problems related to information disorders).

The associated programming basics will not be covered in class. Please make sure you are comfortable with this.


Since, social computing is an emerging area, the primary reading material for this course will be drawn from research papers. No textbook is required for the course. Readings will be provided as linked pdfs or as electronic reserve from the Virginia Tech Libraries website, which means either being on campus or connecting to the VT network through a VPN.


The following sites will be used to support this class:

  • This website, for syllabus and schedule.
  • Class blog, for reading reflections. Please make sure to sign-up on vt wordpress
  • Canvas, for assignments, grades, and submitting work.
  • Piazza, for out-of-class discussion. Please make sure that you can access the class Piazza website.

Graded Components

  • Class participation – 10%
  • Reading reflections – 20%
  • Assignments - 20%
  • Term project – 50%
    • Project pitch - 5%
    • Project proposal - 5%
    • Midterm project presentation - 5%
    • Midterm milestone project report - 10%
    • Final project presentation - 10%
    • Final report - 15%

Your work will be graded on a list of criteria (specified on the assignment) such as quality of writing, completeness, insight into research issues, insight into social issues, etc. The general grading strategy is that for each criterion, you will receive either a check plus, check, or check minus. Most criterion will receive a check. A plus means “you impressed me.” A minus means the assignment is incomplete, incorrect, or sloppy in some fashion with respect to that criterion. Pluses and minues are combined to give your grade for the assignment. For most assignments, you start out half way between a B+ and A-. One plus makes it an A-; one minus makes it a B+. These are general guidelines to let you know what to expect. Grading on specific assignments may differ. Refer to the grading rubric whenever they are posted.


The final project serves as the final exam for this course. There is no separate exam.

Assignment Details:

Class participation (10%) - Individual (weekly twice)

You should actively take part in discussing the assigned readings and critically thinking about them during class to demonstrate that you have not only read the paper but you can also think outside the box. Attendance in class, participating in class discussions, and in-class exercises and activities are critical and essential for success in this course. We will also do occasional quizzes spread across the semester. The purpose of the quiz is to ensure attendance and participation during class activities and also at times for me to gauge what topics we need to devote more time on. These quizzes will not be graded for correctness, but for completeness and participation. Note, the word – completeness. You cannot do a sloppy job in class and expect a grade for correctness on your quiz.

Reading reflections (20%) - Individual (weekly on average)

During this course, you will investigate several academic readings and write your reflections where you will not just summarize the papers but think about what additional questions the paper enables, how is it relevant to modern digital social environments, give examples, talk about your experiences if any, be creative.

These are intended to facilitate and assess understanding of the reading materials. Reading reflections should be within one page (roughly within 600 words if you are using 12pt font). You won’t be penalized if you write more, but being succinct is another great writing skill which you should aim to cultivate in this course.

You do not need to summarize the full paper, but you need to reflect on what additional questions the work enables. Does this help you think about your next big project? What will that be? Does it help you think about new ideas, new ways of thinking about your daily online life? What other questions the paper makes you think? What else the paper is not answering or is concerning or is just intriguing?

Most importantly, a reader while glancing at your reflection should be able to easily spot these questions. So use bold, italicize, bullet points or other means of highlighting them. NOTE the stress on REFLECTION. If you simply summarize the paper without any reflection, you will be automatically scored zero.

Again this is an individual assignment and work submitted should be written solely by you. Here is a great example of a reflection written by my colleague, Prof. Kurt Luther. Here are few other outstanding examples from students in my class in prior semesters (example 1, example 2, example 3, example 4, example 5).

You can skip two reflections or alternatively attempt all and the two lowest scored reflections will be dropped.

Attendance and Participation

Participation accounts for 10% of your grade. Thus, if you are skipping classes, ignoring the readings, and/or failing to participate in class discussions, your participation grade will suffer.

Attending class is necessary to also successfully complete the course. We’ll often have in-class exercises and activities, and it’s expected that you will participate.

Readings will be assigned periodically, and these should be read before the next class, so that you can contribute to the discussion. Simply attending lectures will not be sufficient to fully understand the material.

Term Project (50%) - Group (More Details)

The goal of the final project is to identify an interesting question or problem in social computing domain that your project will address via analyzing social data, building social tools to augment current social systems, designing and conducting experiments, posing hypotheses, etc. The papers discussed in class should help you along the way. Project topics must be approved by the instructor. A broad list of topic areas will be discussed closer to the submission deadline. You need to justify that the topic is interesting, relevant to the course, and is of suitable difficulty. Your project should have some some non-trivial analysis/algorithms/computation/experimentation (e.g., computing basic statistics, like average, min/max will not be enough). You can also have an interactive user interface that interact with the algorithms (can be visual, browser–based, desktop–based etc.). Implementing your term project has multiple graded components starting with the project proposal and ending with the final presentation and report submission.

See the (Term Project) page for additional details.

Late Policy

  • Reading Responses: No late days. All reading responses are due at 9am on the day of class. Responses to readings serve to stir class discussions, hence there is no point if you submit it at a later time after class.
  • Midterm project presentation: No late days.
  • Assignments: Late days allowed. (see next point).
  • Midterm project report: Late days allowed. However, late submissions will be penalized at a rate of one grade step (e.g., A becomes A-) per day. Submissions more than five days late will not be accepted.
  • Final project presentation: No late days.
  • Final project report: No late days. Due on the day of final exam.

Honor code

The Virginia Tech Undergraduate Honor System is in effect for all work, whether performed individually or in teams. Be particularly careful to avoid plagiarism, which essentially means using materials (ideas, code, designs, text, etc.) that you did not create without giving appropriate credit to the creator (using quotation marks, citations, comments in the code, link to URL, etc.). Students are encouraged to consult with one another about project design and evaluation issues, as the sharing of ideas here will lead to better work. The final exam is entirely individual. Any suspected violations of the honor code will be promptly reported to the honor system, as required by university policy.

Special needs

If you are a student with special needs or circumstances, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please let me know privately as soon as possible.


Several online resources and materials adapted from similar classes