-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New article on the story of how NOT to teach and encourage learning
- Loading branch information
Showing
1 changed file
with
67 additions
and
0 deletions.
There are no files selected for viewing
67 changes: 67 additions & 0 deletions
67
org/_posts/2024-01-02-the_academically_hostile_professor.org
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#+OPTIONS: toc:nil num:nil | ||
#+STARTUP: showall indent | ||
#+STARTUP: hidestars | ||
#+BEGIN_EXPORT html | ||
--- | ||
layout: blogpost | ||
title: "The academically hostile professor - How NOT to teach and promote learning" | ||
tags: opinions teaching programming | ||
--- | ||
#+END_EXPORT | ||
|
||
This time I'm going to do something different than usual; we are going to look into a story from my past that I recently remembered. Teaching and promoting the joy of learning is something I care about immensely. If we could just show more joy, and point newcomers to good resources, I think we would have more great material out there (i.e, books, indie games blogs, and other works building upon said knowledge). The story I will share today is a story about how to NOT promote joy with relation to math and physics, but can be extended to all sorts of fields. I have made sure to NEVER do it myself. Hopefully after reading this article, you will stop behaving like this if you do... | ||
|
||
|
||
|
||
*NB: Like all experiences, the opinions expressed can be subjective. I would still argue that most of us can agree that this is not in any way good behavior to make people feel good about trying to learn.* | ||
|
||
|
||
* Some background on the story and concepts | ||
Let's start with some background. Many years ago I was taking a university course on numerical solving of partial differential equations (PDEs), as I LOVE when mathematics and computers intersect like in simulations of natural phenomena. If you are not familiar with PDEs, they are mathematical equations describing various phenomena. What makes them more complicated than equations you may have seen before is that PDEs include partial derivatives (i.e, functions derived with relation to specific variables). If we have a function f, then its partial derivative with respect to x would look like: | ||
|
||
\begin{equation} | ||
\fract{\partial f}{\partial x} | ||
\end{equation} | ||
|
||
If you want to learn the basics of doing numerical solutions to partial differential equations, I think the best material is the course notes from Hans Petter Langtangen (RIP). He was a living legend, and loved teaching. [[https://hplgit.github.io/INF5620/doc/web/notes.html][The course website with links to PDF versions are still available]], even if the page styling is broken. Like we will discuss shortly, there is always differences in what resources you get the most out of. Sadly, this is the one I learned the basics of, so I have no other recommendations. Some people might want to start with [[https://en.wikipedia.org/wiki/Partial_differential_equation][the Wikipedia article on PDEs]]. | ||
|
||
|
||
* "And now the conclusion..." (aka the main story if you didn't take the Star Trek The Next Generation reference) | ||
The course I took was amazing, but the professor was ABSOLUTELY F**KING NOT. He was arrogant, and had an attitude that could repel even the most eager student of mathematics. At the time, I was very curious on fluid motion, and wanted to grok it and understand the basics of the Navier Stokes equations to simulate fluids (fluids = gasses, water, liquids etc.). The resources I had found were convoluted, and I had trouble understanding them. Who better to ask for advice than the professor of a course on PDEs? Seemingly anyone else on the entire planet. As this story is many years old, I will paraphrase below. | ||
|
||
|
||
#+BEGIN_VERSE | ||
Me: Do you know of any good resources to learn about numerical solutions to the Navier Stokes equations? | ||
|
||
Professor: Go to the library. | ||
#+END_VERSE | ||
|
||
Yes, this was the actual conversation, if it can even be called that. If you don't see the problem here, you should probably go home and rethink your life. The answer is in the same vein as "search the internet". If you ask a question like this, it is often implied that you are looking for specific resources. | ||
|
||
|
||
What if the professor had no specific resources to recommend? Or that it was so long ago that they did not remember? As a professor doing teaching, you should at least encourage learning, and at least not make people feel lost. A good response would have been something akin to: | ||
|
||
#+BEGIN_VERSE | ||
Professor: Sorry, it has been so long since I learned this topic. I can see if I find something before the next lecture, though I can't promise anything. | ||
#+END_VERSE | ||
|
||
The last part can have some sort of variation depending on your schedule. At least don't be a dickhead. | ||
|
||
|
||
* Afterthoughts | ||
What if you want to look into the Navier Stokes equations? I'm in no way an expert, and have only basic understanding here. When you start reading about them, they might seem VERY complicated (as they were for me). You should start by looking into the equations for incompressible fluids (i.e, constant volume, and not being stretched or compressed). | ||
|
||
|
||
Some resources that have helped me: | ||
|
||
- [[https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equations][The Wikipedia article]] | ||
- [[https://developer.nvidia.com/gpugems/gpugems/part-vi-beyond-triangles/chapter-38-fast-fluid-dynamics-simulation-gpu][GPU Gems chapter 38 - Fast Fluid dynamics simulation on GPUs]] (recommend to read up on iterative methods to solve systems of equations, aka matrix equations. No resources to recommend sadly). | ||
- [[https://developer.nvidia.com/gpugems/gpugems3/part-v-physics-simulation/chapter-30-real-time-simulation-and-rendering-3d-fluids][GPU Gems 3 chapter 30 - Real-Time Simulation and Rendering of 3D fluids]] (read the previous one and understand it first, or else it will seem extra extremely daunting) | ||
|
||
The main take away to demystify the equation, for me, was to understand that it's Newtons Second Law (\(F = ma\), or force equals mass times acceleration) applied to fluid motion. Often a function f or g is added to the result, which symbolizes external forces like gravity or something else interacting with the fluid. | ||
|
||
|
||
Remember that these things are known to be hard, so don't be sad if it takes some time to understand. You might still enjoy the articles, even if you only understand parts of it at first. Even if you use a ready made fluid simulator in a game engine, you might like to know some details on how these simulators work. | ||
|
||
|
||
Happy hacking! :) |