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 184,464 students in 9,674 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,661 students in 1,854 courses

Description:

Register for StudentCSP

keywords:

Used by 23,410 students in 1,372 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:

By: Mobile CSP

Used by 1,631 students in 96 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 223 students in 28 courses

Description: BHS Awesome is an adaptation by Peter Seibel of CSAwesome for use at Berkeley High School. 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 BHSawesome

keywords:

Used by 5 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 561 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 161 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 37 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 902 students in 60 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,642 students in 1,020 courses

Description:

Register for apcsareview

keywords:

Used by 2,599 students in 23 courses

Description:

Register for engr101umich

keywords:

Used by 1,033 students in 159 courses

Description:

Register for bluebook

keywords:

Used by 316 students in 21 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 274 students in 18 courses

Description: Computing for Creative Expression

Register for comp-expression

keywords:

Used by 209 students in 17 courses

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

Register for comp-justice

keywords:

Data Structures

Used by 30,071 students in 806 courses

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

Register for pythonds

keywords:

Used by 11,427 students in 430 courses

Description:

Register for pythonds3

keywords:

Used by 3,539 students in 246 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. Note that this is the first edition. Please consider using cppds2.

Register for cppds

keywords:

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

Used by 954 students in 64 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, [email protected]

Register for javads

keywords:

Used by 675 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 114 students in 14 courses

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

Register for bridgesds

keywords:

By: pearcej

Used by 10 students in 1 course

Description: The understanding of data structures and algorithms is central to understanding computer science. Presented in C++, this second edition 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 cppds2

keywords:

Database

Used by 1,057 students in 72 courses

Description:

Register for practical_db

keywords:

Used by 852 students in 72 courses

Description:

Register for MasteringDatabases

keywords:

Instructor Guide

Used by 650 students in 1 course

Description:

Register for TeacherCSP

keywords:

Used by 383 students in 1 course

Description:

Register for teach-mobilecsp

keywords:

Intro to Computer Science

Used by 120,017 students in 4,959 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,351 students in 2,253 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,981 students in 584 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,701 students in 186 courses

Description:

Register for thinkcpp

keywords:

Used by 1,925 students in 131 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,582 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,294 students in 91 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 909 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 486 students in 50 courses

Description:

Register for Subgoals

keywords:

Intro to Data Science

Used by 4,843 students in 330 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 586 students in 74 courses

Description:

Register for ac1

keywords:

Intro to Data Science, Intro to Computer Science

Used by 26,119 students in 1,159 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,272 students in 209 courses

Description:

Register for java4python

keywords:

Used by 3,553 students in 143 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,173 students in 52 courses

Description:

Register for JS4Python

keywords:

Mathematics

By: Oscar Levin

Used by 1,124 students in 109 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,088 students in 95 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,058 students in 73 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 732 students in 109 courses

Description:

Register for fcla

keywords:

By: Greg Hartman

Used by 277 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 272 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 224 students in 18 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 174 students in 25 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: Tom Judson

Used by 132 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:

By: Jordan et al.

Used by 123 students in 35 courses

Description: Introductory and Intermediate Algebra

Register for orcca

keywords:

Used by 91 students in 27 courses

Description:

Register for int-algebra

keywords:

Used by 78 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 57 students in 6 courses

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

Register for linearpython

keywords:

Used by 42 students in 11 courses

Description:

Register for ExcelCalculus

keywords:

By: Ken Levasseur and Alan Doerr

Used by 37 students in 7 courses

Description: A two semester discrete math text.

Register for ads

keywords:

By: StevenClontz

Used by 27 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 19 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 756 students in 19 courses

Description:

Register for peerplus

keywords:

By: Dr. Jan Pearce

Used by 74 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 59 students in 11 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 50 students in 20 courses

Description:

Register for CS1-Python-Subgoals

keywords:

Used by 39 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 16 students in 3 courses

Description:

Register for pretextguide

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,306 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 494 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 124 students in 8 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 60 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 21 students in 5 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 17 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,200 students in 546 courses

Description:

Register for webfundamentals

keywords:

introcs

Used by 2,800 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.