Library

The Runestone Interactive tools create compelling interactive learning resources used by hundreds of Colleges, Universities, and High Schools around the world. Here is a list of the titles we know about. Contact us to add yours to the list.

Intro to Computer Science

How to Think Like a Computer Scientist: Interactive Edition

Based on the original open source book. Learn Python, try examples, answer questions, interactively, right in the book!

How to Think Like a Computer Scientist

Foundations of Python Programming

A project based course for CS1, A huge rewrite of thinkcspy by Paul Resnick and Brad Miller, This course is used by Google’s applied computing series, as well as widely used at the University of Michigan School of Information and other schools.

Foundations of Python Programming

CS for All

Written by Christine Alvarado, Zachary Dodds, Geoff Kuenning, and Ran Libeskind-Hadas at Harvey Mudd College

CS for All

Data Structures and Algorithms

Problem Solving with Algorithms and Data Structures Using Python

Written by Brad Miller and David Ranum. Published in Paper format by Franklin Beedle and Associates

Problem Solving with Algorithms and Data Structures

Problem Solving with Algorithms and Data Structures using C++

A marvelous mashup of the Python book by Jan Pearce at Berea College. This book presents Python and C++ side by side, a great CS2 book for schools wanting to move from Python in CS1 to another language in CS2.

Problem Solving with Algorithms and Data Structures using C++

Data Science

How to Think Like a Data Scientist

A new book for teaching an introduction to Data Science. It assumes some python programming familiarity and focuses on key data science topics through fun and interesting data sets. Teaches Pandas, Altair, nltk, scikit-learn, and other popular Python packages.

How to Think like a Data Scientist

Transforming Data with ClojureScript

Written by J. David Eisenberg Designed for non-programmers, it focuses on what is still one of the main programming tasks, “transforming data.” Based on ClojureScript it takes a functional approach.

Transforming Data with ClojureScript

Computer Graphics

Learn WebGL

By Dr. C Wayne Brown of the US Air Force Academy. The traditional approach to learning a subject is to divide the topic into sub-topics, study each sub-topic, and then show how the sub-topics relate to each other. That is not the approach for these tutorials. These tutorials start with the “big picture” and then study the details of each sub-system that composes the complex overall system. The study of each sub-system starts from basic principles and tries to avoid any assumptions about what the student knows or does not know.

Learn WebGL

High School AP Resources

Java Review for the AP CS A Exam

This great resource, written by Barbara Ericson, is loaded with review questions and clear explanations.

Java Review

CS Principles: Big Ideas in Programming

Written by Mark Guzidial and designed for Teachers! This book supports the new AP CS Principles curriculum

Student Computer Science Principles

CS Principles: Big Ideas in Programming for Teachers

Written by Mark Guzidial and designed for Teachers! This book supports the new AP CS Principles curriculum

Student Computer Science Principles

Course Reader - CS160

Written by Andrew Scholer, “A collection I put together with Runestone for my Intro to CS course. It is a creative commons licensed set of materials I gathered from other open sources and bundled into a single work.” CS160 Course Reader

Web Programming

Fundamentals of Web Programming

Written by Brad Miller, this book is designed for a seven week course I teach to majors and non majors. It introduces HTML, CSS, and a bit of Javascript. Fundamentals of Web Programming

Language Transition

Java For Python Programmers

This short book helps with the transition from Python to Java

Java 4 Python

C++ for Python Programmers

Similar in spirit to Java 4 Python programmers, this book eases the transition from Python to C++. Written by Jan Pearce at Berea College.

C++ for Python Programmers

Everyday Python

An occasional blog, written by Brad Miller, that provides contextualized programming lessons. Examples include Schooling Fish, steganography, prime factors, and an XKCD style password generator. Includes links to the “How to Think” book to cover introductory material on programming constructs used in the lessons. The idea is to focus on fun problems in lots of areas, the goal is to turn this into a fun CS1 textbook.

Everyday Python

If you have some materials you have written using the Runestone Interactive Tools, please contact us and let us know about it.

Learn more about using one of our books in your own course In our Instructor Guide

If you are interested in getting started writing your own Runestone book check out our Authors Guide