Showing posts with label education. Show all posts
Showing posts with label education. Show all posts

Thursday, August 25, 2022

Extended shower thought: Fish would be bad swimming instructors

Obligatory epistemic status: Speculative and hard to test but falls out an as implication under current worldmodel.

Just a shower thought I've had on my mind for a while:

Fish would be bad swimming instructors (for humans).

This remains true even after adjusting for/overcoming the differences in body types and ability to speak your language.

What do I mean? Well, to be sure, fish are good at swimming. And normally, that's what's you want in a swimming instructor...

...but not here. While fish are good at swimming, they have always been good at swimming. They were deft swimmers before they reached any point of being able to reflect on their selves or what they are doing. They have no appreciation for what it's like not to be a good swimmer.

What does "learning swimming" involve (for humans)?

Fish, being fish, never had to make the transition from being a natural biped to one that has repurposed its body for motion in water, which is what humans have to go through to "learn swimming". They never had to start from a mentality that finds walking somewhat natural -- and swimming somewhat unnatural -- and then adjusts its appendage motion in a way more suited to the latter.

We can imagine any kind of instruction session between fish and humans (as above, appropriately adjusted for language) to be fraught with peril. The fish might try to point out deficiencies that hold back the human. But it has never had to think about such deficiencies, because it has never needed to distinguish between the right way and the wrong way.  It was always just "the way" that came instinctually.

The fish might nearly lash out, frustrated that the human attempts an obviously ineffective means of water locomotion. But it has no idea why those flawed attempts are wrong. They just feel wrong.

The fish will happily demonstrate the "right way", just by doing it. But identifying the difference between its "right way" and "what humans do" would be a learning experience in itself, something it has no natural advantage in, as it was never part of the fish's "learning process for swimming".

