The assignment structure of this course consisted of three, self-similar units: each section of lectures ended with a design prompt, based on which a group of students needed to build and present an Arduino-powered prototype of a computer matching the given description. The first of these prompts was to build a "counting computer": that is, a computerized systm that performed a calculation faster and/or more accurately than a human could.
To this end, my team designed and built a 'smart' coffee scale for precision brewing. Given a pre-set weight ratio of coffee to hot water, the scale detects how much coffee has been added to the brewing vessel, then automatically determines how much water is needed. Then, a simple 'bar-graph' panel of LEDs indicates how much of the required water has been added, with a full panel representing the perfect amount.
To accurately measure weight, the prototype employed a load cell and an HX711 load cell signal amplifier, attached to a plywood case. After a brief calibration stage and a few scares with invisible wiring faults, the scale was sufficiently reliable that we could focus entirely on the logical side of the two-phase brewing process in the software. I was personally surprised by the way load cells measure force: despite appearing to be an inflexible steel rod, even an imperceptibly-small amount of sheer force across its body resulted in a change in voltage. In combination with the amplifier, this voltage proved to provide a sufficiently-granular electrical signal to denote even a few milligrams' worth of change in weight.
As much fun as working on this build was, it also taught our group that future builds should be much less reliant on finnicky peripherals, especially those with tolerance thresholds which require calibration. In both of the remaining builds, we exclusively used buttons – or the pre-programmed serial monitor of the Arduino IDE – to handle user input, and only used output peripherals that came with tutorials in the Starter Kit projects guide.
This class was an exciting venture into the world of technology in fiction, and how one might use a fictional narrative to normalize – or advertise – a future product. However, our second assignment asked us to apply our toolkit of analytic devices to the realm of non-fiction, in the form of real world tech demonstrations. (Diegetic demos from fiction were also allowed, but I opted not to pursue this route.) In particular, I analyzed the now-infamous Solar FREAKIN' Roadways! Indiegogo pitch, uploaded to YouTube by inventors Scott and Julie Brusaw in 2014.
The specific theme of the essay was the employment of tropes in advertising, such as those available on [TVTropes](tvtropes.org). After some research – and rewatching the mind-numbingly crass ad numerous times – I discovered one trope already named online, and defined another ad-hoc. I then described in-depth both how the fundraising campaign ad employed these tropes, and why I believe the creators may have done so. It's no surprise that the claims of Solar Roadways are dubious at best, so these tropes may not have just been trying to make the product and its inventors more approachable, but also sweep some shaky science beneath the rug beneath the ongoing chant of "Solar Roadways!".
Although I'm no stranger to the type of critical media analysis required for this assignment, I found the open-ended nature of its prompt simultaneously liberating and paralyzing in terms of the sheer volume of options available. Originally, however, the prompt was slightly more restrictive, limiting valid choices only to those demos/advertisements where live spectators are also portrayed; I'm glad that this constraint was removed, as it eliminated many of my first ideas as a native citzen of early YouTube techno-culture. Ultimately, I'm quite satisfied with my choice of Solar FREAKIN' Roadways! , and certainly would be hard-pressed to be unsatisfied with the grade I received for my efforts!
This course is one of two, alongside INF 401, which runs year-long on alternating weeks. As a result, the course is not yet complete as of writing; so, I'll opt to comment on my experience thus far, rather than on some particular assignment.
The instructor of this course, Prof. Dan Ryan, introduced its contents as the "greatest hits of Computer Science": a top-down discovery of the fundamentals of logic, data structures and flow, and the like. As a student coming from the pseudo-cult of UofT Computer Science myself, I was quite curious to see how this course would play out, especially without some of the underlying presumptions about what constitutes a C.S. student.
With that understanding-based learning in mind, I often describe understanding new concepts as being "past the mountain": every explanation you get seems like jargon or just plain wrong, until suddenly it 'clicks' and you never forget it. Or, if you forget the specific implementation of a solution to a problem, you'll at least know that a solution exists, and can use your earned vocabulary to search for it online. From that perspective, I saw many of my classmates on the near side of the mountain, needing only one or two well-aimed questions to help them come to their own realization. My hope for the 2022 Winter semester is that I'll be able to see many of those lightbulbs turn on in real-time: it's one of my favourite experiences to be a part of.
One of the more significant pieces of writing in this course came in the form of the Critical Reading Response. This assignment involved summarizing, comparing, and contrasting every reading from a particular topic in the course. Seeing as the course syllabus was topically divided by weeks, the assignment is equivalently defined as involving all readings from a given week. To this end, I opted to focus on Week 11, Application of Theory, which featured two essays as assigned reading. The first was Nancy Van House's Science and Technology Studies and Information Studies (2003), an article in the 38th edition of Annual Review of Information Science and Technology, and the second was Ernst Schraube's Technology as Materialized Action and its Ambivalences (2009), as published in the 19th volume of Theory and Psychology, 2nd issue.
Although the two papers differ somewhat in their primary focus – each leaning more towards the fields mentioned in their respective journals' titles – both discuss the intersection of Science and Technology (STS) approaches to said fields, regarding in particular the collective understanding of human-made things. To briefly summarize STS, which was the primary focus of INF 302, it is essentially a collection of schools of sociological and philosophical thought which seek to examine how scientific and technological developments interact with the human cultures in which they occur.
Out of all of the readings assigned for this course, I found that Schraube (2009)'s wholesale rejection of not only STS, but scientism as a whole in psychological discourse, elicited the most visceral response out of me. So, that reading, and the week's topic as a whole, seemed an optimal theme for one of the only major pieces of argumentative writing I would complete this semester. The part of the assignment I found the most challenging was not only closely reading both essays for the sake of comparison, but fitting the entirety of my thoughts into the notoriously low word-count limits found throughout the course. After many hours and multiple drafts, I was able to squeeze both a literary review, and my own response, into just over 1,500 words, which I deem a significant accomplishment.
As mentioned above, INF 401 is a full-year course, of which we have had the equivalent of six weeks' lecture thus far. The gaps between lectures provide ample time to undergo the self-reflection that the assignments have required of us, as well as to slowly converge onto a singular narrative that is much easier to express on, say, a resume.
One facet of the course that has surprised me thus far was not just this self-reflective nature, but the inclusion of other people's observations of my professional presence in the class. For example, a classmate offered this personal statement:
Full-Stack software developer. Emerging user experience designer. Expertise in both front-end and back-end development languages. Experienced in developing digital systems with an empathetic approach to user design to facilitate collaborative work between team members.
As you may have gleaned from my writing style, I tend to err on the longer side, so such a concise statement as this served as a surprisingly effective launching-off point for creating a statement of my own, laced with my own work experience:
Full-stack software developer and emerging User Experience designer. Expertise in both front-end and back-end systems, with a focus on accessibility and localization through language. Experienced in developing for the distributed web, with an empathetic approach to user-facing design and internal communications.
Conversely, I found a lot of similarity between Prof. Colin Furness' approach to assignments and my own: a heavy-handed set o00:14f constraints is sometimes needed to demonstrate a more general concept, but one is free to take or leave corrections at for one's own purposes. For example, in some later lectures Prof. Furness proferred a somewhat unconventional list of 'rules' for formatting a résumé, in order to keep the cognitive overhead of reading it to an absolute minimum. But, he conceded that students were free to 'throw out' their adapted résumé immediately after submitting it, if they disagreed with any of the guidelines. Admittedly, some of the constraints were unexpected to me – and notably omitted what I thought would be the 'golden rule' of fitting everything on one page – but the exercise proved an extremely valuable one for simplifying much of the copy and layout of my existing résumé.