Computational Thinking in the High School

I spent most of Saturday attending a very inspirational working session at Washington State University - Vancouver. The working group is the Northwest Distributed Computer Science Department (NW-DSCD) that is actively building out curriculum modules and strategies in support of the NSF CPATH (acro?) program. My involvement is aimed at collaborating with this group in their K-12 outreach efforts. The core goal of this working group is to introduce curriculum modules that support computational thinking for multi-disciplinary studies.

This is aligned with my recent thinking about how to bring computer science (back?) into the high school classroom - a vocational approach (i.e., one targeted exclusively at those students that have already decided that studying computer science or related information technology) is destined to be a niche and outlier strategy. There is a place for AP-style computer classes that go deep into programming and that focus on programming for programming sake, but I'm convinced there's an opportunity to weave elements of computer science, computational theory, algorithms, etc. with other core courses. Obvious examples include discrete mathematics (e.g., graph theory, recursive algorithms), probability and statistics, and physics. Less obvious examples are digital media (art, music production) and English (linguistics).

This summer TechStart is expanding its summer teacher professional development program (SuperQuest) by partnering with a national initiative called CS4HS (Computer Science For High School Teachers). We are bringing a variety of academic and industry professionals together to introduce opportunities for computer science integration for non-CS teachers and motivate current CS teachers. There will be workshops on CS Unplugged, Programming with Alice, Integrating Science and Technology with Vernier Instruments. There will be academic research presentations to excite teachers about the potential "gee whiz" side of CS, and there will be a panel focused on gender equity issues in CS.

I'm also aggressively seeking funding to support curriculum development for a high school discrete mathematics class that incorporates some basic programming and computing. The idea is to design a math class (that meets the soon-to-be-finalized Oregon state discrete math standards) with plug-in modules that includes some CS Unplugged (perhaps a cryptography or minimal spanning tree model) and some introductory programming to explore or reinforce curriculum elements. Jacob and I are currently reviewing what looks to be a very solid discrete math / Python book called Mathematics for the Digital Age and Programming in Python that could be a robust foundation for this course.