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
andbody
- 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 forprogressive enhancement
, and - The specific example of
<img alt="…" >
and the difficulties it caused
- The specific example of nested
-
- 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 isfunctionality
? How do they differ? - What is
user friendly
(anduser 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
- Review of Evaluation Concepts
- Why, What and When
- The usual measures
- 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)
- variable types:
- Experimental variables, Extraneous variables and Order effects
- User Tasks
- Types of Data to Collect
- Study Type: Survey by Questionnaire
- Question types (open- and close-ended)
- Likert scales
- Ranking
- How-to
- Study Type: Field Studies
- Study Type: Interviews & Focus Groups
- 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
- 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
- Median, Mode and Average (aka mean)
- See the comic in the handout if you want more details
- Power Law Distributions
- Aside: Overlap analysis
- Aside:
The Long Tail
- The
Bowtie Model
of WWW structure - Human users and Businesses
- Design models and Metrics
- (optional) Further readings
5B – Search Engines using Hub and Authority Scores
Lecture: How Search Engines Work (using Hub and Authority Scores)
- Search Engines
- How Search Engines work in general
- How Google's PageRank™ works
- Hubs & Authorities
- Computing Hub and Authority scores (algorithm)