Since the premise uses the word “should” rather than “must,” then I’ll go right ahead and declare that humanities students should learn to code. I assume most students are probably required to learn math at some point in their K-12 education for various reasons that most likely do not include situations when calculators do not exist
![spongebob meme about calculators in the real world](https://hh2021.amason.sites.carleton.edu/wp-content/uploads/2021/01/teacher-in-the-real-world-you-wont-always-have-a-21438953.png)
but do encompass reasons such as quantitative reasoning skills. And regardless of the extent to which those skills are retained throughout life, engaging the brain in different ways and having a balanced education can probably only be a benefit. Similarly, the thinking and skills gained from even just a small exposure to coding help broaden one’s knowledge and exercise the brain in new ways. Coding offers its own take on quantitative reasoning skills and “is a creative and generative activity…
Programming is about choices and constraints, and about how you choose to model some select slice of the world around you in the formal environment of a computer.
“Hello Worlds (Why Humanities Students Should Learn to Program).” Matthew G. Kirschenbaum, 26 May 2010, mkirschenbaum.wordpress.com/2010/05/23/hello-worlds/.
Contrary to my position stated above, however, up until Fall 2019 of my junior year I had been adamant that I would never ever take a CS course in my academic career. I had reasoned that if I really wanted to learn to code I could just continue that Codecademy course I had briefly started back in high school. But within the first week of the term my schedule had morphed into a form unrecognizable from its shape when I registered the previous term. And Intro to CS ended up securing the final, snug spot in my schedule after I had tried and dropped two other courses. Since then I have never used Python again and can barely recall anything of use (which makes me question why I even have it on my resume), but I still think that in the moment it was a good experience. Like taking one art course amidst a schedule of STEM courses, taking that one CS course served as almost a break from the uniformity of my psychology major courses. It required different kinds of thinking and a logic that I had never realized even existed. Plus, the games, although quite primitive, that I made in the class were much more tangible and usable compared to the theoretical musings I wrote in my research papers, which was a welcome change for me. It felt good to be able to actively engage in a product I had created.
More recently, I’ve also tried out ChucK in Computer Music and am currently in the process of picking up R in Applied Regression. And for both of these, I’ve just been really satisfied with seeing something actually happen when I type stuff into my computer, which is far from the case when I’m toiling away at my comps that has a deadline much too close for comfort.
And here’s some of my code (that produces an artificial-sounding rendition of “Jingle Bells”) from Computer Music that was pretty fun to figure out:
//Play Jingle Bells
fun void jingle()
{
TriOsc t => dac;
[52,52,0, 52,52,0, 52,52,52,52,0, 52,52,0, 52,52,0, 52,52,52,52,0, 52,52,0, 55,55,0, 48,48,48,0, 50,0,
52,52,52,52,52,52,52,52,0, 53,53,0, 53,53,0, 53,53,53,0, 53,0, 53,53,0, 52,52,0, 52,52,0, 52,0, 52,0,
52,52,0, 50,50,0, 50,50,0, 52,52,0, 50,50,50,50,0, 55,55,55,55,0, 52,52,0, 52,52,0, 52,52,52,52,0, 52,52,0, 52,52,0, 52,52,52,52,0,
52,52,0, 55,55,0, 48,48,48,0, 50,0, 52,52,52,52,52,52,52,52,0, 53,53,0, 53,53,0, 53,53,0, 53,53,0,
53,53,0, 52,52,0, 52,52,0, 52,0, 52,0, 55,55,0, 55,55,0, 53,53,0, 50,50,0, 48,48,48,48,48,48,48,48,48,48,0] @=> int tune[];
for (0=> int i; i < tune.cap(); i++)
{
Std.mtof(tune[i]) => t.freq;
.1::second => now;
}
}
I’m looking at your code and trying to hum “Jingle Bells” in my head, but I can’t seem to get it right. I’m probably reading it the wrong way.
Wyen, you made a really good point by comparing coding to math education. I agree that regardless of its practical application, learning to code can be beneficial. Also, your code looks very interesting!