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

Thursday, May 29, 2025

Philosophy and child-raising

Philosophy Departments often try to attract undergraduates by telling them about instrumental benefits of philosophy classes: learning generalizable reading, writing and reasoning skills, doing better on the LSAT, etc.

But here is a very real and much more direct reason why lots of people should take philosophy classes. Most people end up having children. And children ask lots of questions. These questions include philosophical ones. Moreover, as they grow, especially around the teenage years, philosophical questions come to have special existential import: why should I be virtuous, what is the point of life, is there life after death, is there a God, can I be sure of anything?

For children’s scientific questions, there is always Wikipedia. But that won’t be very helpful with the philosophical ones. In a less diverse society, where parents can count on agreeing philosophically with the schools, parents could outsource children’s philosophical questions to a teacher they agree with. Perhaps religious parents can count on such agreement if they send their children to a religious school, but in a public school this is unlikely. (And in any case, outsourcing to schools is still a way of buying into something like universal philosophical education.) So it seems that vast numbers of parents need philosophical education to raise their children well.

Wednesday, January 6, 2021

Four-bit microcomputer trainer in Scratch

When I was a kid, I had a Radio Shack Microcomputer Trainer. This device was programmable in machine code, and was a 4-bit system with 112 nibbles(!) of RAM. It actually ran as a virtual machine on a more powerful TMS-1x00 4-bit processor. These days, kids learn coding with much higher level languages than machine code, including graphical languages like Scratch. So I had some fun over the break and bridged the gap between then and now by making an emulator (or maybe more precisely simulator) of the trainer in Scratch. For computations (though probably not for I/O) it runs in the browser (shift click the flag to get Turbo Mode, though) faster than the original did according to my benchmark.

[Scratch link.]

[Instructables link with usage instructions.]




Friday, November 27, 2020

Scratch coding in Minecraft

Years ago, for my older kids' coding education, I made a Minecraft mod that lets you program in Python. Now I made a Scratch extension that works with that mod for block-based programming, that I am hoping to get my youngest into. Instructions and links are here.




Monday, November 28, 2016

Are we all seriously impaired?

When I taught calculus, the average grade on the final exam was around 55%. One could make the case that this means that our grading system is off: that everybody’s grades should be way higher. But I suspect that’s mistaken. The average grasp of calculus in my students probably really wasn’t good enough for one to be able to say with a straight face that they “knew calculus”. Now, I think I was a pretty rotten calculus teacher. But such grades are not at all unusual in calculus classes. And if one didn’t have the pre-selection that colleges have, but simply taught calculus to everybody, the grades would be even lower. Yet much of calculus is pretty straightforward. Differential calculus is just a matter of ploughing through and following simple rules. Integral calculus is definitely harder, and exceling at it requires real creativity, but one can presumably do decently just by internalizing a number of heuristics and using trial and error.

I find myself with the feeling that a normal adult human being should be able to do calculus, understand basic Newtonian physics, write a well-argued essay, deal well with emotions, avoid basic formal and informal fallacies, sing decently, have a good marriage, etc. But I doubt that the average adult human being can learn all these things even with excellent teachers. Certainly the time investment would be prohibitive.

There are two things one can say about this feeling. The first is that the feeling is simply mistaken. We’re all apes. A 55% grade in calculus from an ape is incredible. The kind of logical reasoning that an average person can demonstrate in an essay is super-impressive for an ape. There is little wrong with average people intellectually. Maybe the average human can’t practically learn calculus, but if so that’s no more problematic than the facts that the average human can’t practically learn to climb a 5.14 or run a four-minute mile. These things are benchmarks of human excellence rather than of human normalcy.

That may in fact be the right thing to say. But I want to explore another possibility: the possibility that the feeling is right. If it is right, then all of us fall seriously short of what normal human beings should be able to do. We are all seriously impaired.

How could that be? We are, after all, descendants of apes, and the average human being is, as far as we can tell, an order of magnitude intellectually ahead of the best non-human apes we know. Should the standards be another order of magnitude ahead of that?

I don’t think there is a plausible naturalistic story that would do justice to the feeling that the average human falls that far short of where humans should be at. But the Christian doctrine of the Fall allows for a story to be told here. Perhaps God miraculously intervened just before the first humans were conceived, and ensured that these creatures would be significantly genetically different from their non-human parents: they would have capacities enabling them to do calculus, understand Newtonian physics, write a well-argued essay, deal well with emotions, avoid fallacies, sing decently, have a good marriage, etc. (At least once calculus, physics and writing are invented.) But then the first humans misused their new genetic gifts, and many of them were taken away, so that now only statistically exceptional humans have many of these capacities, and none have them all. And so we have more geneticaly in common with our ape forebears than would have been the case if the first humans acted better. However, in addition to genetics, on this story, there is the human nature, which is a metaphysical component of human beings defining what is and what is not normal for humans. And this human nature specifies that the capacities in question are in fact a part of human normalcy, so that we are all objectively seriously impaired.

