More stuff for learning to program

A few days ago I wrote about Scratch, a nifty way to help my kids learn how to program.

I forgot a couple other things I found.

Stencyl. This looks neat. It I haven’t used it, but from what I read it looks like it follows the same sort of drag and drop “block” programming structure and logic that Scratch does. But it can be used to actually make iOS and Android products that you can actually ship and sell. So maybe after Scratch, this would be something to try. It would take the knowledge they had before, but now they have to actually make something polished and ship. A good “bridge” between the two worlds, so to speak.

There’s also GameSalad, which is made right here in Austin.

I still would want them to learn “real” languages (e.g. Objective-C, C++, Python, Ruby, Java, JavaScript, and maybe even new funky languages like Scala). Who knows. I think tho it needs to start with a desire to do it, and to really gain a love for it. If things like Scratch or Stencyl take off for them, then we’ll go there.

Who knows. 🙂


Learning to program

Youngest walks up to me about a month ago and asks how you program (write software for computers).

Oh joy! 🙂

Now I’ve talked about learning to program before and even a second time. I always come back to Karel the Robot as a great way to learn how to program. Why? Because you get to learn the constructs of programming without being burden by the constructs of programming. You can learn about loops and conditionals and variables and logic and flow, but you don’t have to spend 3 hours debugging a problem to find out it was because you misplaced a comma. And it doesn’t matter if you really do anything useful or not at this stage, in terms of gaining some employable skill (no job listings for Karel knowledge); once you learn how to program, then languages are just languages and toolsets are just toolsets.

Back when I looked at the LEGO Heavy Weapons book, No Starch Press offered other books to me to review. I asked about the Python for Kids book because it looked like it might be a great way to start the kids into programming. They sent me a copy, but I have yet to go through it. Mostly inertia on my part. Daughter asked me about it, but just a passing interest. And I must admit, while I think the book is well done for what it is, I still think it’s not a perfect start because there’s issues of language that get in the way. You have to get bogged down by syntax of Python. It’s not horrible of course, but I know things can be simpler. I think this book would make a good “phase 2”.

When Youngest asked me again, I went looking around. I found Scratch from MIT.

I think I’ve found what I’ve been looking for.

Youngest and I played around with this for a bit, doing the tutorial. I saw how Scratch gave you all the language, all the logic, even some advanced things like variables, lists, and inter-object messaging. It’s actually pretty cool. I liked the way you just drag and drop to make logic go. It also is able to give you direct feedback, which I think is good for capturing a child’s interest in the topic. I encouraged Youngest to “just try it”. What would happen if? Just try it and see! The environment is very forgiving, but even still, you can make mistakes and have to learn to debug.

I also really dig that all Scratch projects are “open source”. You can look at what others have done, and then you can look at the “source code” to see how they did it. I was able to find a simple game on the site, then show everyone how they made it happen and how neat that was.

So I’m working on this with Youngest. I told him a simple project he could start with would be reinventing comics. We all love Pearls Before Swine and I told him he could start by taking a simple Pearls comic (maybe just Pig and Rat talking to each other) and recreating it in Scratch. It’s a simple project, simple goals, but challenging enough to get your feet wet with.

And we joke… with Youngest programming… Daughter creating artwork and music… Oldest creating artwork, music, and overall design work… they all like to make movies, do voice work. Oh geez… I’ve got an in-house dev shop now!

Man, I wonder how far this ball will roll. 🙂

See the positive, understand the gain

I do not live my life in a typical way. Of course, what is “typical”, but here it tends to mean that those around me whose lives intersect with mine in some meaningful way… my life doesn’t follow their same patterns.

I get a lot of grief and backlash because of it.

Overall I don’t mind because I am generally fine with the choices I make for myself and my family. But I cannot deny that it gets old constantly dealing with it.

People cannot accept me as I am (and disagree), they must agree with me (meaning what I do must intersect with their choices, outlook, morals, ethics, etc.)… else somehow I’m the one that’s fucked up.

I do understand this mentality and approach, it’s very human. It’s how we tend to deal with that which is “different”.

I guess what gets really old is where people focus their attention: they focus on what they see as wrong, instead of what they could see is right.

For example, our choice to homeschool our kids. People focus on the “S” word… socialization. Won’t your kids miss out? Won’t they have friends? What about as they get older, prom? Oh, I feel so bad for all the things your kids won’t get to do.

