Runestone Academy 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. 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. If you are a self-learner you can click on the Register button for the book. If you are taking a course your instructor will priovide you a code to register from the Change Course page.


AP Computer Science

Used by 183,280 students in 9,610 courses

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; Beryl Hoffman, Elms College; and Peter Seibel, Berkeley High School.

Register for csawesome

keywords:

Used by 23,391 students in 1,368 courses

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's App Inventor, a programming language for creating apps for mobile devices. Mobile CSP is a program of the Northern Lights Collaborative for Computing 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

Register for mobilecsp

keywords:

Used by 23,377 students in 1,828 courses

Description:

Register for StudentCSP

keywords:

By: Mobile CSP

Used by 1,629 students in 95 courses

Description: Computer Science Education Week will be December 5-11, 2022. High school computer science educators and their students are invited to participate in the Hour of AI Education during CSEdWeek. In the Mobile CSP Alexa in Space Hour of AI mini-unit, students explore AI concepts and create Alexa skills to help inexperienced space travelers, such as tourists, complete everyday tasks in a microgravity environment. This unit is available through a free interactive e-book. The Mobile CSP Hour of AI will consist of 4 lessons that can be used in CS classrooms.

Register for alexainspace

keywords:

Used by 3 students in 1 course

Description: Advanced High School Statistics

Register for ahss3rd

keywords:

Author/Instructor Help

Used by 656 students in 3 courses

Description: This book will help you get the most out of the features of Runestone Academy.

Register for instructorguide

keywords:

Used by 559 students in 1 course

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.

Register for overview

keywords:

Used by 159 students in 1 course

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.

Register for authorguide

keywords:

Used by 35 students in 1 course

Description: This is a book written in PreTeXt, in order to provide testing for a variety of purposes, not least a conversion to Runestone Academy.

Register for PTXSB

keywords:

COMP 1000: Think Like a Computer

Used by 886 students in 57 courses

Description: An extension of the Foundations of Python Programming book to include ethics and interactivity, and with a focus on helping students think about how the computer would execute each line of code.

Register for FOPP-PIE

keywords:

Computer Science

Used by 25,583 students in 1,021 courses

Description:

Register for apcsareview

keywords:

Used by 2,597 students in 23 courses

Description:

Register for engr101umich

keywords:

Used by 1,020 students in 158 courses

Description:

Register for bluebook

keywords:

Used by 312 students in 20 courses

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.

Register for complex

keywords:

Used by 152 students in 22 courses

Description:

Register for technovation

keywords:

Computing for the Arts and Sciences

By: Mark Guzdial

Used by 271 students in 18 courses

Description: Computing for Creative Expression

Register for comp-expression

keywords:

Used by 199 students in 16 courses

Description: Computings impact on Justice: From Text to the Web

Register for comp-justice

keywords:

Data Structures

Used by 29,951 students in 804 courses

Description: The Second Edition. You are better off using the 3rd now.

Register for pythonds

keywords:

Used by 11,156 students in 425 courses

Description:

Register for pythonds3

keywords:

Used by 3,509 students in 245 courses

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.

Register for cppds

keywords:

By: Brad Miller, David Ranum, Roman Yasinovskyy, J. David Eisenberg

Used by 917 students in 63 courses

Description: A solid introduction to algorithms and data structures. Not overly rigorous to keep it very accessible and practical. This book covers the basics very well plus one advanced topic to augment most chapters if you need them. Designed for a 15 week semester (without advanced topics) as a second course in CS, but very adaptable for other schedules. This is a new book. Please send any feedback to David Eisenberg, david.eisenberg@evc.edu

Register for javads

keywords:

Used by 673 students in 7 courses

Description: A Spanish language translation of pythonds second edition. - We need a Spanish speaking maintainer to help with this title!

Register for pythoned

keywords:

Used by 107 students in 13 courses

Description: This is a Bridges Data Structures Textbook @shelf Data Structures Textbooks

Register for bridgesds

keywords:

Database

Used by 1,031 students in 68 courses

Description:

Register for practical_db

keywords:

Used by 842 students in 69 courses

Description:

Register for MasteringDatabases

keywords:

Instructor Guide

Used by 650 students in 1 course

Description:

Register for TeacherCSP

keywords:

Used by 379 students in 1 course

Description:

Register for teach-mobilecsp

keywords:

Intro to Computer Science

Used by 119,531 students in 4,944 courses

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!

Register for thinkcspy

keywords:

By: Brad Miller and Paul Resnick

Used by 39,053 students in 2,238 courses

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.

Register for fopp

keywords:

Used by 8,793 students in 578 courses

Description: This book is a fork of the CSAwesome with most of the AP CS A references removed

Register for csjava

keywords:

Used by 2,606 students in 181 courses

Description:

Register for thinkcpp

keywords:

Used by 1,907 students in 129 courses

Description: The original open source intro to computer science textbook. Great for students of all ages.

Register for httlacs

keywords:

By: Ralph Morelli, Ralph Walde, and Beryl Hoffman

Used by 1,561 students in 130 courses

Description: Objects first textbook for Java

