[ Home | Lab | New Students | Courses | Research | Publications | Activities ]


Social Computing

Munindar P. Singh


Course Description

This course is self-contained, and gives the essential background for social computing. The course provides an introduction to the rich variety of social computing applications, some already popular and some emerging. It identifies the key concepts underlying such applications highlighting the main paradigms of social computing.

This course understands social computing in a broad sense. In this conception, people and organizations are social entities and social computing arises from the interplay between computing on the one hand and social relationships among social entities on the other hand. Specifically, this course considers how (1) social relationships and individual preferences can be modeled, represented, and reasoned about through computing technology and (2) how interactions among social entities can be incorporated into computations as a basis for solving problems. This course surveys the key paradigms exhibited by applications of social computing. It identifies concepts for modeling and realizing social computing applications.

This course is being offered in two editions, as CSC 591 and CSC 791. All the requirements of CSC 591 apply to CSC 791. In addition, CSC 791 students must produce a term paper describing a research topic related to the course.

The research topic could be an elaboration of the main project you work on, a review of the literature on specific aspect of social computing, or your original contributions. There will be opportunities to discuss the term paper (including a brief proposal and draft versions) with me. My hope is that this paper will eventually be of use to you in some additional way, e.g., in your thesis or dissertation, or your PhD written prelim. Please discuss any potential overlap of your paper with your other work.

Learning Outcomes

Upon completion of this course, students will be able to do the following.

Readings and software

Topics

The following are the main topics of this course. The tentative schedule indicates the estimated number of class days for each topic.

  1. Introduction
  2. Social media
  3. Human computation
  4. Computational models
  5. Social computing in the large
  6. Synthesis

Grading

I will assign +/- grades. There will be a fair amount of work—please plan to spend about eight hours (plus time in class) each week.

Component Points for campus students Points for EOL students
Exams 30 35
Programming 58 58
Homework 2 2
Class participation 5 0
Message board participation 5 5
Term paper for CSC 791 25 25

The following programming assignments jointly add up to the programming component of the course grade in the above table. The weights of the assignments are based on their expected complexity. I may change the weights as the semester progresses.

Assignment Weight
Social analytics 20
Crowdsourcing 20
Project report 1 5
Project report 2 15
Project report 3 40

Campus students must work on the programming assignments in teams of two. There is no extra credit for working alone. The teams can be different for each assignment. Each member of each team must contribute approximately equally to each assignment; each member should understand the entire assignment.

EOL students are strongly encouraged to work in teams as well. However, EOL students who cannot work in a team may work solo. Those EOL students who work solo may drop the first programming assignment. There is no extra credit for submitting additional assignments.

Students of different sections can form a team if they like. All students can find prospective team members through a message board; specify your constraints, preferences, backgrounds, and skills.

CSC 791 students must submit a term paper worth 20% of the total grade for them. The rubric for term papers is here.

Prerequisite

Graduate standing in Computer Science.

The course is self-contained. The main informal prerequisite is maturity in thinking about subtle concepts, such as might be gained through experience with conceptual modeling in databases or software.

From long experience, I have discovered that the material in CSC 226 is essential for my courses. Here is a (partial) list of topics that will be assumed: elementary set theory, relations, partial orders, functions, concept of a theorem, propositional logic, and predicate logic.

I recommend you brush up on these topics if you aren't comfortable with them. These topics are covered in CSC 226: Applied Discrete Mathematics. You may review Chapters 1 to 6 from the following book, which is sometimes used as the CSC 226 textbook:

Kenneth H. Rosen, Discrete Mathematics and its Applications, McGraw-Hill, fourth edition, 1999. ISBN 0-07-289905-0.