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
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
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:
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:
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 - 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:
Abstract Algebra, Theory and Applications
Description: To register for this
book use the code aata
keywords:
Discrete Mathematics an 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:
Web programming Textbooks:
Fundamentals of Web Programming
Description: To register for this
book use the code webfundamentals
keywords:
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.