Special Topics in Info Studies - Social Media and Crisis Informatics
This course builds practical experience in using Python to analyze and discover insights from social media during times of social unrest or crisis. We demonstrate how temporal, network, sentiment, and geographic analyses on Twitter can aid in understanding and enhance storytelling of controversial events, including protests in Ferguson, MO and Baltimore, MD. These demonstrations will include hands-on exercises on categorizing tweets by location and sentiment (positive or negative language), visualizing the different groups of people taking part in the discussion using NodeXL, and detecting compelling moments in the data. Students will also be introduced to the Jupyter notebook framework to aid in repeatable research and support dissemination of results to others.
This course will be presented as a fully online class with video lecture to guide student learning. In this way, students can follow along with examples in the slides at their own pace. The instructor will be available via email, online video chat, and in-person meetings as requested by students. Communication between students and instructors will be further supplemented with online discussion forums.
Prerequisites
Students are expected to have prior experience with and competency in computer programming. Proficiency in the Python language is preferred but not essential as Python is a straightforward language to learn if the student has experience with other major languages (e.g., C/C++, Java, Perl, etc.). For students interested in some light preparation prior to the start of class, we recommend a self-paced Python learning site such as CodeAcademy.com.
Course assignments will be written in Python and built on the IPython/Jupyter notebook framework, which does not come standard on most platforms and is generally installed via the command line, so a familiarity with console applications is also preferred.
Student Learning Outcomes
This course’s main goal is to expose students to the social media analytics ecosystem through applied exercises and hands-on projects. Over this course, students will:
- Gather data from various social media networks using web-based APIs.
- Analyze social media data using various free, open-source toolkits.
- Perform reproducible experiments in Python and the Jupyter notebook framework, write reports describing their results, and publish their work on the class gallery.
- Identify the most common hashtags, users, keywords, and other social media artifacts from the data through basic frequency analysis.
- Explore geographic data trends by filtering social media messages based on location.
- Extract multimedia from social media data to construct visual timelines of events.
- Explore citizens’ emotional responses and themes of communication during crises with sentiment analysis and topic modeling libraries.
- Identify important users and user groups in social media during different crises by analyzing connections like mentions and retweets in the network.
- Develop visualizations of various social network data sets using NodeXL.
Lecture Outline
All modules are available online via YouTube.
- Module 0: Intro and Reading Tweets
- Module 1: Setting Up Your Environment, [notebook], [html]
- Module 2: Python and Jupyter, [notebook], [html]
- Module 3: JSON and Parsing Social Media Data, [notebook], [html]
- Module 4: Collecting Data, [notebook], [html]
- Module 5: Frequency and Time Series Analysis, [notebook], [html]
- Module 6: Extracting Multimedia, [notebook], [html]
- Module 7: Geospatial Analysis, [notebook], [html]
- Module 8: Sentiment Analysis, [notebook], [html]
- Module 9: Topic Modeling, [notebook], [html]
- Module 10: Network Analysis, [notebook], [html]
Modules will be released sequentially, and students are expected to complete one module before moving on to the next.
Running Notebooks
All notebooks are listed above. To run them, I suggest installing Anaconda, as discussed in Module 1. You’ll need one of the following files as well:
Grade Distribution
- Independent Projects
- Students will complete independent projects for each module, exercising the skills learned – 80%
- Participation
- Asking questions, participating in class discussion – 20%
Late Policy
For assignments turned in one class late, you will lose 25% of your grade. Assignments more than one class late will not be accepted.
Syllabus Change Policy
This syllabus is a guide for the course and is subject to change with advance notice.
Academic Integrity
What is academic dishonesty? Academic dishonesty is a corrosive force in the academic life of a university. It jeopardizes the quality of education and depreciates the genuine achievements of others. Apathy or acquiescence in the presence of academic dishonesty is not a neutral act. All members of the University Community - students, faculty, and staff - share the responsibility to challenge and make known acts of apparent academic dishonesty.
Students have a responsibility to familiarize themselves with violations of the Code of Academic Integrity. Among these include:
- Cheating
- “Intentionally using or attempting to use unauthorized materials, information, or study aids in any academic exercise.”
- Fabrication
- “Intentional and unauthorized falsification or invention of any information or citation in an academic exercise.”
- Facilitating Academic Dishonesty
- “Intentionally or knowingly helping or attempting to help another to commit an act of academic dishonesty.”
- Plagiarism
- “Intentionally or knowingly representing the words or ideas of another as one’s own in an academic exercise.”
For further clarification or information on the Code of Academic Integrity: http://www.studenthonorcouncil.umd.edu/code.html
Students with Disabilities
The University is legally obligated to provide appropriate accommodations for students with disabilities. The campus’ Disability Support Services Office (DSS) works with students and faculty to address a variety of issues ranging from test anxiety to physical and psychological disabilities. If a student or instructor believes that the student may have a disability, they should consult with DSS (4-7682, email Dissup@umd.edu). Note that to receive accommodations, students must first have their disabilities documented by DSS. The office then prepares an Accommodation Letter for course instructors regarding needed accommodations. Students are responsible for presenting this letter to their instructors.
CourseEvalUM
Brief Project Overview Course evaluations are a part of the process by which the University of Maryland seeks to improve teaching and learning. The University Senate approved the implementation of a standard, online, University-wide course evaluation instrument. Each course evaluation contains a set of universal questions, and some are supplemented by questions from specific colleges. Across the University, course evaluations are being administered through a web-based system dubbed CourseEvalUM. Students who leave no ”Pending” evaluations in their Evaluation Dashboard each semester can view the aggregate results of a sub-set of universal items online.
Across the University, course evaluations are being administered through a web-based system dubbed CourseEvalUM. All information submitted to the Evaluation System is confidential. Instructors and academic administrators can only view summarized evaluation results after final grades have been submitted. Instructors and academic administrators cannot identify which submissions belong to which students. This standardized set of evaluation results provides the University with useful information on teaching and student learning across the campus.
For additional info see Student Fast Facts at: https://www.irpa.umd.edu/Assessment/CourseEval/stdt_faq.shtml