There is a wave of momentum behind computer science (CS) education that is sweeping across the country. From Code.org's Hour of Code, to hacker-sessions, to digital making, computer science is clearly here to stay. As members of the CS community continue to develop creative strategies for convincing others that CS really is a fundamental skill that all students need to be familiar with, a number of intriguing discussions are surfacing that present unique challenges in the already bumpy landscape of American education. With an undergraduate degree in computer science, I am unquestionably biased to the importance of CS--I thought it was important enough 16 years ago that I chose to major in it. However, perhaps more importantly, as a father of 7 and 4 year old daughters, I am increasingly interested in the potential of CS in K-12 education and in efforts to curb the alarming data regarding the gender, racial, and SES gaps in computer science. When framed through the lens of a parent, the conversation gets really tricky really fast. I want to discuss some observations I have had as both a dad, and as a computer science educator.
There is a wealth of research that indicates the importance of CS training in the modern economy. Many popular arguments hinge on the marketability of people with CS degrees, projected job growth over the next 10 years, the substantial lack of qualified CS personnel currently in the United States, and other rationale, quantifiable reasons why CS should be viewed on par with the 3 R's. However, I think the fundamental reason is much simpler. Computing is ubiquitous in modern society and individuals who have a thorough understanding of CS concepts are able to be more productive members of society. I don't want my daughters to be computer scientists (necessarily), but I do want them to be able to do whatever they want to do. It is clear that as technology quietly (and sometimes not so quietly) continues to infiltrate how we do everything in life, their level of understanding of CS will likely have a significant impact on the number of options they can pursue as adults.
Unique Challenges for CS Education
There are a number of groups across the nation who are fervently working to convince everyone to embrace computer science. Nowhere is this more difficult than in K-12 education. My idea is that this is due to the infancy of the notion of K-12 CS and because of the dynamic nature of the industry. Aside from the integration of technology (using calculators and software to assist with calculations), math and science have remained relatively stable in K-12 education for the last 50 years. I'm not saying things haven't changed, pedagogy, ed psychology and philosophies, and instructional and assessment strategies have certainly evolved, but the content has remained relatively unchanged. We still factor, we still differentiate, integrate, prove, dissect, balance, etc. This isn't true for CS. The landscape of CS education experiences drastic shifts every few years.
The youth and dynamic nature of CS education have two major implications when attempting to convince the population at large of its value. First, the vast majority of current adults had limited or no experience with CS in their formative years. Secondly, for most adults, computer science is a mysterious topic with an unclear definition. The result, CS evangelists are forced to try and educate about what CS is while simultaneously trying to convince why CS matters. This presents a unique and formidable challenge but their is a measurable groundswell of stakeholders who have realized the value of CS and who are beginning to champion the importance of effective, rigorous CS K-12 education.
Anecdotally, the anti-CS education argument I hear most often is that while CS may be important, it is still not more important than reading or math and we know that we still are not great at teaching those core subjects. Opponents argue that if we are to install CS into the K-12 experience, something has to be reduced. As a father, I certainly don't want me 2nd grader's teacher stealing time from reading or math lessons to teach a unit on coding. My child needs to be proficient at reading and math more than she needs to able to make an app. Right?
Special Opportunity for CS Integration
While CS proponents make a strong case for CS based on a number of rationales (as noted above), I think many are missing one of the most intriguing benefits of CS in K-12 education. The benefit is a bit controversial, but before you write it off, stay with me and think back to your time as a student. My teaching career had a rather unusual start. Though I was trained in math and computer science, my first teaching position required me to teach Physical Science, Biology, Chemistry, and Physics every day. The daunting assignment offered an unexpected observation. Teaching Physical Science to freshmen and Physics to seniors, I came to a profound realization. In K-12, we are practically forced to lie to our students.
Research overwhelmingly supports the notion that authentic problems and contextually relevant applications of computational strategies are critical to effectively teaching students a deep understanding of computational problem solving. However, in most education settings, mathematical and scientific concepts have to be constrained to accommodate students' lack of required foundational knowledge. I realized that my physical science students had to received modified, essentially dumbed-down versions of physics formulas to make up for the fact that they didn't have a thorough enough grasp of algebra or calculus to be able to cognitively manage the actual formulas a physicist would use.
This happens across almost all STEM subjects. We tell kids they are solving real problems in order to generate buy-in, but by high school, students begin to realize that the necessary constraints around most of the problems they are given cause them so be relegated to trivialized problem solving. A lot has been done to overcome this hurdle, and many teachers are great at dealing with it, but it is a legitimate issue. This is where I believe CS offers its most valuable asset in K-12 education. As early as preschool, students can create real computer artifacts. From games, to digital animations, to apps, to software solutions, K-12 students can use computer science to engage in truly authentic, non constrained or trivialized, problem solving. The point? With the advancement of such easy-to-use programming environments as The Foos, Scratch, MIT App Inventor, and Code.org (to name a few), every child really should have an opportunity to learn computer science if for no other reason, it allows them to engage in genuine constructivism without trivial constraints -- and research clearly supports the idea that constructivist education engages students of all ages in the highest levels of learning.
What is Needed?
The answer here is too complex for a blog, but the basic needs to advance CS in the nation are as follows:
1. Political Support
Elected officials from national congressional offices to local school boards need to open their eyes and recognize that CS is in K-12 isn't an end, it's a means to an end. It truly does enhances teachers' ability to develop their students understanding of core subjects.
2. School Administrator Support
Teachers who embrace computational thinking through computer science will be using ridiculously innovative strategies on a daily basis. Their classes won't look "normal." Administrators have to remove scare tactics and empower teachers to iterate through design cycles as they formalize strategies to take advantage of this emerging field.
3. Teacher Professional Development
This is a bit self-serving because I have cofounded a teacher training company that specifically offers a K-8 CS training strand, but I did so because I passionately believe in the power of CS and I have watched countless teachers with no experience go through a strategically designed PD and leave with the ability to insert programming into their K-8 classroom as an enhancement tool. If nothing else, the shear excitement from the teachers alone presents a pretty solid case for CS.
Whether given by congressional mandate, governmental research grants, or private grants, CS education certainly requires funding, but we must be diligent to not be wasteful when funds do become available (see my previous post).
5. Support Communities
Teachers will need routine access to a community of support as they work to integrate CS in their classrooms. Remember, this has not been done before. Most teachers have no formal training in CS or in CS education and they will need support beyond initial PD. I love what the CS10K Community of Practice offers in this realm.
In closing, as a dad, I want my kids to get an education that allows them to choose the career path that they want when the time comes. This means their K-12 experience certainly needs to develop their fundamental skills but it also means they need to develop the ability to thrive as robust problem solvers -- to do that, in my opinion, it is clear that CS should play a pivotal role.
As always, I welcome your feedback--particularly disagreements, I learn best when challenged.
GE Foundation Leadership Summit
Leveraging Innovative Technologies for Learning
Texas Open Innovation Conference
Mar 27 - 29
Emerging Innovations in Education
Authentic Learning through PBL
FFT Leading & Learning
Connecting Global Education with the Tennessee Valley
reMake Education Summit
Sonoma County, CA
Keynote, Making Making Work in Education
National Governor's Association
Teaching Governor's to Code
US Dept of Education
Round Table with Secretary John King.
K-12 Pathways for CS
Ed Foo--Making in Education (breakout session)
K-12 Education Panels
Strategies for Reducing the Racial Gap in Computing
Boston Museum of Science
Teaching with Toys--Using Robotics as a Gateway for Computer Science
US Dept of Education
MSP Computer Science Proposition
§ The Great Miscalculation
§ Five Facts About Failing
§ Oh! That's STEM?
§ My Mom Isn't
an Engineer and That's