[ Home | Lab | New Students | Courses | Research | Publications | Activities ]
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.
Upon completion of this course, students will be able to do the following.
The following are the main topics of this course. The tentative schedule indicates the estimated number of class days for each topic.
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 (R0) | 9 |
Project report (R1) | 15 |
Project report (R2) | 0 |
Project report (R3) | 36 |
CSC 791 students must submit a term paper worth 20% of the total grade for them. The rubric for term papers is here.
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: