Feature on SMCHS Eagle Eye

The incredibly talented Ivanna Rea wrote up an article about me and what I do on our school’s blog, the Eagle Eye. Go give it a read and support great journalism!

Lessons learned from PIxEL, and how computer science education needs to change

This year I started a non-profit organization of after-school high school clubs called PIxEL (programmers + innovators * entrepreneurs + leaders) with the goal of engaging students in the disciplines of design, code, and business. What I also wanted to do was expose computer science to as many students as possible in a positive way. Of course, this is not an original idea. Even the President has acknowledged that the increasing demand for work in the computer science industry must be met with a movement to integrate that into primary education.

However, I don’t think we’re doing this correctly. I am currently taking an AP Computer Science course at my school, and the class size is less than half of any other elective. The introductory course, on the other hand, seems to be one of the most widely opted classes taken by freshmen. What is the reason for this disparity?

“…students need to see what they are doing to remain interested, especially from a technical standpoint…”

Firstly, I think courses like these focus too much on the principles of computer programming before the students even understand how this could ever be used. Side projects (“labs”) written by the College Board are insufficient; students need to see what they are doing to remain interested, especially from a technical standpoint. The choice of Java for this course is understandable; its syntax is relatively simple while exposing some of the key concepts of extensibility and polymorphism. But is it still relevant?

Many enterprise applications and Android native apps are written in Java, but we are quickly seeing Java being outmatched for simplicity and portability by other languages, namely its oft-mistaken-for web scripting language, JavaScript. Any curriculum based on Java is difficult to introduce graphical interfaces for, since frameworks like Swing are too extensive to teach within the AP subset. The more I think about this, though, the more absurd it seems – in the most prominent high school computer science course that exists, we ignore one of the most important pieces of the big picture in terms of applicability – the interface. Do we really expect students to be engrossed by Scanners, System.out.println()’s, and the plethora of command line classes they create? 

JavaScript, on the other hand, was made from the ground-up for the Internet. Its applications stretch from websites to server-side management, and it has been called the most important language to know. When you teach JavaScript, it is often considered a prerequisite to know HTML and CSS – languages that are display-first and show students exactly what they are doing and how they could use it. All of these web technologies enable students to experiment with it themselves. When teaching at PIxEL, it’s consistently inspiring to see students come up to me and show me what they’ve done with what they’ve learned – outside of the things we’ve made in the club. I think of it like this: I am not teaching tools or patterns or even algorithms for that matter. I am teaching skills and perspectives and applications – things that are exponentially more important for the long run.

“If that sounds too idealist to you, just remember how technology has always been built on idealism…”

This is not a plea for JavaScript or any language in particular to work its way into the syllabuses of computer science education. I am asking teachers and board members everywhere to ask ourselves: what are we really trying to accomplish? Of course, it could be that I have completely different goals than the College Board. I want to envision everyone at PIxEL as a critically-thinking and design-conscious engineer or entrepreneur. If that sounds too idealist to you, just remember how technology has always been built on idealism – from the printing press to the iPhone, the ingenuities and innovations that have touched all of our lives come from visionaries who see a future that could be better.

To this end, I believe that at this point in time there is a larger zeal for computer science education than has been at any other point in history. We need to make a positive impact on the students we teach this to. For that to happen, I think that a hands-on approach is the best way to accomplish this; no textbook or lecture can substitute for personal exploration and accomplishment. Remember the time when you first learned this beautiful thing we call programming – the sheer joy of making the computer do something. If we want to bring more people into the field like we advertise that we do, we have to pass this on in a way that shows people how programming inspires people to creation.

For the next generation, technology will be an integral part of most careers, and this demands skills that we must teach to today’s students.

That’s a pretty big responsibility. Let’s not screw it up.


For more information about PIxEL and what we do: email me – ethan at pixelclubs dot org.

Hello world!

I’m Ethan, but you probably already know that by now. My aspirations to write freely on a blog of my own have far outstretched my actual willingness to sit down and do so. So here I am, doing exactly that.

This blog actually stems from my many rants, whether on politics, technology, or ethics, which my family sees mainly as white noise around the house. I felt a need to release opinion through some medium, and thus I realized that blogging would be much more fulfilling and permanent than words falling on deaf ears, so to speak.

However, in a world bustling with opinions, my own is probably not that valuable at my age. I understand that, and yet, I write not because I expect readers. I write because I love to write (and I don’t pursue this love nearly as much as I should). If anyone is reading this, I appreciate your time and your eyes. This is just an experiment for me to restore a passion for writing that I’ve always had. So anticipate the incoherence that comes with my late-night writing and the irregular times between posts (I’m a busy student!). I hope one way or another, though, these posts help out somehow.