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.

Teaching College Computer Science

Starting last summer I began exploring ways to get back into teaching. Other than corporate training it has been over 15 years since I last taught a formal class (a low-level computer science class at Wright State University) and I miss it. At a TechStart fundraiser I had a conversation with Dick Knight, current interim Dean of Engineering at Portland State and fellow TechStart board member, about becoming an adjunct instructor and he made all the right introductions into their CS and OMSE programs. Given the choice I would teach something very professionally oriented - software engineering and process, senior capstone projects, etc. However, I suspect I'm not alone in the adjunct space where choice wasn't really an option - you take what you can get, and what you get is probably what the full-time faculty is either not interested in or not available to teach. For me this means teaching a discrete structures class for engineers (non-CS majors), which I gladly agreed to for many reasons. It is a stretch for me to reconnect and reinforce some concepts I hadn't fully explored in 20 years, and it is extremely relevant to some curriculum work I'm doing for Oregon and TechStart.

Anyway, feel free to entertain yourself with some of my lecture notes or homework problems. Fortunately Dr. Jim Hein left a great wealth of material for me to use for this class.

Steam Over Holland

Steam Over Holland board

I'm three plays into the wonderful introductory 18xx game Steam Over Holland and I'm confident in saying that while it stands up perfectly for beginner players when played with three, it probably needs some adjustments when played with five. All of you 18xx sharks out there: don't jump to conclusions unless you've actually played a learning game of SoH with 5 players!

20090329-GameStorm Day 4-5

When new players come to 18xx I think they want to experience all aspects of the game (managing their stock portfolio as well as operating a company) so it is only natural to see all 5 players in a 5 player game start a company. There's enough cash in the game to do so, and it is relatively easy to keep the companies capitalized early on. While companies start with little capital, they can sell a single share to the common pool each operating round without dropping their stock price (as long as there is less than 50% of the shares outstanding in the pool).

The problem comes during the mid-game train rush - even a decent player can get caught off guard as the 3 and 4 trains get gobbled up. On a forced train purchase, it can be difficult to come up with the necessary cash because it is likely impossible to sell any shares to the common pool. In my first game one player nearly went bankrupt (and was essentially out of the game), and in my second game two players nearly did.

I'm sure there's a happy path in there somewhere when playing with five, but it just shouldn't be that hard. Players should feel some tension in how they compete with the other players, but they shouldn't feel threatened to get kicked out of the game. And a beginning player shouldn't be forced to play their first game just investing in other companies - operating a company and laying track is part of the experience.

Doug and George playing Steam Over Holland

I'm happy to report that the 3 player game last week ended in a much happier place. While I won the game fairly handily, George and Doug were in it until the end and where not in serious jeopardy of seeing a company fold. I think this is because players can confidently start a company each and push more cash into those companies. The train rush through the 3s and 4s is also easier to navigate.

My guess is that the problem could be fixed with a bit more cash for each player in the 5 player game. Or perhaps a few extra "3" or "4" trains. I'm not sure if I'll get the chance to try as I probably wouldn't even play the game with 5 players again, instead opting for 18AL or some other similar "trusted" first 18xx game for that number of players.