Applied Digital Studies: Final Reflection

Final Reflection: It’s been a blast, I’ve learned a bunch, and I think I deserve an A.

Throughout the process of submitting the work I’ve done this semester to Canvas, I’ve tried to explain each portion as I submitted it. This spelling out of each assignment in detail is much more impactful, and almost emotional because this is my last Digital Studies class. I had no idea what I was in for when I started, but I’m so glad I did. It’s been the most educational, most formative, most inspiring aspect of my college education thus far.


Each week this semester I’ve made an entry into my Learning Journal, a Google Doc where I reflected on what we’d done that week, how I’d connected it to other projects, other disciplines I’ve studied, and the world at large. I’ve made real effort to think critically about the work we’ve done this semester, what it means, what I’m going to take away from it when the class is over, and how it will impact the way I approach future projects.


The first of the three sections of the class involved collaboratively reading and then analyzing in group teaching sessions the Sci-Fi novel The Peripheral by William Gibson. During my three teaching days I had found it progressively easier to ask discussion questions and to consider more in-depth questions about the novel itself as the plot thickened and I got to know the people in my group. Going back to look at my Teaching Notes I got to relive my wild goose chase looking for the meaning of the novel and how Gibson’s eerily accurate portrayal of a dystopian future fit in with Applied Digital Studies. I know the novel was pretty divisive in our class, in fact quite a few people absolutely hated it, but I found that it’s abstract messages made me think harder and more originally about the content and the warnings it tried to impart. (I have further details about each day I taught where I submitted my Teaching Notes on Canvas. )


Before we set out on the next big section of the class, we were asked to come up with a Programming Manifesto. In my Manifesto I expressed much of the frustration I had about the tediousness of coding. Even with all the things that we learned while teaching each other to code in Python and in working on our Big Projects, I’m afraid that by the time we considered our Re:Manifesto, I still found coding to be pretty tedious, but I got back some of that creative spark that I had when I first learned to code as a freshman. I even made a public Re:Manifesto blogpost to include gifs for a little creative flair. That feeling of possibility alone was well worth all the effort I made while learning and teaching the essential concepts of Python according to Montfort and completing my Big Project.

The three occasions on which I taught concepts from the Montfort textbook covered the essential topics of Iteration, Examining and Manipulating Strings, and Computing is Cultural. I chose Iteration first because I struggled with it when I first took programming for CPSC 110, and I thought the lessons I learned while trying to understand the concept might benefit those in my audience who were learning about loops for the first time. (My poster for that concept was a CC0 image of a fingerprint. The little curves are called loops -punny right?) I then chose to tackle Examining and Manipulating Strings because I thought it might help me with my Big Project. It didn’t end up helping much at all, but it was still interesting and I had a great time showing the other people at my table how to mess with strings. Finally I gave a presentation about how Computing is Cultural because it was the essential concept that most interested me, and I used that to show several videos that I felt most exemplified the idea that computing itself is cultural, and that it has the power to create positive change in our cultures.


The overall experience of teaching in this class was extremely fulfilling and I truly enjoyed it. I felt prepared to teach others the concepts and chapters I’d covered and had meaningful discussions with my group about the topics we learned. I got good reviews from my peers on Airtable and tried to adapt my teaching methods throughout the semester to include more visual explanations per their request. Moreover I participated not only in each teaching session by being an attentive student, even when my Chromebook’s limitations made following along difficult, but in workshopping the Big Projects of my classmates, helping them come up with snappy names for their blog posts and making software and website recommendations. I also participated in all of the in-class activities we did, like the Python Poetry generators.


As for my own Big Project, I submitted a proposal for a project using the code, or at least the structure, from the cloud-to-butt Chrome extension that, instead of replacing “the cloud” with “the butt”, replaces racially sensitive words in crime reports to their opposite, white to black, hoodie to polo, african american to caucasian, hispanic to germanic, etc, in order to highlight the racist language used in news broadcasts and facebook discussions all over the internet everyday. It’s a serious problem, and I think that it would not only bring this issue to the attention of people who might not think about it as they’re absorbing and engaging with content, but it could also help serve as an indicator of platforms that do so routinely and deliberately, i.e. Br**tbart, F*x News, NRA ads, etc. (It’s important to censor bad words)


It was an ambitious project for someone of my coding ability, and by the first Progress Report, I’d already run into trouble. I’d found all of the elements I needed, had most of the skills I should have needed, and couldn’t get to it because I couldn’t open the extension. I could see it, I just couldn’t open it. That little gray icon taunted me from the corner of my browser for the rest of the semester.