Register for javajavajava

keywords:

By: Adapted by Matthew Hrehirchuk, Eric Chalmers, Charlotte Curtis and Patrick Perri of Mount Royal University

Used by 1,272 students in 87 courses

Description: An adaptation of Foundations of Python Programming with functions introduced before conditionals and loops. This version de-emphasizes Python-specific syntax to focus on procedural programming fundamentals.

Register for foppff

keywords:

By: Andrew Scholer

Used by 896 students in 48 courses

Description: A CS0 / AP CS Principles level text intended for students new to computer science.

Register for welcomecs2

keywords:

Used by 480 students in 50 courses

Description:

Register for Subgoals

keywords:

Intro to Data Science

Used by 4,802 students in 323 courses

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.

Register for httlads

keywords:

Used by 582 students in 72 courses

Description:

Register for ac1

keywords:

Intro to Data Science, Intro to Computer Science

Used by 25,757 students in 1,142 courses

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

Register for py4e-int

keywords:

Language Transition

Used by 4,255 students in 208 courses

Description:

Register for java4python

keywords:

Used by 3,524 students in 141 courses

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.

Register for cpp4python

keywords:

Used by 1,167 students in 52 courses

Description:

Register for JS4Python

keywords:

Mathematics

By: Oscar Levin

Used by 1,110 students in 108 courses

Description: 3rd Edition. A free, open source textbook appropriate for a first or second year undergraduate course for math and computer science majors. The book is especially well-suited for courses that incorporate inquiry-based learning. Since Spring 2013, the book has been used as the primary textbook or a supplemental resource at more than 200 colleges and universities around the world. The text is endorsed by the American Institute of Mathematics' Open Textbook Initiative and is well reviewed on the Open Textbook Library.

Register for dmoi

keywords:

By: Matt Boelkins

Used by 1,060 students in 93 courses

Description: Active Calculus Single Variable supports an active learning approach in the first two semesters of calculus. Every section of Active Calculus Single Variable offers engaging activities for students to complete before and during class; additional exercises that challenge students to connect and assimilate core concepts; interactive WeBWorK exercises; opportunities for students to develop conceptual understanding and improve their skills at communicating mathematical idea. The text is free and open-source, available in HTML, PDF, and print formats. Ancillary materials for instructors are also available.

Register for ac-single

keywords:

By: Oscar Levin

Used by 1,030 students in 63 courses

Description: The 4th edition of Levin's Discrete Mathematics: an Open Introduction, released in August 2024. The new edition includes a better arrangement of topics, many more exercises, and much more interactivity. There are sections on relations, probability, and a stronger emphasis on discrete structures.

Register for dmoi-4

keywords:

Used by 721 students in 109 courses

Description:

Register for fcla

keywords:

By: Greg Hartman

Used by 272 students in 29 courses

Description: A traditional calculus textbook with many exercises and few proofs, covering calculus from limits to vector calculus.

Register for APEX

keywords:

Used by 270 students in 37 courses

Description: This book is for a one-semester course in differential equations.

Register for odeproject

keywords:

By: Jennifer Firkins Nordstrom

Used by 214 students in 17 courses

Description: This text provides the basics for a one semester Discrete Math course which emphasizes mathematical reasoning and an introduction to proof writing. Each section includes activities to help the students master the definitions and techniques.

Register for DiscreteMathText

keywords:

By: Steven Schlicker, Mitchel T. Keller, and Nicholas Long

Used by 170 students in 24 courses

Description: Active Calculus - Multivariable supports an active learning approach to a course involving multivariable and vector calculus. Every section of Active Calculus - Multivariable offers preview activities designed around preparing users for new topics; multiple activities in each section that can be used either in- or out-of-classtime; interactive WeBWorK exercises; other exercises and tasks that foster students' practice of skills and deeper investigation of conceptual material; opportunities for students to refine their effective communication of geometric and algebraic perspectives. This text is free and open-source, available in HTML, PDF, and print (Chapters 911 only) formats. Ancillary materials for instructors are also available.

Register for acmulti

keywords:

By: Jordan et al.

Used by 125 students in 35 courses

Description: Introductory and Intermediate Algebra

Register for orcca

keywords:

By: Tom Judson

Used by 124 students in 20 courses

Description: Abstract Algebra: Theory and Applications is an open-source textbook that is designed to teach the principles and theory of abstract algebra to college juniors and seniors in a rigorous manner. Its strengths include a wide range of exercises, both computational and theoretical, plus many non-trivial applications. The first half of the book presents group theory, through the Sylow theorems, with enough material for a semester-long course. The second half is suitable for a second semester and presents rings, integral domains, Boolean algebras, vector spaces, and fields, concluding with Galois Theory. There is extensive complementary material and exercises using the open source mathematical system, Sage.

Register for AATA

keywords:

Used by 88 students in 26 courses

Description:

Register for int-algebra

keywords:

Used by 71 students in 11 courses

Description: A open-access textbook to support a two-course sequence in linear algebra that does not require calculus as a prerequisite. The text includes many activities designed to facilitate an active learning environment, embedded Sage cells to develop computational proficiency, and numerous realistic applications.