Of course, this isn’t the only way to read the Fall. Another way—which one can connect in the text of Genesis with the Tree of Life—is that the first humans had special gifts, but these gifts were due to miracles beyond human nature. This may in fact be the better reading of the story of the Fall, but I want to continue exploring the first reading.

If this is right, then we have an interesting choice-point for philosophy of disability. One option will be to hold that everyone is disabled. If we take this option then for policy reasons (e.g., disability accommodation) we will need a more gerrymandered concept than disability, say disability*, such that only a minority (or at least not an overwhelming majority) is disabled*. This concept will no doubt have a lot of social construction going into it, and objective impairment will be at best a necessary condition for disability*. The second option is to say only a minority (or not an overwhelming majority) is disabled, which requires disability to differ significantly from impairment. Again, I suspect that the concept will have a lot of social construction in it. So, either way, if we accept the story that we are all seriously impaired, for policy reasons we will need a disability-related concept with a lot more social construction in it.

Should we accept the story that we are all seriously impaired? I think there really is an intuition that we should do many things that we can’t, and that intuition is evidence for the story. But far from conclusive. Still, maybe we are all seriously impaired, in multiple intellectual dimensions. We may even be all physically impaired.

Friday, September 16, 2016

Mathematics without proof

My 11-year-old complained to me that his mathematics teacher tells them things without proof. This made me realize that the sorts of things that he mentioned as given without proof--say, the distributive law and maybe some facts about prime factorization (maybe the Fundamental Theorem of Arithmetic? I can't remember)--were things that somehow no one ever showed me a proof of, either, despite getting an undergraduate degree in mathematics and then a PhD. So I can't just say: "Hold on, one day they will give you the proof of this."

Friday, June 24, 2016

Teaching programming with AgentCubes

I made an Instructable giving the curriculum I used for a mini-course for gifted middle- and high-school kids teaching programming by making 3D games with AgentCubes.

Thursday, June 23, 2016

RaspberryJamMod for Minecraft/Forge 1.10

My RaspberryJamMod, which enables the Minecraft PI API for Python programming, has been updated to work with Minecraft/Forge 1.10. Still alpha-quality, but everything I've tried seems to work.

Tuesday, June 14, 2016

Simple chase AI via heat propagation

I've been teaching programming to gifted kids using AgentCubesOnline. Consistently, kids want to make games where scary things chase you. But how to make a simple algorithm for the scary things to come to you? The most naive algorithm is to have to go in whatever direction the player is, but that doesn't work with obstacles. This morning I came up with a very simple solution that is super-easy to implement in AgentCubes: use heat propagation. Basically, set the maximum heat value at the player, set zero heat at obstacles, let the heat propagate at some fixed rate (e.g., by averaging the heat at a cell with the heat at neighboring cells every fixed amount of time; you can adjust the rate by changing the time-step and the weighting), and have the monsters always go in the direction of increasing heat.

A particularly nice artifact of this approach is that as the player character navigates the board, it leaves a heat trail, and so instead of making a bee-line for you, the monsters exhibit a behavior that is a combination of following you and making a bee-line for you. The monsters' following you, while at the same time taking occasional shortcuts, provides a pretty good illusion of intentionality on their part. Try it here (use arrow keys to move the ladybug).

I also got a nice bonus from what started out as a bug: the monsters have zero heat, which means that they can't get stuck in a local maximum as they will cool off that maximum.

Tuesday, December 29, 2015

RaspberryJamMod for Forge/Minecraft 1.8.8

I just updated RaspberryJamMod, which allows one to run python code in Minecraft (using a variant of the Raspberry PI Minecraft API), to work with Minecraft 1.8.8 (with the latest beta of Forge). Merry Christmas!

Here's a rebel fighter from Space Janitors (using a mesh in their Janitor's Closet) generated with the render.py script.


Saturday, November 28, 2015

Education about sports

A lot of worthwhile texts, both fiction and nonfiction, make direct reference to particular sports or use sports analogies or metaphors. These are difficult to understand for readers who do not know the rudiments of these sports. But there is not enough education on these sports in school, except in the context of actual participation in them. But I suspect that only a minority of children in English-speaking countries participates in all of the culturally important sports that figure in English-language texts, sports such as American football, baseball, cricket, golf, hockey and soccer, understanding of which is needed for basic cultural literacy among readers of English (I have to confess to lacking that understanding in the case of most of these sports--my own school education was deficient in this respect). Thus, either there should either be broader participation--but that is unsafe in the case of American football and likely impractical in the case of golf--or there should be teaching about the rules of sports outside of contexts of participation, say in English or history class.

