A student participates in the Touch Develop part of the Microsoft application developer day hosted on the main Microsoft campus and open to Puget Sound TEALS participants
I took Computer Science in High School back before computers became a trendy field, but during an age where kids were addicted to computer games, whether it was Nintendo or at the Arcade. Very few people actually had home computers. I certainly didn’t. I learned Turbo Pascal and completed the course with an understanding of pointers and Linked Lists. It did not count towards a high school graduation or college entrance requirement. When I went off to University, I was ahead of everyone in my Introduction to Computer Science class. I enrolled in this course, simply because it was offered and I seemed to think I knew a few things about Computers by that point. Let’s face it, first year in University and getting an easy ‘A’ seemed like the right way to start off. It wasn’t long before I was approached to become a TA for the course, which I did for 2 years. I enjoyed working on computers and learning different coding languages. I learned to program in Assembly and ‘C’ early on and continued to focus my studies on Algorithms, Data Structures and Database systems. It wasn’t until my final year that I studied C++ and learned about object oriented programming. With my computer skills setting me up ahead of many of my classmates and my new connections in the computer science department, it became a no-brainer to continue to explore the field and eventually major in it. I can’t say that I knew what I was doing when I made this decision, initially or that I knew where it would take me all these years later, but I’m really glad fate or luck was on my side with this choice.
Jeremy Moore, World of Opportunities
I didn’t have a lot of guidance overseeing my career or studies. I’m not sure what career path my dad would have liked to have seen me on, but in High School he made sure I took a typing class. I resented the notion that I might ever only achieve being an administrator or receptionist with this skill and typed poetry instead of doing the typing exercises. I was really bored in that class. In hindsight, I have to thank him for his intuition because my typing skills are superb these days and since I practically live tethered to a computer (when I’m not tethered to a cord on a rock face somewhere), I couldn’t imagine not knowing how to type. J A lot seems to have changed and a lot seems to have remained the same from back in those days. One noticeable thing is that Computer Science curriculum in high schools seem to come and go in waves. My alum in Ohio lost that program not long after I graduated. I lost track of what was happening with CS in schools, let alone in University, after I stopped being recruited to recruit would be new hires with CS degrees. Then, I stumbled on this program called TEALS (Technology Education and Literacy in Schools). They were promoting the resurgence of computer science in high schools with an ambitious goal to get a curriculum going in every High School in America. I lobbied for a pilot, remote teaching effort in rural Ky that brought Intro and AP CS to Lee County High School and started spilling out into other counties until Kentucky State Board of Education is now trying to figure out how to make it a curriculum in every high school in the State. And, they are not alone. Chicago’s got some impressive agenda underway, Washington State has it’s own undertaking. It’s another resurgence, but one that is likely and I am hopeful will stick around longer. Why is this important? Why should you care?
A Senior demos one of her CS projects for the Senator. Photo by Luke Allen Humphrey
First, our U.S bureau of Labor Statistics touts that we are growing a deficit of engineers in this country (15% faster than average). Computer Science alone will see around 1.5 million CS-related jobs available by 2018 with only 29% of graduating students in the field of Computer Science to fill those positions. (TEALS) Computers are a huge part of our infrastructure today and will continue to play important and pivotal roles in the future. From farm modeling, cinema, mobile applications, vehicles to a wide variety of consumer products (have you seen the clothes that sensor how you train?). Computers are not going anywhere and like I suggest to students at career talks, which side of technology would you like to be on? The one that influences what’s important to you or the one that allows others to make those choices on your behalf, whether you like them or not. Learning how to manipulate a computer is a powerful thing. I guarantee that if we (the United States) don’t step up to meet this challenge, other countries will be taking our jobs. Next, just because you take a computer class does not mean you have to be a computer scientist. There are many careers that leverage that skill in different ways from graphics design, scripting for custom manipulation or reporting of data, technical writing, and much, much more…What do you want to do with your life? I guarantee computers can play a part. They design the equipment you might use, analyze motion, run comparative analysis, predict weather, etc. The future is in our youth’s hands, if we enable them to take advantage of this great tool. We’ve got the ball rolling, now what?
Simple Mario illustration of compute concepts
Even if we get this curriculum into high schools, there is the ever demanding list of requirements students must meet to graduate or be considered for acceptance into a college or University. As a student in this day and age, I see that they are completely overwhelmed with school demands that taking electives that don’t count towards these requirements is a luxury they can’t afford. They have no time for this, which means students who would take a CS class might reconsider because it doesn’t help them graduate or get into college. With demands on their time, they will tend to prioritize only those classes that help them in this regard. If students don’t prioritize the course, then the offering doesn’t see enrollments, which means the school can hardly justify funding it no matter how compelling. Therefore, we need to change the way CS matters, but how??
Let’s consider a few options:
- If we make CS a requirement we are forcing all students to take it, like a basic math or English requirement. I don’t think that’s really fair, even though I am biased that all students would benefit from the class. Therefore, the likelihood that CS will ever become a standalone graduation or college entrance requirement is really slim.
- What about making CS count towards a math, science or other subject? This would encourage enrollments and satisfy a graduation requirement, but at the sacrifice of what? Student schedules are already tight, but this seems to be the best approach. Now, is CS closer to a math, science or foreign language (Washington House bill 1445)? It’s really none of the above. It does teach a universal language that computers speak, which is super handy in today’s technology world. It does leverage mathematical concepts to teach the constructs of building programs and since computers only do what you tell it to do, there’s a lot of analytical thinking, problem solving and logic that gets developed by going through these exercises. I can’t make an argument for science since I want to steer clear of going down this other ‘pathway…’
- Make CS a pathway or vocational trade so the school and the student benefit. This seems nice on the surface, school gets credit for training students in a field making them ready for a job straight out of high school, but that isn’t the same as preparing them to go to college to further pursue and develop these skills making them hirable by prestigious companies like Microsoft, Google, Amazon, Facebook, etc. These companies are looking for a minimum BA/BS with a preference for computer science degrees. Also, this offering alienates the common, curious student who would benefit from taking a class but is not interested in pursuing it further after high school.
Robotics demonstration at University of Washington
We’ve been focusing on the high school aspect, but what about the Universities? How can they contribute to help CS matter in high school?
- If CS gets categorized into a field that is one of the essential requirements for getting into college, then we are there! But what are our options? Not coincidentally, high schools structure their graduation requirements around college entrance requirements. Therefore we need both educational institutions onboard with a plan in order to facilitate a change.
The initial conversation sparked by the Washington House Committee meeting February 4 asked post-secondary institutions if they would engage in conversation to see what possibilities could exist to get CS to count towards an entry requirement. The pure motion to consider Computer Science as a foreign language caused quite the defense. Let me elaborate a little more on why this proposal seems to be the most fitting to pursue. We have already seen that CS doesn’t really fit in today’s curriculum buckets like math, science, physical education, foreign language, etc. but people have put some thought into why, with no change to existing graduation or college entrance requirements, considering CS as a foreign language makes sense. Here’s what I think is going on
- To find a new graduation requirement scheme and college enrollment requirement equivalent will take much longer than bucketing the class into an existing requirement.
- There is a sense of urgency here. These programs have momentum now, but if enrollments start to drop and the money and corporate support starts to dry up, schools will no longer be able to justify offering the class. We have seen this repeated over time since I was in High School.
- Why foreign language? There is a statistic that 25% of students who study a foreign language in high school actually retain and use that language well into adulthood. There is an argument to be made for considering foreign language development when kids are most susceptible, which would be in grade school, not high school. Who knows if that shift will ever occur (to make foreign language a requirement for high school, say), but in the meantime, the kids who are most curious about computers will opt for it as their ‘language’ requirement. Learning Computer Science is more demanding than learning a foreign language skill, and I say that not to undermine the foreign language (after all, I speak 4 different languages to varying degrees and the language I speak fluently next to English was not the language I learned in high school), but to underscore that students will not flock to this class simply because it’s offered. There will remain many more students who choose Spanish, French, German, etc to CS.
People who feel threatened by this proposal need to think carefully about what is at stake. I would love for there to be more time in the day for students to take advantage of many, many different subjects, but it’s not possible. Computers is an area of study that warrants this discussion simply because, fundamentally, it permeates our lives. Our world doesn’t function without them. Therefore, if we want to continue to innovate with technology and lead the way for future generations, we need our institutions to collaborate and support this course of study as a credit option. This in turn will provide influence that will spark more enrollments for Computer Science in our schools today. If you don’t agree, get involved. Let’s get the conversation started. How would you solve this problem?
Disclaimer: WordPress may include ads, which I do not endorse, to various blogs following posts.