And that’s what so many people focus on, and the only thing they see: what they won’t do. Or rather, what they perceive they won’t do.

They don’t see the wonderful education. They don’t see the options in teachers and curriculum. They don’t see our kids are actually learning, not just learning how to take a test. They are developing, not just trying to pad their achievement list to compete for college entry. They don’t see the lessons they learn in how to interact with people of all ages. They don’t see the leadership taken on by the older children as they help the younger children. They don’t see how instead of spending all day locked in a classroom, eyes front, stop being creative, conform, do as you are told… that they can have freedom, they can efficiently complete their work then spend the remainder of their day exploring other avenues (how else did Daughter get to be such a great artist?). The list can go on.

So many people are concerned about what we miss out on, they don’t realize themselves what they are missing out on in their perceptions. It doesn’t matter who you are and what you do in life, you cannot have it all. You will not experience everything, and there’s going to be far more things you will miss out on than you will experience. Instead of focusing on what you miss out on, why not focus on what you are gaining?

We don’t make the choices in our life because we want to miss out on things. No, we make choices because we see an overall gain. Oh sure, there may be some downsides to the choice, but we only choose to do things if in the end it’s a net gain. Why is this constantly overlooked? Why are we looked at for what we’re losing, instead of what we’re gaining?

We should not overlook loss, negatives, downsides, etc.; these are important aspects of the evaluation process. What needs to be remembered is they are not the only things to look at; you must look at the gains and upsides too. You must remember that if someone makes a choice, they likely did it because they see the most benefit from that choice over all other possible choices. Seek to understand and see their (potential) gains, instead of merely dwelling on your own cognitive dissonance.

Random homeschooling stuff

I recently joined a mailing list about livestock guardian dogs, and many people on the list of course own farms and ranches. Came across this website for the Red Falcon Ranch and lo, they are homeschoolers. What was interesting to me was seeing their particular approach, because certainly we overlap, but they have some different takes on a few things which I think could be useful for us.

Elsewhere I found this fun little blog called Weird, Unsocialized Homeschoolers. Because yes, that’s how a lot of the world looks at us. Fine with me, I’m used to going against the grain and having people stare at me; if all you want to look at is the surface, just shows how shallow you are. *shrug*

What brought me to the WUH webpage was this: The Public School Parent’s Guide to Homeschool Parents. It hit home because yes, so much of the critique and criticism of homeschooling surrounds the children, so it was nice to see something about the parents. She’s pretty spot on and I think even-handed in her treatment of the matter, giving fair insight into the mind and life of a homeschooling parent.

HB 253 – oppose

I hadn’t heard about Texas HB 253 until yesterday. An email forwarded to me from another homeschooling family contained a message from the Texas Home School Coalition about HB253.

Here’s a blog posting from Tim Lambert, head of THSC, about HB253.

I’m not a member of THSC but I am a member of HSLDA. Why haven’t they commented on this? Given HB 253 is having a public hearing today, I phoned HSLDA. Due to the volume of calls they had been receiving, they re-reviewed it and consequently coming out opposed to HB 253. eAlert and website posting with details are forthcoming.

Anyways, homeschoolers… time to get to contacting folks and get this bill opposed. When you read the text of the bill, it sounds “reasonable” on the surface, but the potential impacts of it are scary for parental rights and autonomy.

On zero-tolerance policies

Nat Hentoff writes a good piece about public government schools and their “zero-tolerance” policies.

Policies. All about freeing the administration from thinking. It’s really just lawsuit protection and CYA. It’s bad policy. One that goes overboard. Hentoff tells of Andrew Mikel who, because of a spitwad, is being charged with violent criminal conduct and is no longer qualified to apply to the US Naval Academy. Or of  6-year-old Zachary Christie who was so excited to join the Cub Scouts, that he wanted to use his camp utensils to eat his lunch that he brought them to school… but we cannot tolerate such behavior so he must spend 40 days in reform school.

What? Excuse me while I pick my jaw up off the floor.

What sort of lesson are you teaching children? Sit down, shut up, conform conform conform. Follow the rules, even the bad ones, even the wrong ones, because we’ll make your life even worse if you don’t. Better to hide behind a policy than think. We’ll ruin you for life for any simple mistake you make. Childhood is no longer a time to make mistakes, to learn, to tolerate and grow. No. You mess up, you’re done. This is what ‘is our children learning’. *sigh*