This post is inspired by my daughter's noting her difficulties in reading the cricket-related bits of a P. G. Wodehouse novel.

Thursday, September 24, 2015

Visual programming for Minecraft

One of my hobbies is computer science education for children. Over the past year or so, I've been developing Raspberry Jam Mod (requires Forge and Minecraft 1.8), a Minecraft mod that implements the Raspberry Pi Minecraft API and allows one to write Python code that connects with Minecraft (this isn't that original: there are two other projects that do that). I taught some Python to gifted middle- and high-schoolers in the summer using this setup.

Over the last couple of days, I decided it would be nice to make something like this available for younger kids, using Google's Blockly graphical programming environment in place of Python. It's nothing very sophisticated, but you can use 3D turtle graphics commands to draw stuff in Minecraft. If interested, install Forge for Minecraft 1.8, then Raspberry Jam Mod version 0.50 or higher, start a single-user Minecraft world, and point your browser to robotblocks.appspot.com to get the Blockly code editor in-browser. The in-browser Blockly editor should then talk to your Minecraft.

Source code for the Blockly stuff is here.

Monday, August 24, 2015

Student recreation

There is a fashion in certain quarters these days to criticize the lavishness of student recreational facilities, and their effect on the cost of higher education. I confess to being a beneficiary of that lavishness (here at Baylor, the recreation facilities open to students are open to faculty and families at the same cost--indeed, typically, at no cost), as I live a five minute walk from the gym.

I think the criticism forgets something important: American colleges (and colleges more generally, probably going back to the middle ages) have traditionally been known for students engaging in entertainment that is unwholesome both physically and morally. This harms the moral education of students, and (at least derivatively) the intellectual education. Given this background, providing wholesome fun to the students seems to me to be at least instrumentally important to the educational mission of a university.

Thursday, June 4, 2015

Python coding for Android Minecraft PE

I've been sensitized to the fact that there are many children who have no access to a PC but do have access to a smartphone. So in the interests of computer science education, I made a mod that allows for Python scripting of Minecraft Pocket Edition on Android. Instructions and links are here. The screenshots are from my Galaxy S3.






Wednesday, November 27, 2013

Hour of Code

I think computer programming should be taught from early grades, both in order to expand the mind and to be able to use the computing tools around us more effectively (it's no harder than cursive handwriting, and so much more useful!). And then I came across Hour of Code, which is an attempt to introduce kids to programming in an hour during Computer Science Education Week (Dec. 9-15). I hope to run an afterschool Hour of Code event at my kids' school for grades five and six.

I tested the "Write your first computer program" tutorial on my 11-year-old daughter, and she completed it in half an hour, so it seems right for children her age, though she wasn't deeply excited about it. (But it did frustrate my 8-year-old son.)

My daughter then went for the "Create a holiday card" activity with Scratch, and made an animated Christmas card. Scratch is an event-driven graphical programming environment for kids that reminds me a lot of Hypercard (which I still have a full version of on our Powerbook 190 laptop). Scratch has her hooked. I tried Scratch with her about two years ago, but the computer we were running it on was a bit too old and we didn't see the nice little intro they now have for Hour of Code, so it was frustrating. It helps, of course, that she's done some Mindstorms programming before.

Both of the activities were web-based. They're still in beta, but I highly recommend them for kids. There are lots of other activities there. And it's not too late to volunteer at your kids' school to run an Hour of Code activity for them.

Monday, May 20, 2013

Quick air-powered rockets

Here's a very quick slightly weekend-morning educational project to do with kids. To make it more educational, one can try to have kids figure out a method for measuring how high the rockets go. (Two methods off-the-top of my head: use a quadrant--or phone app that provides similar functionality--and trigonometry, or measure how far the shadow of the rocket goes from the launch zone, and compare the shadow length of something of known height.)

Friday, January 27, 2012

Copper pipe glockenspiel

My 6-year-old son and I built this copper pipe glockenspiel. Full build instructions with more photos are here.

Monday, November 7, 2011

The human battery: Fun experiments to do with kids

Here's a fun set of experiments to do with kids. You need two pennies, two nickels and a voltmeter that can show voltages of the order of 10-50 millivolts. I used this cheap one. Probes with alligator clips make the experiments easier (I bought some alligator clips in Walmart's automotive section and soldered them on probes from an old multimeter), but you can do it with straight probes, too (in that case, replace "attach the probes" should be replaced with "touch the probes").

