Resources Suggested By Speakers And Participants

Topical material

see the list on the front page of this wiki


  • Blown to Bits: Your Life, Liberty, and Happiness after the Digital Explosion by Hal Abelson, Ken Ledeen, and Harry Lewis. A common book of readings to have accompanying a CS Principles-type course.
  • Crossing the River with Dogs: Problem Solving for College Students by Ken Johnson, Ted Herr, and Judy Kysh. A collection of logic problems.
  • Developing Spatial Thinking Workbook by Sheryl Sorby.
  • the Free Java Book by Daniel L. Schuster.
  • Introduction to Computing and Programming in Python by Mark Guzdial and Barbara Ericson.
  • Invent with Python by Al Sweigart (primarily; it's an open-source book).
  • Mindset: The New Psychology of Success by Carol Dwek
  • Unlocking the Clubhouse: Women in Computing by Jane Margolis and Allan Fisher. An ethnographic case study of how Carnegie Mellon University improved their gender representation in their CS classes.
  • Robert Marzano has several books about effective teaching practices.
  • Computer Science Illuminated by Nell Dale and John Lewis. A layered exploration of the 7 principles in AP CS P, with ethical discussions for each.


Programming Languages and their Tools


Block-based programming languages represent a program visually as a set of interlocking blocks.

  • Alice is focussed on creating programmatic 3D animations and interactive games. Has built-in tutorials.
  • App Inventor is for making Android apps.
  • Google Blockly is a zero-install online tool, and can show the corresponding Python, Javascript, and Dart code.
  • Scratch and its descendant BYOB (and soon its web-based descendent Snap) are focussed on creating 2D drawings.


  • BlueJ is a code editor with a UML-like display of classes and APIs.
  • DrJava is a simple, free Java development environment. It contains an interactive console where you can test things out without compiling as well as more traditional Java development.
  • Greenfoot is a grid-world interface that has some visual, interactive elements and access to the underlying code as well.
  • Eclipse is the de facto standard Java development environment (use the “Eclipse Classic” version); probably a bit complicated for introductory classes, but very versatile.
  • Turtle Graphics .jar file and related helper tools from Mark Guzdial and Barbara Ericson.
  • CodingBat, a large collection of stand-alone Java programming problems with interactive automated feedback.
  • PracticeIt is another set of Java programming problems, but the link seemed dead last time I tried it.
  • Example course from Carnegie Mellon University, with an emphasis on media computation.

Game Development

  • Game Maker is for 2D games, has notions of basic physics, etc. Drag-and-drop interface, with a scripting language accessible if desired.
  • Microsoft's Kodu makes a child's game of designing 3D games.
  • Microsoft's XNA for mid-sized 3D games.


  • Python is a popular introductory language. It is simpler than Java. It comes with an editor called “Idle,” which does not seem that popular; DrPython and Komodo Edit are more popular free editors. CodingBat, a large collection of stand-alone Python programming problems with interactive automated feedback.
  • Windows Phones and a tool for developing apps for them available from Microsoft.
  • Processing is a very Java-like language that creates geometric designs.
  • PureData (also available from Miller Pucket's more-often-up website) is a visual language for programming multimedia.

Web Resources

  • National Center for Women in Information Technology, an extensive source for handouts, programs-in-a-box, awards, support, marketing, etc.
  • CS Principles, resources for the soon-to-be new AP test in CS aimed at non-programmers.
  • Kinesthetic learning: KLA, CS Unplugged, AP Reading Toy Night AP Reading Toy Night (more recent).
  • Sit With Me (the “Red Chair”)
  • NCWIT's Aspirations in Computer Science Award
    • Review the applications, make sure they are not depricating themselves on the bubble sheet; teach to it.
    • It's an aspiration award, not an achievement award.
    • Write about 490 words in the 500-word-limit boxes.
    • Read their essays, ask them to fill in details. How have they done it before? Why do you care? Iterate.
    • Have them read your teacher essay, suggest things you forgot. Iterate.
    • DO NOT mention Word or Excel (except to say how unsatisfying using them is…)
    • Write your essays in Word, then copy into box (for spelling and grammar checking) and then fix the format in the end.
    • If you had opportunities in computing, you should have done them or have good reason why not. If no opportunities, did you do that? And why did you take those you did?
  • Dot Diva, a resource for improving the image of what computer scientists do and are.
  • Unniversty of Washington's “Why CSE?”], a set of short recordings that can help recruit students.
  • Instructional Videos by Luther Tychonievich.
  • CSTA, the Computer Science Teachers Association (sponsored by the ACM, the main professional organization for computer scientists). Free to join, lots of resources.
  • Exploring CS, a course developed the the LA Unified School District.
  • CS Bits and Bytes, a newsletter from the National Science Foundation with career and research highlights and 10-minutes clsasroom activities for helping students understand them.
  • Google's educational page, Google's educational links (a Google document), and their Exploring Computational Thinking curriculum.
  • TED Talk by Conrad Wolfram about teaching math instead of computation, and using computers to help.
  • SIGCSE Nifty Assignments, aimed at college but many available to AP-level too.
  • Donors Choose, a source for funding teacher projects.
  • DO-IT and Why CSE videos from the University of Washington promote and describe IT jobs.
  • Gaming can Make a Better World TED talk by Jane McGonigal.

Competitions and Clubs


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License