J. Blustein: Courses

CSCI 1107 (Social Computing)
Tentative List of Topics

The exact topics, and how deeply we investigate them, will depend on students' interest.  We will definitely cover the topics in the course description:

A hands-on course on technologies and the underlying infrastructure for social computing, including digital collaboration media, social networks and visualization, and their social impact.  Students will use various applications, such as Twitter, YouTube, and wikis to examine their functionalities, and explore infrastructure technologies including databases, computer networks and Web-servers that facilitate their execution.

— Dalhousie Academic Calendar (CSCI 1107   opens in new window)

Course Learning Outcomes

  • Classify various social computing applications (SCAs) by their functionality (broken down into type, audience, and purpose).
  • Describe some current trends and issues in social computing such as social effects.
  • Defend a position about one or more topics in Social Computing in a sustained formal academic argument, i.e. in an essay, not merely a bullet point list or slide deck.
  • Describe the infrastructure technologies used by most social computing applications including databases, computer networks and Web servers.
    • Be familiar with common recurrent designs in computer network programming, specifically: metadata headers, variable/value pairs, the client/server architecture, catastrophic failure and graceful degradation of service, session and state.
    • Use SQL for simple operations (e.g. SELECT, JOIN) to demonstrate an understanding of how databases are used in Social Computing.
  • Intelligently interpret visualisations of a structure in Social Computing.
  • Create and conduct a user test with a basic low-fidelity prototype of a SCA.
  • Compare various approaches to user studies, e.g., surveys, interviews, and focus groups.
  • Apply Dalhousie regulations, especially as related to academic integrity and assessment.

1 – What is Social Computing ?

  • Definitions of social computing and social computing applications (SCAs)
    • Some types of social computing applications
    • As contrasted with computer-mediated communication
    • As contrasted with social media
  • Why study social computing?
  • How can we study social computing?
  • Components of social computing
    • Issues raised by social computing
    • Classes of software applications
    • Sociological components
      • models of interaction and behaviour
    • Social components
      • who are the users
      • focus, goal, task or purpose (reason for using)
      • network effects
    • Technological components
      • hardware, software (operating systems, applications), network

2 – Technology of Social Computing

2A – WWW and HTML (World Wide Web and Hypertext Markup Language)

Lecture: Introduction to WWW and Internet Technology

  • The LAMP stack
  • Static vs. Dynamic webpages
    • Server- and Client-side
    • Markup and rendering
  • CGI and Ajax
  • N/W routing
    • DNS
    • IP addresses
    • FQDNs

Lecture: Example HTML webpage

  • elements of HTML
    • head and body
      • metadata as a pattern in network communication
    • difference between tags and elements they represent
    • paragraphs and lists
    • entities (e.g., … for )
    • effect of tag pairs which are containers (e.g. <a> and </a>) and self-closing tags ( e.g., <hr />)
      • The specific example of nested <object>s that allow for progressive enhancement, and
      • The specific example of <img alt="…" > and the difficulties it caused
  • How those elements are used by the browser software
    • The parse tree (the hierarchical structure generated from the elements)
    • How the parse tree is used to guide rendering of the visual representation of the webpage
    • Logical structure and Physical layout

Lecture: The Web, Internet and Cookies

WWW Concepts
  • URLs
  • protocols (especially HTTP and HTTPS)
  • hosts (servers on the Internet)
  • resources (typically files, stored in servers)
  • third-parties
Web Cookies
  • sent in metadata accompanying WWW resource
    • resource could be an HTML file, an image, a sound or video file etc.
  • stored in the client computer (by the browser software)
  • sent by the browser to servers (usually only to the FQDN that sent it)
Parsing HTML
  • review of HTML webpage example lecture
  • requests for additional/secondary resources
  • concepts of logical structure and physical (or actual) presentation
Internet concepts / Client-server architecture
  • Request messages (from client to server via Internet)
  • Response messages (from server to client via Internet)
  • Messages broken into smaller units and sent separately
  • Two parts to every network software transmission: metadata (header) and content (body)
    • examples of metadata
  • Review: translation of FQDN to IP Address by DNS

2B – Databases and Content Management Systems

Lecture: Databases for CSCI1107

  • What is a database?
    • Why do SCAs need databases?
    • ACID properties and why they are necessary
  • What is a relational database?
    • Tables of relations
    • Columns of same type of data
    • Rows of instances (tuples)
    • Key values
      • JOIN-ing tables using keys
  • Types of relations in a relational database
    • How we use multiples tables in a single relational database
    • Why not just one (large) table instead of many smaller tables?
  • Website Databases
    • Common configurations and their trade-offs
    • Model-View-Controller Architecture
  • Structured Query Language (SQL)

Lecture: CMSes and the MVC pattern for CSCI1107

More details about model-view-controller and how it integrates into the LAMP stack

Aside: software engineering concepts of coherence and coupling for programming in modules

Structure and Presentation
• What each is
• Why they are important
• How they work together
• Logical structure (skeleton)
•  look and feel (skin/presentation)
The parts in the server:
• model;
• view; and
• controller
What each part does
How they fit into the Inside the Server Process  conceptual diagram

3 – Social issues

Possible topics include:

  • Privacy and anonymity
  • Fake news, opinion formation and election hacking
  • Cyber-bullying

4 – User studies

Lecture: Usability & Design for CSCI1107

  • What is usability?  What is functionality?  How do they differ?
  • What is user friendly (and user friendliness)?  What is wrong with that term (or those terms)?
  • What is user interface?
Usability has 3 factors:
  • the user(s)
  • the tool / system / device / application
  • the user's purpose or reason for using the tool
There are 3 major measures of usability:
  • effectiveness
  • efficiency
  • satisfaction
all may have sub-measures or sub-parts
the 3 measures often do not align perfectly with each other

How do we operationlise these measures?

Lecture: Collecting and analysing usability data

  1. Review of Evaluation Concepts
    • Why, What and When
    • The usual measures
  2. Study Type: Controlled Studies
    • Types of Data to Collect
      • variable types:
        • real- or integer-valued (continuous),
        • ranked (ordered but not continuous),
        • categorical (neither ordered nor continuous)
    • Experimental variables, Extraneous variables and Order effects
    • User Tasks
  3. Study Type: Survey by Questionnaire
    • Question types (open- and close-ended)
    • Likert scales
    • Ranking
    • How-to
  4. Study Type: Field Studies
  5. Study Type: Interviews & Focus Groups
  6. Some other types of Study

5 – Visualization (the Web and Social Networks)

5A – Large-scale patterns in the social media networks

  • The bowtie model
  • Overlap analysis
  • Long tail distributions / The long tail
  • Hubs and Authorities / How search engines work

Lecture: The Web Graph

  1. Various definitions of the World Wide Web (WWW)
    • We focus on the graph-based definition
    • In this definition the WWW is not anarchic; its organic properties fit patterns
  2. Median, Mode and Average (aka mean)
    • See the comic in the handout if you want more details
  3. Power Law Distributions
    • Aside: Overlap analysis
    • Aside: The Long Tail
  4. The Bowtie Model of WWW structure
  5. Human users and Businesses
  6. Design models and Metrics
  7. (optional) Further readings

5B – Search Engines using Hub and Authority Scores

Lecture: How Search Engines Work (using Hub and Authority Scores)

  1. Search Engines
    • How Search Engines work in general
    • How Google's PageRank™ works
  2. Hubs & Authorities
    • Computing Hub and Authority scores (algorithm)