Handcrafting High School: Year 1, The First Four Months: Computer Science

Homeschooling Coding: A Student’s Passion

        I have been very thoughtful handcrafting this academic area. I will go through the process of how I did it, so you can see what I mean when I say I am handcrafting Sean’s education. I do not know much about coding, so when it comes to homeschooling coding, I have had to rely on others for how it is best learned and advice on the best course of study. Because of this, I think it will make it more meaningful for you to see how I went about handcrafting this area versus a subject area like science.

Why this has a central place in Sean’s core education: I think computer science, coding, should be mandatory and not treated as an elective. I pay a lot of attention to current events, academics, and how both should be merged for Sean’s education because of where the world is headed. Based on my observations, learning to code should not be treated as optional! At this time, no other academic discipline leads to as many different options for meaningful career opportunities. Traditional schools as a whole are behind the ball on doing a good job of teaching this too. You almost have to homeschool if you want your child to have a good education in computer science.

Three years ago, I bought a canned curriculum designed to teach kids to code. Sean hated it. I made him stick with it for 6 weeks. He never stopped hating it, so I let him quit. But I never stopped believing that learning to code was so important he would have to study it again at some point.

Homeschooling Coding: This is the high score from a game Sean designed. He decided playing games was more fun the designing them.
Homeschooling Coding: This is the high score from a game Sean designed. He decided playing games was more fun the designing them.

Two years ago Sean told me he wanted to learn to design computer games. Yeah! His interest was piqued‼ This was where it all started. I found a camp he could go to for two weeks during the upcoming summer focused on designing computer games. I also got lucky at about the same time. I was on the lookout, you see. I read an article in my alumni newsletter about a group at UCSD that was starting a Sunday program where kids could go and learn coding. The name of the group is ThoughtSTEM. Sean began attending the Sunday ThoughtSTEM sessions. He also went to the summer camp and learned, as he told me, “It is more fun to play video games than to make them.”

ThoughtSTEM  http://www.thoughtstem.com/home

      All along I immersed him in everything ThoughtSTEM had to offer. I made a point of talking to the people running it, emailing them when I had thoughts or questions, and getting the most I could out of their program for Sean. They became Sean’s and my mentors for how to learn coding. The take home message here is that I thought it was important for him to learn coding, so I worked hard at making it happen.

Homeschooling Coding: Sean at ThoughtSTEM with his pug Jez.
Homeschooling Coding: Sean at ThoughtSTEM with his pug Jez.

Sean took a high school level class through ThoughtSTEM last year in App Development. He also went through an internship program with them, where they trained him to teach young kids to code. He interned 1 week at a camp in the spring and 1 week at a camp in the summer for them. He participated in a coding faire they put on at UCSD. This year his training turned into a job. Sean works about 9 hours a month teaching coding to kids.

Throughout the 2013/2014 school year, Sean worked on designing websites with ThoughtSTEM. He also learned Photoshop and 3-D design with Maya and 3-D Studio Max. These last were not with ThoughtSTEM; they were through other programs. I learned that Sean likes to code and work with computers to create art.

The focus of this year: This summer I asked our mentors at ThoughtSTEM what they thought Sean should study for the 2014/2015 school year. They suggested Sean learn the foundational fundamentals of coding. Things like algorithms. (This is very ironic if you follow my science posts.)

I talked to Sean about how he wanted to proceed with this and he wanted to learn how to code C/C++. I did some research and decided the best way to make this happen was to put him in a series of coding classes at UCSD Extension. I decided on an extension, not a community college, because the extension classes are 3 hour classes once a week over 9 weeks. That fits much better with our schedule than 2 or 3 times a week over 16 weeks as is the schedule for most community college classes. I signed him into the first of a 5-course series to learn to code C/C++. The first course was called, An Introduction to Computer Programming with Java.

A hoop to jump through first: When I contacted UCSD Extension they told me he could only enroll if a counselor or other administrator from our school district okayed it. They would not take my word that he was ready, even though the only prerequisite was access to a computer with an internet connection. I explained that I was the sole director, administrator, and educator at our home school, and the only person from his “school” who could substantiate that he was ready for this class was me, his mother. They actually told me I was incorrect, and that by law I must be working with someone from the school district where we live. I knew they were incorrect, but I wasn’t sure how to respond. I gave it some thought, because homeschooling coding was going to happen this year! Luckily, I contacted a state homeschool group I am a member of, The Homeschool Association of California (HSC) http://www.hsc.org/home-page.html for advice. They forwarded the issue to their legal department, and within 12 hours an attorney sent a letter to me to forward to UCSD Extension. In addition to them being incorrect about how homeschooling works in California, they were discriminating against Sean because he was homeschooled.