It’s another reason why I enjoy homeschooling our kids. My kids get in trouble when they do NOT have a pocketknife on them. Learning how to safely handle firearms is part of essential curriculum! But whatever infraction my children make, there’s no blind policy that leaves no room for understanding, no room for them to learn. Yes, we tolerate mistakes. As their parents and chief educators, we’re here to help our children learn and grow. We understand that childhood is full of more mistakes and failures than successes, because this is the early stages of learning and that’s just how it goes.

And people wonder why kids lose their childhood so quickly these days….

Texas homeschooling bills – updated

I received word back from HSLDA about the 3 homeschool-related bills introduced in the current Texas legislative session.

Read the updates.

My take? You can debate the merit of the intentions behind the bills, but from a legal perspective they are bad bills.

Homeschooling-related bills for the 82nd Texas Legislative Session.

There are (at least for now) 2 homeschooling-related bills in the 82ns Texas legislative session.

SB 207 – relating to requiring certain students leaving public school to provide documentation necessary to ensure an accurate calculation of dropout rates.

HB 196 – relating to requiring certain students leaving public school to provide documentation necessary to ensure an accurate calculation of dropout rates.

Quick look and the text appears to be the same in both the House and Senate bills.

No, bad bill. Oppose. I LOVE the phrasing… that leaving the failed public school system for a better education via homeschooling is considered dropping out.

HB 132 – relating to the issuance of a driver’s license to a person who has not obtained a high school diploma or its equivalent.

HSLDA is opposing this, but I’m not 100% sure why. My guess is because it enumerates “home school” (in Texas, homeschooling is generally not enumerated, falling under jurisdiction of “private school” and it is best kept that way). I’m going to contact HSLDA for clarification.

Updated: I contacted HSDLA to ask for more details as to why they oppose.

Here’s their more detailed response to SB207 & HB196.

Here’s their more detailed response to HB132.

I agree with their reasoning. You can debate the merit of the intentions behind the bill, but from a purely legal perspective they are bad bills.

What to teach the kids?

A friend pointed me to this article by Eugene Wallingford titled “I Just Need A Programmer“.

The Slashdot entry sums it up best:

“As head of the CS Department at the University of Northern Iowa, Eugene Wallingford often receives e-mail and phone calls from eager entrepreneurs with The Next Great Idea. They want to change the world, and they want Prof. Wallingford to help them. They just need a programmer. ‘Many idea people,’ observes Wallingford, ‘tend to think most or all of the value [of a product] inheres to having the idea. Programmers are a commodity, pulled off the shelf to clean up the details. It’s just a small matter of programming, right?’ Wrong. ‘Writing the program is the ingredient the idea people are missing,’ he adds. ‘They are doing the right thing to seek it out. I wonder what it would be like if more people could implement their own ideas.'”

The interesting thing was, before reading this article my friend and I were talking about teaching kids how to program. He’s been studying this nifty 2D graphics library and given how well-written it was, maybe he’d be able to use it to teach his son how to program. Maybe, but the problem I saw there was there was still too much other stuff to deal with, like the language issues, because the first time you try to figure out pointers in C/C++/Objective-C well… it’s mind-bending. 🙂

The thing that hit me was the last sentence of the Slashdot summary:

I wonder what it would be like if more people could implement their own ideas.

And as I was thinking about teaching our kids I realized what we need to give them are the tools that enable them to realize their ideas.

One cool thing about programming computers is computers are such general purpose tools, that with a little work you can get them to do almost anything you want. Such is a great thing about learning to program. But kids tend to not see that, they just see they want to play a game. So if they want to write a game, give them those tools.

Daughter is very artsy, so we ensure she has a constant supply of art and craft materials. For example, yesterday morning, inspired by the movie “Tangled”, she took some paper plates and painted some really neat stuff on them. We have to keep brushes, paint, pencils, paper, and all sorts of art supplies around at all times for the kids. I’ve even bought software for them to help them be creative. In fact, I think our Christmas card this year is going to be one designed and assembled on the computer by Daughter.

Or if the idea your child has is to create music, ensure they have instruments or other tools to create their music… even software like GarageBand.

The point is, in whatever realm the kids are having their ideas, don’t let them just dream about their ideas coming true; give them the means to make their dreams come true. And that includes a lot of encouragement and support.