Hi Phillip,
The aim of the module is to provide non-computer science specialists with an understanding of the topics, issues and challenges in
Computer Science that will enable them to engage computational approaches to problems. It’s particularly targeted at students who do not have any experience of programming, as the WebScience course recruits from every field! It covers what computer science
is, how to approach problems from a CS perspective, and how to use CS techniques to tackle them.
The coursework was to build a Twitter app that connects to an account, compares follower numbers, and beeps when the number changes.
It has evolved a bit since I took it myself, see here (including LOs):
https://dl.dropboxusercontent.com/u/28433827/COMP6221-CW3_Assignment_on_Python_and_Raspberry_Pi%27s-v2.pdf
Best wishes,
Gefion
From: Programming as Social Science (PaSS) [mailto:[log in to unmask]]
On Behalf Of Phillip Brooker
Sent: 20 March 2017 11:59
To: [log in to unmask]
Subject: Re: Raspberry Pi
Hi all
Apologies for the delay in replying, been mulling this over through a hectic weekend... But thanks for all the replies, lots to think about!
Richard, yes, I was asking about RPis but interested in single-board computers/microcontrollers generally, though perhaps not for their GPIO facets, more just as tools for learning to code and host
things like bots or whatever - I know some social computing students at Northumbria (UK) build social media bots for some kind of social good as part of their coursework for instance; one example that springs to mind is a student who used something like location-based
NHS stats on drinking/drugs to inform people about risks they might encounter when they tweeted about going out. So they have to learn to code as part of this, but also have to think about design aspects (like what the bot should do, where it gets its info,
who will read the output, if there might be any 'unintended consequences', the ethics of targeting specific people and so on), and leave the bot to run for a bit and evaluate what it's actually done and how people respond to it... which edges towards thinking
about the code in a social scientific way. And that's really what got me thinking if it's the kind of thing social science students doing stuff with digital data might benefit from. Of course, interesting also to think about using microcontrollers as data
sensors in various ways (certainly we do this in our current project where we're building systems to leave in peoples' homes, and it's something that I imagine would be very useful in experimental psychology), but it's not something I'm familiar with personally
- what was the project you were working on with the arduinos? Would love to hear some more detail if that's OK!
Gefion, the web science Twitter app coursework sounds interesting, what was the app you built? And what were the intended learning outcomes of the course/coursework as a whole?
John, I think VPSs are a no-brainer for research jobs, definitely - too cheap to ignore! But that being said, I still kind of like the idea that researchers could use RPis (or similar) as testbeds
for the stuff they're building, especially if it means that researchers and students across departments can share skills and knowledge by using the same tools (since, as you note, VPSs are not a good option for students). I think there's definitely a pedagogical
value in "owning" the hardware as part of figuring out a problem, and that's something that probably matters for students and researchers too. In terms of your question about education-oriented
images that students might use, I think it depends on what the students are supposed to be learning...RPi has "NOOBS" (New Out Of the Box Software) which has a good range of Linux distros on there (and, if I remember right, Windows 10 IoT Core), but for programming
purposes, Raspbian (which is the standard choice of OS for RPis) seems to me to be a great all-rounder which comes with a decent range of tools and resources. Of course, it's very easy to build your own disk images too since it runs from an SD card, so if
you had a specific setup that you wanted to replicate it's no problem though perhaps could get a little time-consuming if you're doing hundreds of copies...
Thanks again, and if anyone else has any other input, please do keep it coming!
Phil
From: Programming as Social Science (PaSS) <[log in to unmask]>
on behalf of Boy, John <[log in to unmask]>
Sent: 17 March 2017 12:02
To: [log in to unmask]
Subject: Re: Raspberry Pi
For a few years it’s been possible to rent low-end VPSs very cheaply from providers like Ramnode, Digital Ocean etc. That’s what I’ve used for these kinds of
tasks (and now my research group also rents a dedicated “bare metal” server, which allows us to run more demanding jobs). Last week Google’s cloud platform began offering an “always-free” cloud instance (f1-micro) that would be sufficient for keeping alive
simple server tasks. So on some level one could spare the hardware expense and just rent a (virtualized) server. That way you also don’t have to worry about making sure it stays plugged in and connected.
But compared to that, I see a few arguments in favor of providing students with RaspPis:
1.
Even for free offers like Google’s, one needs an account with the provider and a credit card. Students may not have a credit card or be justifiably wary of registering an account
and providing billing information. There are plenty of horror stories of people thinking they were using AWS’s free tier when really they were racking up a sizeable bill.
2.
Arguably there’s pedagogical value in not “abstracting away” from the hardware and relying on distant datacenters and corporate providers, but rather being able to see and
touch the materiality of that which is doing the computing -- something which dev boards so beautifully expose.
3.
When “spinning up” a cloud instance, one has to make a bunch of choices regarding the hardware and software configuration of the server instance: Which Linux distribution?
What kind of storage? And then there’s the work of configuring the OS, such as enabling auto-updates to ensure security patches are installed so your VPS doesn’t unwittingly become part of a botnet. In contrast, RaspPis distributed to students could come pre-flashed
with a hardened OS that includes a full development environment, including custom tools that may not be available in package repositories.
Related to (3), does anybody know an education-oriented image one could use to flash dev boards for students?
John
From: Programming as Social Science (PaSS) [mailto:[log in to unmask]]
On Behalf Of Thuermer G.
Sent: vrijdag 17 maart 2017 12:24
To: [log in to unmask]
Subject: Re: Raspberry Pi
Hi Phillip,
The Web Science course at the Uni of Southampton does exactly what you suggest. I only know this from the student perceptive, but basically all the students from
various backgrounds have one module teaching them basic coding skills, computation in general, and Python specifically. Students are providing with a RPi to work with, and building a Twitter app was the coursework. Having done this as a student, I can say
that it was a very good learning experience, and everyone was quite enthusiastic about it – both teachers and students!
Best,
Gefion
From: Programming as Social Science (PaSS) [mailto:[log in to unmask]]
On Behalf Of Phillip Brooker
Sent: 17 March 2017 11:03
To: [log in to unmask]
Subject: Raspberry Pi
Hi all
Something I’m a bit curious about; does anyone use Raspberry Pis or other similar microcomputers in their teaching or research? I’ve had one for a couple of years and have recently got another, but have only ever
used them for non-work stuff - running one headless as a home server for a Facebook bot as well as other bits and bobs of scheduled jobs, and the other for code development (some of which is for work in a roundabout way) and games etc...but I’ve always been
intrigued about the possibility to use them as a research tool, for things like scheduling web scraping/data collection tasks and so on. And equally, since RPis are designed for teaching purposes, I can see a potential for using them in the classroom as platforms
for students to pick up some programming and Linux/bash. It’s the kind of thing that is already very well provided for in computer science training – in my experience, CS departments have tonnes of these things just lying around that students can pick up and
use for coursework and in class. So is it something we should be considering as a way of supporting social science students working with digital data etc?
I guess I’m asking about this for two reasons really: 1) if anybody has any experience using RPis in research and teaching, I’d love to hear about it, and 2) to gauge if there’s any interest in the idea and to
figure out what to do from there (whether that’s developing resources to support research and teaching, or getting in touch with the RPi Foundation to get on their radar, or whatever).
Best wishes
Phil