The converse is true -- humans would be bad at teaching fish to walk (with the appropriate apparatus) or otherwise move on land. (But note the parallel isn't perfect as humans generally do have to struggle and learn how to walk, but not in any way that involves formal instruction.)

Implications for human-human interaction

So far, this insight feels (and, well, is) just idle speculation. But there are implications for ordinary life.

There will be times when someone is a "natural" at some skill. They're good at it. And that is their only teaching qualification. And they try to teach a non-natural that skill. They are then bad at teaching. The missing piece is the learner's mind is very different from what the natural is capable of filling in. Such a teacher will constantly show them how to do it "right" but not be able to identify the difference between what they're doing and what the learner is -- except by drawing on some kind of unrelated, general intelligence.

(I won't give any specific examples of such a skill, because those become contentious issues in their own right and detract from the general point. But I've definitely been on both sides -- learning from someone who has no understanding why they're good at it, and grasping to communicate something I do without ever thinking about it.)

You can also run into this problem when you become skilled at something. You can sometimes assimilate the skill so well that you are effectively a natural, by forgetting the whole process by which you learned it. You may lose the perspective you had as a beginner and are no longer able to relate to them.

Part of why I enjoy teaching what I know is that I seem unusually resistant to this process, and have vivid memories of the hurdles I overcame as a newbie.

Tuesday, February 13, 2018

NAND to Tetris: Nothing short of awesome

Been a while since I posted, huh?

Well, here's an interesting development in my life: I finally started the NAND to Tetris course (part 2) on Coursera, which is based on the instructors' site.

I can say, whole-heartedly, that the course is awesome, and the first thing in a long time that has gotten me into a flow state.

The idea behind the course is this: they take you through (virtually) building a computer from a very basic level, showing all the abstraction layers that produce a computer's behavior.

It starts with logic gates -- specifically, the NAND gate (hence the name), since it's universal. Your first project is to use a hardware simulator to build several other logical gates from NAND. (NAND is just an AND gate with the outputs inverted, so that true and true yield false, everything else yields true.) The second project is to to build the arithmetic logic unit (ALU) in a CPU out of the components, so you basically have a configurable circuit: based on six control bits, you perform one of several possible functions on two 16-bit inputs.

The next project incorporates "flip flops", which allow you to repeatedly execute that circuit while also writing to and reading from some some persisted memory. Your inputs to the circuit then function as a kind of machine code.

The project after that then has you implement functions in that machine code, writing in an assembly language the authors created for the course that has a precise mapping to the machine code inputs in the CPU from the previous lesson. I can honestly say it was a really fun project to implement multiplication directly in assembly language!

Later on you write a compiler from a high level language into assembly (which then converts simply into machine code), in a way that's broken into two steps: a compiler from the high level language into a virtual machine that works on a stack with memory blocks, and a compiler from the virtual machine commands to assembly. I just recently finished that latter part (which comes first).

Those layers then build up to making a game that runs on your CPU, then an OS, and some other stuff I haven't delved into.

In the course of the projects, you use a hardware simulator, an assembler (for converting the assembly language into machine code), a CPU simulator, and a virtual machine simulator.

In order to catch up with the class an have enough leeway for a weekend trip, I went through much of the course over the weekend, and enjoyed every minute of it! I especially like how the break the projects into manageable pieces. For example, in the VM-to-assembly part, it first has you implement simple push/pop/add operations on a stack and run a test to verify that you can compile those commands. Further test suites give you a manageable set of operations to add.

I've written an actual compiler now! (albeit limited use...)

(Consider how fun this is, and how naturally it comes to me, maybe I picked the wrong field.)

One interesting challenge is that the CPU only has two registers call A and D, and only the A register is used when accessing memory, to know which word of memory to look at. It took me a while to figure out how you could say "look at the value in the memory location refered to in the memory location zero." Before I saw how you could do it, I implemented one project by having two separate code branches for the two possible values at the memory location!

Would love to link my code for the projects, but they discourage that to leave the challenge for others to solve.

Wednesday, February 1, 2012

The secret unleased: I will become a software developer!

I know I've kept my readers kind of in the dark, but I just left my day job to attempt a career change into software development and otherwise make sense of all the projects out there that I could improve. I'll be flying to San Francisco today for it, where I'll stay for at least 2-3 months, residing on the luxurious (s)Nob Hill.

Here is the site for the "Developer bootcamp" program, for which I'll be in the Feb/March cohort.

Flight leaves at 1:30 pm, wish me luck!

Thursday, October 13, 2011

Setting the signaling model of education straight(er?)

Note: free business suggestion below.

You might have heard about the so-called "Signaling model of eduction", promoted by Bryan Caplan at GMU (among others!), and it's something I find plausible.

First, some background: The problem is to explain why people who get a college education are more able to get jobs, and better paying ones. The traditional explanation is that colleges provide you with knowledge skills that allow you to be more productive. (This has always seemed suspicious to those of us who have remarked, throughout our education, that "I'm never gonna use this stuff" ... and been mostly right.)

The signaling model, in contrast, says that completion of college simply reveals your possession of good traits for hiring that you already had before, but could not convincingly claim to have until you completed college, since a college degree indicates some combination of intelligence, willingness to do boring stuff that doesn't make sense, and capacity to be indoctrinated into and conform with a group (I'm simplifying a bit). These things are hard to test in a job interview, or, in the case of intelligence, usually illegal to test for.

A few years ago, I pointed out (HT: Bob Murphy [1]) that one usefully testable implication of the signaling model is that you should be able to earn big profits by running a business that provides high school graduates with the same "signals of good qualities" that a college provides, but at significantly lower (monetary) cost to them, simply by "cutting out the fat" -- all the stuff that doesn't help to signal the student's ability. You would just set up some school that filters students by IQ, and then puts them through hell, gives them difficult assignments, poor living conditions, etc. No way an unemployable person could survive through that kind of regimen, right?

So there's your idea: you make students just as employable, but they don't have to take on nearly as much debt.

Interesting caveat: in one discussion of my idea, someone mentioned that this business model is already in widespread use: specifically, the military! Let's go through the checklist:

- Cheaper than college? Check. (Heck, in terms of money, they pay you!)
- Enforces indoctrination and unquestioning following of direction? Check! [2]
- Selects for people who are willing to give a lot to a big organization? Check.
- Employers regard service therein as equivalent to college experience? Check (usually).
- Gives experience doing boring tasks because you were told to? Check.
- Generally puts you through hell? Check.

Wait, this can't be right, can it? This comparison fails in that the military doesn't filter people based on an IQ test! Hah!

Not so fast -- they've got that one covered: in the US, it's called the ASVAB, which determines whether you can get in, and then which branch, role, or officer status you're eligible for. (My mom used to pass on her dad's remark that, "the army'll take anyone who can crawl there, but not the Coast Guard! An exaggeration, of course, though the branches do have different score cutoffs.) The ASVAB is, in content, an IQ test.

Now, if you can provide a better value than the military (say, to people who don't want to possibly be put in harm's way), here's your business idea!

[1] Yes, a hat tip for pointing me to my own post,.
[2] Note: this isn't always a bad thing. As Eliezer Yudkowsky put it in that article:

Let's say we have two groups of soldiers. In group 1, the privates are ignorant of tactics and strategy; only the sergeants know anything about tactics and only the officers know anything about strategy. In group 2, everyone at all levels knows all about tactics and strategy.

Should we expect group 1 to defeat group 2, because group 1 will follow orders, while everyone in group 2 comes up with better ideas than whatever orders they were given?

In this case I have to question how much group 2 really understands about military theory, because it is an elementary proposition that an uncoordinated mob gets slaughtered.