The books on Runestone.Academy are all free and open source textbooks. We
encourage you to browse the library and make use of these books in your
courses. If you are a new instructor and want to do this, please take a look
at the
Help for Instructors page
before you make a course. Note: The links to books on this page
are for browsing only. If you want your work to be saved you should enroll in the course
from the Change Course page.
AP Computer Science Textbooks:
AP CS Principles - Student Edition
Description: To register for this
book use the code StudentCSP
keywords:
AP CSAwesome
Description: CSAwesome is a College Board endorsed curriculum for AP Computer Science A, an introductory college-level computer programming course in Java, by Barbara Ericson, University of Michigan, and Beryl Hoffman, Elms College. To register for this
book use the code csawesome
keywords: AP CSA Java
Mobile CSP
Description: Mobile Computer Science Principles (Mobile CSP) is an NSF-funded effort to provide a broad and rigorous introduction to computer science based on MIT App Inventor, a programming language for creating apps for mobile devices. Mobile CSP is a program of the National Center for Computer Science Education. Mobile CSP is an approved curriculum provider for the College Board's Advanced Placement (AP) Computer Science Principles curriculum framework for introductory computer science To register for this
book use the code mobilecsp
keywords: AP CSP App Inventor
Algebra Textbooks:
Intermediate Algebra: Functions and Graphs
Description: To register for this
book use the code int-algebra
keywords:
Author/Instructor Help Textbooks:
Runestone Author Guide
Description: This is a good second stop, after you look at the overview, to find out all of the different options available for each of the directives.
To register for this
book use the code authorguide
keywords:
Runestone Instructor Guide
Description: This book can help you learn to use Runestone more effectively. Each section has links to videos that
show you how to do things step by step as well. If you are just interested in learning more about interactive books then our overview is a better place to start.
To register for this
book use the code instructorguide
keywords:
Runestone Interactive Overview
Description: This short book shows off the capabilities of Runestone textbooks. It can also help you write your own Runestone books as each example contains the Runestone (RST) source for that example. This is a better place to start than the Instructor or Author guide books. To register for this
book use the code overview
keywords:
Computer Science Textbooks:
Java Subgoals
Description: To register for this
book use the code Subgoals
keywords:
Runestone Blue Book
Description: To register for this
book use the code bluebook
keywords:
On Complexity
Description: This text introduces the field of complexity science which uses computation to explore the physical and social sciences. It employs graphs, cellular automata, and agent-based models to study interdiciplinary applications in physics, biology, and economics. To register for this
book use the code complex
keywords: complexity, python, algorithms
CS160 Reader
Description: To register for this
book use the code cs160Reader
keywords:
ENGR 101
Description: To register for this
book use the code engr101umich
keywords:
Technovation
Description: To register for this
book use the code technovation
keywords:
CS160 Reader
Description: To register for this
book use the code welcomecs
keywords:
Data Structures Textbooks:
Problem Solving with Algorithms and Data Structures using C++
Description: The understanding of data structures and algorithms is central to understanding computer science. Presented in C++, this textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. We cover abstract data types and basic data structures, writing algorithms to solve problems, as well as using data structures to solve classic problems. The first chapter offers a review of basic C++, so this book is most appropriate for use after either a first programming course in C++ or after first programming course in any language. To register for this
book use the code cppds
keywords: data structures, algorithms, C++
Problem Solving with Algorithms and Data Structures
Description: The Second Edition. You are better off using the 3rd now. To register for this
book use the code pythonds
keywords:
Problem Solving with Algorithms and Data Structures 3rd edition
Description: To register for this
book use the code pythonds3
keywords:
Solución de problemas con algoritmos y estructuras de datos
Description: A Spanish language translation of pythonds second edition. - We need a Spanish speaking maintainer to help with this title! To register for this
book use the code pythoned
keywords:
Database Textbooks:
Mastering Relational Databases
Description: To register for this
book use the code MasteringDatabases
keywords:
A Practical Introduction to Databases
Description: To register for this
book use the code practical_db
keywords:
Instructor Guide Textbooks:
AP CSP - Teacher
Description: To register for this
book use the code TeacherCSP
keywords:
Teach Mobile CSP
Description: To register for this
book use the code teach-mobilecsp
keywords:
Intro to Computer Science Textbooks:
CS Java
Description: This book is a fork of the CSAwesome with most of the AP CS A references removed To register for this
book use the code csjava
keywords:
Foundations of Python Programming
Description: A project based course for CS1, A huge rewrite of How to Think like a Computer Scientist by Paul Resnick and Brad Miller. The projects in this book lean in the direction of data science, but we are actively seeking projects relevant to any area of study. To register for this
book use the code fopp
keywords: intro google active learning fun data turtle graphics learn
How to Think like a Computer Scientist: PreTeXt Interactive Edition
Description: This is mostly the same as thinkcspy but formatted by PreTeXt. We aim to expand on this book adding significantly more Parsons problems and other modern components that have been created since we first converted thinkcspy to Runestone 10 years ago. To register for this
book use the code httlacs
keywords: intro google active learning fun data turtle graphics learn
Java Java Java
Description: To register for this
book use the code javajavajava
keywords:
How to Think Like a Computer Scientist - C++
Description: To register for this
book use the code thinkcpp
keywords:
How to Think like a Computer Scientist: Interactive Edition
Description: Based on the original open source book by Allan Downy and Jeff Elkner. Learn Python, this edition is expanded with additional topics and is fully interactive. Try examples, answer questions, interactively, right in the book! To register for this
book use the code thinkcspy
keywords: intro google active learning fun data turtle graphics learn
Intro to Data Science Textbooks:
Introduction to Google Sheets and SQL
Description: To register for this
book use the code ac1
keywords:
How to Think Like a Data Scientist
Description: This book is designed as a second course in computing, to follow up on an intro to programming with Python. It introduces many ideas in data science in an intuitive/informal way. To register for this
book use the code httlads
keywords:
Intro to Data Science, Intro to Computer Science Textbooks:
Python for Everybody - Interactive
Description: This interactive ebook was created by a team led by Dr. Barbara Ericson. That team started with a static version of this ebook created by Dr. Charles Severance for his Python for Everybody course. He built that ebook by starting with Allen B. Downey's *Think Python* book. This ebook is a data-oriented introduction to Pyton 3 and covers both novice and intermediate levels of programming. Use code py4e-int To register for this
book use the code py4e-int
keywords: Python, Python 3, novice, intermediate, data science, data processing
Language Transition Textbooks:
JavaScript 4 Python Programmers
Description: To register for this
book use the code JS4Python
keywords:
C++ for Python Programmers
Description: This short ebook is intended to make it easy for anyone who has some background in programming in Python to transition to programming in C++. This ebook also utilizes an optional graphics module that allows graphics in C++ to utilize commands like the Turtle library in Python. To register for this
book use the code cpp4python
keywords: Python, C++, transition
Java for Python Programmers
Description: To register for this
book use the code java4python
keywords:
Math Textbooks:
Apex Calculus
Description: To register for this
book use the code APEX
keywords:
Business Calculus with Excel
Description: To register for this
book use the code ExcelCalculus
keywords:
Abstract Algebra, Theory and Applications
Description: To register for this
book use the code aata
keywords:
Active Calculus
Description: To register for this
book use the code boelkins-ACS
keywords:
Discrete Math and Open Introduction
Description: To register for this
book use the code dmoi
keywords:
A First Course in Linear Algebra
Description: To register for this
book use the code fcla
keywords:
The Ordinary Differential Equations Project
Description: To register for this
book use the code odeproject
keywords:
Web programming Textbooks:
Fundamentals of Web Programming
Description: To register for this
book use the code webfundamentals
keywords:
class-exp Textbooks:
class-exp
Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test Parsons with and wihtout distractors. To register for this
book use the code class-exp
keywords: Python, Python 3, experiment, test
p3pt Textbooks:
p3pt
Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson. To register for this
book use the code p3pt
keywords: Python, Python 3, experiment, test
p3tog Textbooks:
p3tog
Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test write code versus write code with Parsons. To register for this
book use the code p3tog
keywords: Python, Python 3, experiment, test
License Information
The books published on Runestone are all licensed under the Creative Commons
CC-BY license or the GNU Free Documentation license. The source code for each
book can be found on
Our Github Page and
will give you the specifics of the license. We encourage you to report any
innacuracies, typos or leave us suggestions using the Github issues page for
each book.