Thinking About Thinking in the Wake of COVID-19

It’s been quite a while since I’ve updated this website (and blog), but I suppose there’s no better excuse than a pandemic to find new hobbies and restart old projects. Since I first shared the educational materials on this site, I’ve apparently been grad school for over 2 years (time flies!) and, as part of my candidacy requirements, have both the great burden and opportunity to dig into an area of interest of my choosing. In other words, to concoct a massive literature review and research design, in what I presume will be written in much more formal language than what I’ll be presenting here.

I hope that the act of writing a blog post will help me along this ride by forcing myself to maintain some semblance of routine during these unprecedented times, reduce the pressure of needing to generate what I (irrationally) perceive to be a high-stakes perfected document, help me organize my thoughts and inch closer to what it precisely is that I am interested in researching, disseminate this information as part of what the NSF calls “broader impact” (but also because I genuinely do want to make these resources publicly available), and last but not least, better ground my thoughts to real-life solutions and the roots of why advancing education is such an important personal matter.

As for the intended audience, I think these will be for myself as much as it is for my advisor, which hopefully will not be overly irritating given the stark contrast with my typical academic writing style largely devoid of the “fluff” included in these opening paragraphs, and admit that I like incorporating literary flair on occasion despite the fact that growing up, English was my least favorite subject and any job involving writing was beyond my wildest dreams.

But alas, the times have changed at an almost uncomfortable pace and it seems that will continue, so I hope these snippets will serve dual purpose as a somewhat tactful time capsule of my personal and professional thoughts intertwined (in a more tasteful sense than what this normally implies), as well as a meaningful contribution of synthesized knowledge regarding educational technology literature (or at a minimum the literary equivalent of junk food where you really gain nothing but at least feel satisfied temporarily).

Now with that soliloquy complete, I’ll move on to our main motivation: the current pandemic, which is really just a backdrop for a discussion into metacognition, how people think, and how we teach people to think. In truth, I’ve been meaning to write this up for a while, but it has been extremely difficult to regulate my own thought processes and emotions given the roller coaster of chaos that is 2020. Nonetheless, I’ve finally managed to jot down my mind ramblings from the past few weeks in a semi-coherent form, and while I’ve used COVID as a to tether the discussions here, cognition and metacognition can certainly relate to many more commentaries on any number of things on my (or your) mind. Roughly 3 months ago, when much of the lockdowns were first imposed, a friend and I were discussing the diagram below, which is probably familiar to most people by now:

On the merits and follies of hand-written code

If you’ve been in a computer science class, you’re bound to hear someone complain about hand-written code during tests or quizzes at some point or another. Oftentimes, the debate goes something like this:

Oblivious Student: “This is so stupid and unrealistic. When will I ever have to hand-write code?”

Old-Fashioned Professor: “This is an important and fundamental skill–think about the job interviews!”

Fair enough. For instance, there are plenty of books and articles about technical interviews and this video to guide applicants towards that coveted position at Google:

Finding the perfect cup of coffee with gradient descent (part 2)

Last time, we introduced the coffee shop problem and a tool of the data analysis trade, that is gradient descent. This time, we’ll get into the meat of the analysis and finally reveal the winning price and recipe. As a result, there won’t be many interactive elements presenting big new concepts, but there will be plenty code snippets to complete. So without further ado, let’s begin.

We know how to perform a linear regression, but how do we tackle interesting non-linear patterns like the one between price per cup and total revenue?

Markov music murder mystery

Previously, I talked about Bayesian statistics. This will be a continuation of that post, based on yet another topic I’ve tried to learn on my own. The only difference is that we’re spicing up the title with alliteration and switching up the theme: this post will be centered around Halloween, so get ready for some spooky music and literature (costumes are optional).

Recall that we worked really hard to show that a beta prior could account for a fair range of beliefs and had a nice analytical solution (i.e. it was possible to integrate that pesky denominator). Unfortunately, even with this discovery, you don’t have to get too creative to come up with situations that we can’t adequately describe. For instance, what if we have a bimodal distribution? That is, say there’s a class where you expect a cluster of A’s, a group of C’s, and not much else in between. A beta distribution certainly can’t capture this “double hump”. Fortunately, we have a solution. Take a look at \(\text{Beta}(5, 5)\) (figure b) below. Note that we can discretize and approximate this distribution using 25 points (figure a), or however many you’d like.

A Bayesian gambling problem

First, let me start off with what this post is not. It is not a thorough discussion into the arguments between Frequentists and Bayesians. With that said, I’ll provide a resource at the end in order to highlight the differences between these two views and give you a reason to care about Bayesian statistics. I delved into this subject myself not too long ago using a course on Coursera that I highly recommend, and this is my attempt to introduce and summarize some of the fundamental ideas.

The Bayesian model is an important paradigm that should be part of an introductory statistics course, yet when I took my university’s equivalent of “Stats 101,” we didn’t even make it to good ol’ NHST (null hypothesis significance testing). Furthermore, a quick Google search doesn’t seem to reveal a lot of “friendly” guides akin to Khan Academy for basic statistics and Paul’s Online Math Notes for calculus. There are some posts, slideshows, and long pdf textbooks that are pretty good, but I find myself glazing through blocks of formality, convincing fooling myself that I understand the concepts, and then losing interest like a kid in high school just waiting for the bell to ring. Ideally, this post will encapsulate the main ideas in a more captivating way.

Finding the perfect cup of coffee with gradient descent (part 1)

In middle school, there was a rather popular website kids went to called Cool Math Games (don’t worry, it’s not terribly sketchy). Anyway, I forget the specific details, but I do recall having a bit of “independent time” to work on educational-related things, and one student assured our teacher that the site was indeed, educational. When she found out that learning consisted of Bloons Tower Defense and other nonsense, well…let’s just say that was the end of that. Don’t get the wrong impression; despite this incident, my 6th grade teacher an amazing educator and inspiring individual. Also, Cool Math Games did have some information on mathematics such as an article on counting I tried skimming over at the time. I gave up upon encountering \(n \choose k\), kind of like how I recently struggled through an entire day trying to understand tensors.

The Photoelectric Effect

A while back, I created a small demo on Khan Academy. Since I’ve decided to use this blog to post educational material (and other things that I have yet to decide on), I figured that I may as well take the time to share and flesh out a mini lesson plan. Of course, after I found a way to embed Processing.js, I realized that the default angle mode is in radians while Khan Academy defaults to degrees. As a result, the CodePen snippet below has some hacky-looking modifications from the original, but it’s mostly identical. Either way, this is a good reminder to 1.) use radians from now on, and 2.) work on factoring out more constant variables so that I don’t have to go on a programmer’s version of hide-and-go seek. With that mental note out of the way, onto the lab!