My message to you is, have a state homeschool group you can go to. If you had told me that I was ever going to need legal help at any point while homeschooling Sean, I would have thought you were nuts! But guess what, I did. Thank goodness I had someone I could go to. There are two great homeschooling groups in California, HSC and California Homeschool Network (CHN) http://www.californiahomeschool.net/. I am a member of both. It was also good that I did not give up. I did not get mad at UCSD, but I did stick with it. I wanted to put Sean in that class and I worked at it until he was in. http://extension.ucsd.edu/

Some surprises were in store: Sean was in! Now for the real work. This was a college class. It didn’t occur to me, but Sean did not know that you should take notes, ask questions in class, or use the book and highlight the text or make notes in the book. I had to work with Sean so he learned these skills while he was taking the class. Also, he was intimidated by the fact that he was the only person under the age of 22. Sean thought all the people were between the ages of 22 and mid 40’s. I do not know. I never went into his class with him. He would only ask the instructor questions via e-mail, which bugged me, but did not seem to bother his instructor.

Homeschooling Coding: An image for the game Sean has been writing the code for.
Homeschooling Coding: An image for the game Sean has been writing the code for.

As I told you earlier, one of Sean’s passions is coding to make art. He loves to design web sites. He does not love to code to make programs that are not visual. For him, Google Doodles are captivating; writing a program to calculate the tip and change for a restaurant bill is not. This class was work for him because it focused on the areas that he is not passionate about. At one point, he told me he was done with coding after this class. My response, “Darn, just when it stopped being optional.” That to me is the heart of child-led learning. My child’s passion and my own belief that homeschooling coding was important led us here, but when he stopped being passionate about it, I did not let him walk away. Like I told him, “If I thought when you were 30 you were going to say it was a mistake to stick with coding at the age of 14, I would let you quit. But you won’t say that. I am sure of it.”

Sean is a little more keen on this class now. He graduated the class with 104% in it. He worked hard and got an A+. The teacher sent him an email congratulating him, telling him, “He had succeeded where others had failed!” Do not get the wrong impression that Sean is particularly gifted at this. I just made sure he had the time to work on the programs and get them debugged and turned in before the due date. No procrastination was allowed. When he got stuck he emailed the teacher and got the help he needed.

In case you are wondering, I am not using this class so that Sean can attend college early. Sean will attend college in 3 ½ years. I just couldn’t find any good classes to teach the foundational fundamentals of coding outside of a college setting. I had to find a class for this because I did not want to learn computer programming. 🙂

The plan going forward: Sean has 4 more classes to take focused on programming with C/C++. At the end of that, he will earn a certificate in Programming with C/C++. http://extension.ucsd.edu/programs/index.cfm?vAction=certDetail&vCertificateID=23&vStudyAreaID=14 He will be finished by this time in 2015. In 2016, he plans on starting a series of classes to earn a certificate in Graphics and Digital Design. (He will get back to his passion after picking up some foundational fundamentals!) He will complete the C/C++ Series. I am treating those classes as a mandatory part of his core classes. It is through this series that he will learn the foundational fundamentals for computer programming. It is just one language, but that seems to be how it works with computer science. The Graphic and Design classes are planned but can be changed if Sean finds another area of computer related courses he would rather take. This sounds good to Sean now, but we will have to see where he is at a year from now.

When I read over this post, it seems messy, wandering, and a bit chaotic. I was going to shorten it and clean it up for readability, but decided to leave it so you would get a feel for the messy, wandering, chaotic process I use for handcrafting Sean’s education. This process is the journey, and it is a very personal one. We tried some things that worked better for him than others. Some of the things we tried took fortitude and hard work before he liked them. Some things he loved so much he had trouble tearing himself away from them. Some things he never liked. There is simply no way of knowing before embarking on the journey what it will look like while you are taking it. So far the journey has led to a place where Sean has completed a college level computer coding class in which he learned a lot of the foundational fundamentals of coding, and he has a part time job working in a field he loves. Who knows where it will lead from here, he is still on the journey. This is the academic area he is the most passionate about, but only specific parts of it. He is 15. Who knows where it will lead. And that’s okay, as long he enjoys the journey!

Read our handcrafting high school article for math here.