By the second Progress Report, I’d talked to everyone I could think of about troubleshooting, but was still SOL. It really shook my confidence, and I parked the original project until I could get a Python version working just in case the extension never worked. That resulted in several python programs that looked like this:

def main():
 string=raw_input(“Enter article: “)
 list=string.split(‘ ‘)
 list[list.index(‘Black’)] = a
 list[list.index(‘African-American’)] = a
 list[list.index(‘blacks’)] = b
 new=’ ‘.join(list)
 print new


By the third Progress Report, I was watching javascript tutorials on Youtube about anything even remotely related to the code I was working with. I really wanted to make the Javascript work, but in spite of several visits to the basement of Trinkle, I was never able to meet with a computer lab aid or a computer science student with any degree of fluency in Javascript. I resigned myself to making the Python version a real program rather than coming up truly empty handed. I even contemplated trying to figure out how to use the MIT Media Cloud tools, but realized that the demo versions currently available to the public weren’t a good fit for the project. I even spent my project teaching day on HTML using the video I’d used to teach myself, even though I was sure by that point that I wouldn’t be able to use any of the new skills I’d learned for the project.


So after the third Progress Report, I was trying to salvage what I could before the due date. I was trying to remember how to work with directories and manipulate files in Python when I got frustrated with that, and resolved to take one last stab at the Javascript. Four hours of stubborn tinkering with tips from Youtube and one line of code later, I had a working Chrome extension. The magic line was none other than “ document.write(v); ” at the end of the program. Turned out that gray icon that mocked me all semester was functional, it just wasn’t displaying the changes it could make. I even learned how to add a red border to the pages it worked on to blatantly indicate that the page had altered, and added little * to words that the extension had changed.


Here are some examples of the extension at work:

When applied to a list of 5 Racist Bill O’Reilly quotes (link):

When applied to an article about a racist website the Southern Poverty Law Center bravely took to court (link):

I said in my proposal that this project should be graded on its ability to function as it was intended on Chrome, and I think it does that well. You can try it for yourself if you’re on the #applied Slack channel, just put the files at these links into a folder, go to the Extensions option under More Tools on Chrome, and load that folder as an unpacked extension. Enable and enjoy!

(You need all four files, and they have to be named as listed)





Keeping it 100%…Or as Close as Possible

All of this has to add up to a grade, so…

The Big Project (35% of total): I’ve got all the components linked throughout this Reflection (Proposal, Progress Report 1+2 AND 3, Final Reflection), and I actually made a Chrome Extension that works and everything! I think I deserve a 98% for this, I really made a lot of effort, put in a significant amount of time, I learned an entirely new skill, and I fulfilled the requirements I laid out for myself in my proposal.

Teaching (40% of total): I’d say I’ve earned a 91%, because I taught on all the days I was assigned and came prepared to do so, I participated when others were teaching and always filled out the Airtable forms to give them feedback. That being said, I feel like some of the people I had a chance to learn from did a better job, and I think my grade in this portion should reflect that. I also think other table-groups were a little more professional, but I think I learned the concepts better in the environment we created at our table, because it was so cordial that it was easy to ask questions and take suggestions. There’s a reason the Digital Studies program is part of a Communications degree, and I think the small group skills I cultivated teaching reflect that association.

Programming Manifesto (10% of total): I think it’s fair for me to get a 93% for this portion because while I did put a lot of effort into it and tried to be a little creative with it, I didn’t change much between the Manifesto and the Re:Manifesto. I think I could’ve done a better job showing what I’d learned over the course of the class.

Learning Journal (7.5% of total): I’m very confident that I should get at least a 98% on this assignment. I put in significant time and thought, and kept up with it throughout the semester rather than going back through at the end of the semester and BSing it.

Participation (7.5% of total): I’d give myself a 92% for participation because I filled out all the Airtable forms, submitted my project to the showcase, answered questions and collaborated with classmates throughout the semester. I was present in class not only in body but also engaged in what we were doing, whether it was workshopping projects, sharing functional code snippets while teaching and while learning, or keeping up with the readings, I was mentally invested for every class I was able to attend (all but a couple I think). I also put articles on Slack that were relevant to class discussions.


I’ve also put several hours of work into this Final Reflection post and linking it to as many documents as I can recall creating.  I think, if I’ve done the math right, that comes out to a 94% A for the class, and I think that’s fair, because as I said at the outset, it’s been a blast, and I’ve learned a bunch. I think I deserve an A.

Thanks for a great semester!