Experiment 1: Attach the probes to a penny and a nickel, respectively. Set the voltmeter to a scale that will show things of the order 10-50 mV (I used a 2000 mV scale). Have a volunteer hold the penny in one hand and nickel in the other. Measure the voltage. Ideally, the probes should be touching the coins, not the hands. I was getting about 15-35 mV, depending on which kid was holding the coins. If you're not getting much, maybe moisten the volunteers' hands. Then vary the coin combinations.

Experiment 2: Attach the probes to a penny and a nickel, respectively. Get two volunteers, and have each hold one of the coins. Make sure the volunteers aren't touching. Measure the voltage. Should be zero or very low (if the floor is conducting a bit). Now have them hold hands. There should be a very gratifying jump in voltage from this hand-holding switch! Note the voltage (it may take a while for it to stabilize).

Experiment 3: Set it up like for Experiment 2, but instead of having the volunteers hold hands, have the volunteer who is holding the penny hold out the other hand, palm up and outstretched. Put a nickel and a penny on that palm, with the nickel above, in such a way that the penny doesn't touch the skin (so don't put them in the middle of the palm, but maybe more on the heel; or maybe use a quarter instead of the nickel). Then instead of having the volunteers hold hands, have the second volunteer--the one holding the nickel--press a thumb from the free hand onto the penny that is on top of the nickel, being careful to make sure the penny doesn't make contact with the first volunteer's skin. Compare the voltage to that in Experiments 1 and 2. You've now got a two-cell human battery!

There are lots of fun variables to vary. Change the size of the volunteers. Wet or dry hands. See if drinking a lot makes a difference. See if temperature makes a difference (indoor vs. outdoor, say).

You can also do this, which I haven't tried, but it should work. What I did try, though, was this (though I used lime juice), which very gratifyingly powered an LED. When it went out, adding more lime juice turned it back on.

Thursday, August 25, 2011

Quick paper craft sundial

Here are instructions for a paper craft sundial I built last night.  The hard part was doing the trigonometry for getting the gnomon to be at the right angle after folding--I hadn't done much trigonometry for a while, especially in regard to laying out a three dimensional object (the gnomon is wider at bottom than at the top).  With the script complete, construction takes about fifteen minutes.

And there is an undocumented option in the script that generated this fun illustration of the puzzles about the cognitive content of indexicals [small PDF].

Wednesday, August 17, 2011

Analemmatic sundial

I wanted to make something for Instructables' clocks contest, and I settled on a sundial.  I then opted for an analemmatic sundial, where the gnomon is vertical and its location changes.  I haven't made the sundial yet, but I have written a perl script that generates plans for one, with all the dimensions.

This will make a nice educational project to do with kids.  Here are complete instructions.

You can then draw it in chalk on a driveway (and then maybe paint it permanently), and then stand on the correct date (along the vertical center line) with your body being the gnomon.  Or you can just print out the design on a piece of paper, point it correctly, and hold a pencil upright on the correct date (along the vertical center line) to get the time.  You can even use it as a solar compass if you know what time it is.  You hold the pencil upright on the correct date, rotate the sundial until it shows the correct time, and use the "N" arrow.

Friday, March 25, 2011

Hunting for micrometeorites

Inspired by stuff on the web (e.g., here), I went hunting for micrometeorites. I wrapped a magnet with plastic wrap, and ran it through the dirt under one of our house's downspouts. Apparently meteorites have high iron content so magnets capture them. There was some magnetic dust. I then transfered a couple of pieces of it to a microscope slide and had a look. I saw black chunks of stuff with transmitted light, unsurprisingly, but they became pretty and shiny when I shone a flashlight on them. The two largest ones had rough edges. Micrometeorites are supposed to be smoother due to their hot passage through the atmosphere. But moving the slide around, I cam on a smaller piece with smoother edges and interesting texture that matched what one would expect a meteorite to look like. There was some shiny bumpiness, some small pit-like spots and some interesting rod/wave like areas.

I tried to save the tiny piece for future observations. I tried to stick it to some sticky tape, but the goo made it very hard to observe under the microscope. So I ended up dissolving the goo with acetone to recover the piece. As a side-effect, the piece became cleaner and was brightly metallic under the microscope. Unfortunately, I eventually lost it. It was very small, about four or five times longer than wide, and the width was about that of a hair or maybe a touch more. I lost it when I tried to transfer it with the tip of a needle from a dirtier cover glass to a cleaner one, but somehow it just disappeared--I used a powerful loupe to try to find it, but couldn't. Oh well.

At least the kids got to see it. I don't know it was a meteorite, of course. Too bad I lost it before taking a picture.