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 157,308 students in 8,201 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 20,538 students in 1,520 courses

Description:

Register for StudentCSP

keywords:

Used by 19,174 students in 1,128 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,626 students in 90 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:

Author/Instructor Help

Used by 630 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 524 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 138 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 30 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:

Computer Science

Used by 25,078 students in 1,021 courses

Description:

Register for apcsareview

keywords:

Used by 2,573 students in 17 courses

Description:

Register for engr101umich

keywords:

Used by 690 students in 27 courses

Description:

Register for FOPP-PIE

keywords:

Used by 578 students in 112 courses

Description:

Register for bluebook

keywords:

Used by 264 students in 15 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 143 students in 14 courses

Description:

Register for technovation

keywords:

Computing for the Arts and Sciences

By: Mark Guzdial

Used by 193 students in 13 courses

Description: Computing for Creative Expression

Register for comp-expression

keywords:

Used by 126 students in 11 courses

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

Register for comp-justice

keywords:

Data Structures

Used by 28,982 students in 794 courses

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

Register for pythonds

keywords:

Used by 9,805 students in 370 courses

Description:

Register for pythonds3

keywords:

Used by 3,180 students in 230 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:

Used by 658 students in 6 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:

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

Used by 173 students in 17 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 49 students in 8 courses

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

Register for bridgesds

keywords:

Database

Used by 799 students in 45 courses

Description:

Register for practical_db

keywords:

Used by 794 students in 63 courses

Description:

Register for MasteringDatabases

keywords:

Instructor Guide

Used by 641 students in 1 course

Description:

Register for TeacherCSP

keywords:

Used by 360 students in 1 course

Description:

Register for teach-mobilecsp

keywords:

Intro to Computer Science

Used by 110,869 students in 4,740 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 35,859 students in 2,110 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 7,252 students in 477 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 1,905 students in 144 courses

Description:

Register for thinkcpp

keywords:

Used by 1,381 students in 86 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,177 students in 94 courses

Description: An object-oriented introduction to Java programming

Register for javajavajava

keywords:

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

Used by 612 students in 46 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:

Used by 443 students in 48 courses

Description:

Register for Subgoals

keywords:

By: Andrew Scholer

Used by 245 students in 19 courses

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

Register for welcomecs2

keywords:

Intro to Data Science

Used by 4,357 students in 294 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 446 students in 63 courses

Description:

Register for ac1

keywords:

Intro to Data Science, Intro to Computer Science

Used by 20,789 students in 943 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 3,306 students in 136 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 3,268 students in 180 courses

Description:

Register for java4python

keywords:

Used by 1,072 students in 42 courses

Description:

Register for JS4Python

keywords:

Mathematics

By: Oscar Levin

Used by 1,001 students in 90 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 690 students in 63 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:

Used by 655 students in 104 courses

Description:

Register for fcla

keywords:

By: Oscar Levin

Used by 339 students in 27 courses

Description: The preview edition of Levin's Discrete Mathematics: an Open Introduction, 4th edition. This version is under heavy development and might change without notice.

Register for dmoi-4

keywords:

Used by 232 students in 25 courses

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

Register for odeproject

keywords:

By: Greg Hartman

Used by 196 students in 21 courses

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

Register for APEX

keywords:

By: Jennifer Firkins Nordstrom

Used by 151 students in 10 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: Jordan et al.

Used by 116 students in 34 courses

Description: Introductory and Intermediate Algebra

Register for orcca

keywords:

By: Tom Judson

Used by 102 students in 15 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: Steven Schlicker, Mitchel T. Keller, and Nicholas Long

Used by 75 students in 10 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:

Used by 65 students in 21 courses

Description:

Register for int-algebra

keywords:

Used by 33 students in 9 courses

Description:

Register for ExcelCalculus

keywords:

Used by 33 students in 5 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: Ken Levasseur and Alan Doerr

Used by 27 students in 5 courses

Description: A two semester discrete math text.

Register for ads

keywords:

By: sean-fitzpatrick

Used by 22 students in 2 courses

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

Register for linearpython

keywords:

By: StevenClontz

Used by 17 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 7 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

By: Dr. Jan Pearce

Used by 56 students in 5 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 34 students in 15 courses

Description:

Register for CS1-Python-Subgoals

keywords:

Used by 18 students in 5 courses

Description:

Register for peerplus

keywords:

Used by 3 students in 2 courses

Description:

Register for pretextguide

keywords:

Used by 2 students in 1 course

Description: This book is mostly for testing WeBWorK and Runestone

Register for PTXWW

keywords:

Python Experiments

Used by 2,243 students in 31 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 556 students in 18 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 487 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 226 students in 3 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 163 students in 9 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 117 students in 4 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 75 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 48 students in 6 courses

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

Register for python-swap2

keywords:

Used by 29 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 18 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 11 students in 2 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 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 p3dndta

keywords:

By: barbarer

Used by 7 students in 3 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 3 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 3 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:

By: barbarer

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

Web programming

Used by 6,282 students in 467 courses

Description:

Register for webfundamentals

keywords:

introcs

Used by 1,744 students in 3 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.