This post is a guest blog by Dr James Allen-Robertson, instructor on our Collecting Social Media Data online course. James is a Computational Social Scientist in the Department of Sociology and the director of the BSc Sociology with Data Science at the University of Essex.
His work focuses on utilizing data science tools, including large-scale text analysis, social network analysis and computer vision as aids to explore social science problems.
Computational Methods
Teaching computational methods within a social sciences or humanities faculty, whilst hugely rewarding, can also bring its challenges. Often, we are tasked with teaching material and skills that are significantly different from anything your students would otherwise encounter. For many students I've taught, this has been the significant draw, but it also poses the question of what you prioritise in the contact time you have.
To my mind, computational methods consist of three layers of skills or knowledge:
The programming layer: What programming is as a practice, the tools you use to write code, the mindset of step-by-step instructions, and the necessity of absolute precision. It is both about understanding what a list or a conditional statement is, and the understanding of why anyone would use one. It is the realisation that there is no button to press, no window to open, and the significance that suggests when a student, used to having the boundaries of their tools defined for them, realises they're making the tools themselves now.
The technique layer: Text mining, network analysis, web scraping, exploratory data analysis, etc. This technique layer depends on a baseline knowledge of the programming layer, but it also reinforces and builds the programming layer over time as students become more used to implement these techniques through coding. The technique layer requires us as instructors to both teach how to implement the appropriate code, but also what it is doing, why it is a viable form of analysis, and what it can tell us. The technique layer is the core of a computational methods course. It is the purpose of the course itself and dominates most of our time.
The methodology layer: However, as experienced researchers, we know that simply knowing what the techniques are, and how to implement them is not enough. There is more. Not simply the implementation of the method but the reasoning behind it, the justification of using it, and the appropriate caution regarding its implications. This is the methodology layer of using computational methods. These things are crucial because we understand that there is little point in embarking upon a research project unless we know the data we use and the techniques we implement can help us answer our question and that we will not be causing harm in the process. This however is not always obvious to a student.
Programming Experience
As social science and humanities instructors, the key challenge we face is that often you are teaching students with no programming experience at all. Prior to joining your course, they may not even understand what programming is. The language, the tools, can be an alien space if your education thus far has been about concepts, rhetoric, and more fluid forms of creativity. To me, this should in no way be considered a barrier to teaching our students. In fact, it is this merger of their existing skillset with computational methods that can really build them up into something beyond a standard data analyst. However, this often means that we must spend what limited contact time we have focusing on the programming layer and the technique layer, leaving little time for the methodology layer.
Of course, we cannot ignore it completely. We squeeze it in at opportune moments: discussing social media demographics whilst instructing on how to interact with an API, considering the ethics of using forum texts as we build our web scraper. For more in-depth engagement, we return to more familiar territories for our students and assign them readings. Readings about ethics, readings about Twitter demographics, readings about research design, and readings about research that you think might inspire them - and we hope that they'll do the reading whilst we concentrate on teaching them the skills. Sometimes they do the readings, and sometimes they don't. We sometimes forget our students have other courses, other commitments, and often work as well as study. Time is limited, and if they have four things to read, one of which won't have the time to be addressed in the class because we'll be too busy writing amazing code, well we know which reading isn't getting read.
Collecting Social Media Data Course
Given the pivot to online and blended learning, how we teach this kind of material is transforming as well. This is where alternatives such as SAGE Campus' Collecting Social Media Data course can come in. Providing a structured interactive approach to learning with videos, activities, quizzes - and, of course, readings - online courses such as this can offer us a way to ensure that we teach the methodology layer in a way that is just as engaging as our contact time programming. The course focuses on the methodology of online data projects, discussing topics such as the ethics of web scraping, project design, the demographics of Twitter and the benefits and pitfalls of different methodological approaches. Rather than full readings, relevant extracts are presented to students within a more informal context providing follow-up activities and explanations.
Faculty can assign our online courses to their students and researchers to equip them with the knowledge they need. Find out about our Collecting Social Media Data course and sign up to our demo hub to try a free module.
Libraries can get a full 30-day institution-wide trial to SAGE Campus. Recommend us to your library or request a trial if you are an administrator via this form.