Runestone Interactive Library of Books

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.

Computer Science Textbooks:
JavaScript 4 Python Programmers
Description: To register for this book use the code JS4Python

keywords:

Mastering Relational Databases
Description: To register for this book use the code MasteringDatabases

keywords:

Purpose First Web Scraping
Description: To register for this book use the code PurposeFirstWebScraping

keywords:

AP CS Principles - Student Edition
Description: To register for this book use the code StudentCSP

keywords:

Java Subgoals
Description: To register for this book use the code Subgoals

keywords:

AP CSP - Teacher
Description: To register for this book use the code TeacherCSP

keywords:

Abstract Algebra, Theory and Applications
Description: To register for this book use the code aata

keywords:

Introduction to Google Sheets and SQL
Description: To register for this book use the code ac1

keywords:

AP CSA Java Review - Obsolete
Description: To register for this book use the code apcsareview

keywords:

ARM Tutorial
Description: To register for this book use the code armTutorial

keywords:

Runestone Blue Book
Description: To register for this book use the code bluebook

keywords:

On Complexity
Description: To register for this book use the code complex

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

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++

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

CS Java
Description: To register for this book use the code csjava

keywords:

Discrete Mathematics an Open Introduction
Description: To register for this book use the code dmoi

keywords:

EECS 280
Description: To register for this book use the code eecs280umich

keywords:

ENGR 101
Description: To register for this book use the code engr101matlab

keywords:

ENGR 101
Description: To register for this book use the code engr101umich

keywords:

A First Course in Linear Algebra
Description: To register for this book use the code fcla

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 Data Scientist
Description: To register for this book use the code httlads

keywords:

Runestone Instructor Guide
Description: To register for this book use the code instructorguide

keywords:

Java for Python Programmers
Description: To register for this book use the code java4python

keywords:

Learn Computer Graphics using WebGL
Description: To register for this book use the code learnwebgl2

keywords:

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

ORCCA
Description: To register for this book use the code orcca

keywords:

Runestone Interactive Overview
Description: To register for this book use the code overview

keywords:

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

Problem Solving with Algorithms and Data Structures
Description: 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: To register for this book use the code pythoned

keywords:

Teach Mobile CSP
Description: To register for this book use the code teach-mobilecsp

keywords:

Technovation
Description: To register for this book use the code technovation

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

Fundamentals of Web Programming
Description: To register for this book use the code webfundamentals

keywords:

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.