This is an hands on-course.
The course focuses on building programming skills.
It does so by asking students to work on 70+ programming exercises and readings.
The workload of this course can be heavy.
Fall 2017
Goal
By the end of the course, you can write small Python code "snippets" to collect and process data. For this purposes, we have three different goals for the course:
- computational thinking, here understood as the process where real-world problem is presented as coding problems
- basics of Python language to be able to implement solutions to some of the real world problems
- applications of computational social science in practice, that is existing literature and different applications they have in social science
Course practices
We have about three hours on Friday mornings. The first hour (8.15-9.00) is reserved for students to work on the exercises and receive help and instructions from Matti. The next hour, 9.00-10.00 is time for all students, engaging into discussion about the articles and reviewing common challenges. This in most cases will take less than one hour, but kindly reserve a hour timeslot for this. Following this, 10.00-10.45 is again reserved for tutoring and working on the problem exercises together.
We have a Facebook-group to share to share knowledge and ask questions.
We use flipped classroom approach in this course. That means we expect students to familiarize with the course material, that is the assigned papers and materials regarding Python, on their own before lectures. During the lectures, we discuss and explore the assigned papers together and provide time to work on the exercises.
Programming exercises train computational thinking and Python programming in practice. To struture the course, each exercise week has a deadline.
Case studies present examples of recent research applying computational social science.
Evaluation
The course is graded on pass/fail -scale. This aims to motivate everyone to take the course, as it will not impact your grade point average.
Passing grade on this course requires
- 80% of exercises done for all exercises
- participation on the papers discussions or completing them in other ways
You do not need to return the exercises to me (store them, however, on your machine), but instead mark what you've done in Google Sheets
Important links
Tools
Install Anaconda to your machine to run and manage Python.
We use version 2.7.
Visual programming
Tutorials
However, the web is full of Python 2.7 materials.
Different people like different types of materials so if you find both of these bad for your style of finding the information, I recommend you go Googling to look for something more suitable for your taste :)
(Also, just Googling the problem might help you.)
Prerequisite
As such, the course has no mandatory prerequisites. However, if you have not taken the Introduction to Computational Social Science, I strongly encourage you to read following materials. There are some questions to help you capture the main issues.
- Cioffi-Revilla, C. (2010). Computational social science. Wiley Interdisciplinary Reviews: Computational Statistics, 2(3), 259–271. http://doi.org/10.1002/wics.95
- Lazer et al. 2009. Life in the network: the coming age of computational social science
- What charaterises computational social science?
- What different methods exists to do computational social science?
- Gillespie, T. (2012). The relevance of algorithms. In Media Technologies: Essays on Communication, Materiality, and Society (pp. 167–194).
- Are algorithms objective? Why? Why not?
- What does this mean if you do computational social science?
- boyd, d., & Crawford, K. (2012). Critical Questions for Big Data. Information, Communication & Society, 15(5), 662–679.
- What is ethical? How you should do your research?
- What is valid? How shold you address potential validity problems?
- Grimmer, J., & Stewart, B. M. (2013). Text as Data: The Promise and Pitfalls of Automatic Content Analysis Methods for Political Texts. Political Analysis, 21(3), 267–297.
- How to consider validity with computational approaches?
Course syllabus
For each case study, prepare to discuss the research question they had and the computational method they applied. For each article, position the computational method to Cioffi-Revilla's list of four approaches, identify how results were validated, and discuss the ethical aspects of the research. Finally, identify tools and frameworks they use in that research. Focus on the methods, not the results. This is a methods class and the articles may be somewhat boring results wise.
Exercises
See Google Docs.
Case studies
We read case studies per lecture
- Shor, Eran, Arnout van De Rijt, Charles Ward, Soussan Askar, and Steven Skiena. 2014. “Is There a Political Bias? A Computational Analysis of Female Subjects’ Coverage in Liberal and Conservative Newspapers.” Social Science Quarterly 95 (5).
- Adamic, Lada A, and Natalie Glance. 2005. “The Political Blogosphere and the 2004 U.S. Election: Divided They Blog.” In Proceedings of the 3rd International Workshop on Link Discovery, 36–43.
- Pearson, J., R. Lay-Yee, P. Davis, D. O’Sullivan, M. von Randow, N. Kerse, and S. Pradhan. 2010. “Primary Care in an Aging Society: Building and Testing a Microsimulation Model for Policy Purposes.” Social Science Computer Review 29 (1) (May 18): 21–36
- Flaounas, Ilias, Omar Ali, Thomas Lansdall-Welfare, Tijl De Bie, Nick Mosdell, Justin Lewis, and Nello Cristianini. 2013. “Research Methods in the Age of Digital Journalism. Massive-Scale Automated Analysis of News-Content-Topics, Style and Gender.” Digital Journalism 1 (1).
- Levy, K. E. C., and M. Franklin. 2013. “Driving Regulation: Using Topic Models to Examine Political Contention in the U.S. Trucking Industry.” Social Science Computer Review.
- Burscher, B., R. Vliegenthart, and C. H. de Vreese. 2015. “Frames Beyond Words: Applying Cluster and Sentiment Analysis to News Coverage of the Nuclear Power Issue.” Social Science Computer Review (1991): 1–16.