Register for ula

keywords:

By: sean-fitzpatrick

Used by 50 students in 5 courses

Description: A linear algebra textbook using Python and interactive Runestone exercises

Register for linearpython

keywords:

Used by 41 students in 11 courses

Description:

Register for ExcelCalculus

keywords:

By: Ken Levasseur and Alan Doerr

Used by 34 students in 7 courses

Description: A two semester discrete math text.

Register for ads

keywords:

By: StevenClontz

Used by 25 students in 1 course

Description: Activities and exercises for easily implementing Team-Based Inquiry Learning in a single-variable calculus classroom.

Register for tbilla

keywords:

Used by 17 students in 1 course

Description: A traditional calculus textbook with many exercises and few proofs, covering calculus from limits to vector calculus.

Register for apex

keywords:

Misc

Used by 748 students in 18 courses

Description:

Register for peerplus

keywords:

By: Dr. Jan Pearce

Used by 73 students in 7 courses

Description: This book is designed for instructors, formal students, and self-learners. It explains what open source software is and teaches the basic skills of open source development incrementally, through real involvement in meaningful projects.

Register for opensource

keywords:

Used by 49 students in 20 courses

Description:

Register for CS1-Python-Subgoals

keywords:

Used by 23 students in 4 courses

Description: A hands-on introduction to Open Source collaboration using a git/gitHub forking workflow in a Linux desktop environment.

Register for gitkitlinux

keywords:

Used by 15 students in 3 courses

Description:

Register for pretextguide

keywords:

Used by 4 students in 4 courses

Description: A hands-on introduction to Open Source collaboration using a git/gitHub forking workflow using the VSCode IDE.

Register for gitkitvscode

keywords:

Used by 3 students in 1 course

Description: This book is mostly for testing WeBWorK and Runestone

Register for PTXWW

keywords:

Python Experiments

Used by 2,297 students in 34 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test Parsons problems versus writing the equivalent code.

Register for p3pt

keywords:

Used by 572 students in 19 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test Parsons with and without distractors.

Register for class-exp

keywords:

By: barbarer

Used by 492 students in 4 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test Parsons with and without distractors.

Register for class-exp2

keywords:

By: barbarer

Used by 231 students in 5 courses

Description: Duke University version of an interactive ebook for an ITiCSE working group led by Dr. Barbara Ericson, Dr. Janice Pearce, and Dr. Susan Rodger to test Parsons with and without distractors.

Register for dclass-exp

keywords:

By: barbarer

Used by 186 students in 11 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson.

Register for python-swap

keywords:

By: barbarer

Used by 122 students in 7 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson.

Register for uc-python-swap2

keywords:

Used by 78 students in 3 courses

Description: This interactive ebook was created by a ITiCSE working group to test the effects of solving Parsons problems with and without distractors.

Register for c3dnd

keywords:

By: barbarer

Used by 58 students in 1 course

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson.

Register for c-swap

keywords:

By: barbarer

Used by 58 students in 10 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson.

Register for python-swap2

keywords:

Used by 31 students in 10 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test code writing problems with Parsons problems as help versus code writing problems with no additional help.

Register for class-tog

keywords:

Used by 20 students in 4 courses

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.

Register for p3tog

keywords:

By: barbarer

Used by 16 students in 7 courses

Description: This interactive ebook was created by a ITiCSE working group to test the effects of solving Parsons problems with and without distractors.

Register for p3dndta

keywords:

By: barbarer

Used by 14 students in 5 courses

Description: This interactive ebook was created by a ITiCSE working group to test the effects of solving Parsons problems with and without distractors.

Register for p3dnd

keywords:

By: barbarer

Used by 11 students in 4 courses

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test Parsons with and without distractors.

Register for class-ta

keywords:

By: barbarer

Used by 7 students in 1 course

Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson to test Parsons problems versus writing the equivalent code.

Register for p3-dist

keywords:

By: barbarer

Used by 5 students in 1 course

Description: Duke version of a study for the ITiCSE working group led by Dr. Barbara Ericson, Dr. Janice Pearce, and Dr. Susan Rodger.

Register for dpython-swap

keywords:

By: barbarer

Used by 4 students in 1 course

Description: Duke version of a study for the ITiCSE working group led by Dr. Barbara Ericson, Dr. Janice Pearce, and Dr. Susan Rodger to test code writing problems with Parsons problems as help versus code writing problems with no additional help.

Register for dclass-tog

keywords:

By: barbarer

Used by 4 students in 1 course

Description: Duke version of a study created by a ITiCSE working group led by Dr. Barbara Ericson, Dr. Janice Pearce, and Dr. Susan Rodger to test Parsons problems versus writing the equivalent code.

Register for dp3pt

keywords:

Web programming

Used by 7,169 students in 542 courses

Description:

Register for webfundamentals

keywords:

introcs

Used by 2,794 students in 8 courses

Description: The original open source intro to computer science textbook. Great for students of all ages.

Register for mines_csstem

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 inaccuracies, typos or leave us suggestions using the Github issues page for each book.