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.
Used by 191,169 students in 10,108 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 forcsawesome
Used by 24,048 students in 1,418 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 formobilecsp
Used by 1,639 students in 97 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 foralexainspace
Used by 255 students in 37 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 forBHSawesome
Used by 249 students in 120 courses
Description: CSAwesome2 is the newest AP CSA Java curriculum approved to meet the 2025-2026 College Board standards and an introductory college-level computer programming course in Java.
Register forcsawesome2
By: David M Diez, Mine Çetinkaya-Rundel, Leah Dorazio, Christopher D Barr
Used by 14 students in 1 course
Description: Advanced High School Statistics
Register forahss3rd
By: Brad Miller, PhD. Professor Emeritus Luther College
Used by 669 students in 3 courses
Description: This book will help you get the most out of the features of Runestone Academy.
Register forinstructorguide
Used by 572 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 foroverview
Used by 168 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 forauthorguide
By: Thomas W. Judson
Used by 49 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 forPTXSB
Used by 1,003 students in 81 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 forFOPP-PIE
Used by 362 students in 24 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 forcomplex
Used by 378 students in 28 courses
Description: Computings impact on Justice: From Text to the Web
Register forcomp-justice
By: Mark Guzdial
Used by 357 students in 26 courses
Description: Computing for Creative Expression
Register forcomp-expression
Used by 30,769 students in 826 courses
Description: The Second Edition. You are better off using the 3rd now.
Register forpythonds
Used by 3,951 students in 254 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 forcppds
By: Bradley N. Miller, David L. Ranum, Roman Yasinovskyy, J. David Eisenberg
Used by 1,184 students in 75 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 forjavads
Used by 688 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 forpythoned
Used by 153 students in 15 courses
Description: This is a Bridges Data Structures Textbook @shelf Data Structures Textbooks
Register forbridgesds
Used by 124 students in 7 courses
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 forcppds2
By: Brad Miller, David Ranum, Roman Yasinovskyy
Used by 30 students in 1 course
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.
Register forpswadsup
Used by 124,278 students in 5,094 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 forthinkcspy
Used by 41,058 students in 2,326 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 forfopp
Used by 11,572 students in 658 courses
Description: This book is a fork of the CSAwesome with most of the AP CS A references removed
Register forcsjava
Used by 2,299 students in 148 courses
Description: The original open source intro to computer science textbook. Great for students of all ages.
Register forhttlacs
By: Matthew Hrehirchuk, Eric Chalmers, Charlotte Curtis, Patrick Perri
Used by 1,850 students in 143 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 forfoppff
By: Ralph Morelli, Ralph Walde, Beryl Hoffman, David G. Cooper
Used by 1,817 students in 145 courses
Description: Objects first textbook for Java
Register forjavajavajava
Used by 1,209 students in 61 courses
Description: A CS0 / AP CS Principles level text intended for students new to computer science.
Register forwelcomecs2
By: Brad Miller
Used by 5,158 students in 348 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 forhttlads
Used by 30,728 students in 1,277 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 forpy4e-int
Used by 3,800 students in 148 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 forcpp4python
Used by 138 students in 12 courses
Description: This is the PreTeXt alpha version of a short ebook that 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 forcpp4py-v2
By: Oscar Levin
Used by 1,711 students in 126 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 fordmoi-4
By: Matthew Boelkins
Used by 1,429 students in 118 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 forac-single
By: Oscar Levin
Used by 1,229 students in 124 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 fordmoi
By: Greg Hartman
Used by 346 students in 34 courses
Description: A traditional calculus textbook with many exercises and few proofs, covering calculus from limits to vector calculus.
Register forAPEX
By: Jennifer Firkins Nordstrom
Used by 289 students in 23 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 forDiscreteMathText
By: Steve Schlicker, Mitchel T. Keller, Nicholas Long
Used by 235 students in 36 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 foracmulti
By: Tom Judson
Used by 160 students in 25 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 forAATA
By: David Austin
Used by 129 students in 18 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 forula
By: Faculty
Used by 128 students in 37 courses
Description: Introductory and Intermediate Algebra
Register fororcca
By: sean-fitzpatrick
Used by 80 students in 12 courses
Description: A linear algebra textbook using Python and interactive Runestone exercises
Register forlinearpython
By: Ken Levasseur and Alan Doerr
Used by 48 students in 8 courses
Description: A two semester discrete math text.
Register forads
By: StevenClontz
Used by 29 students in 1 course
Description: Activities and exercises for easily implementing Team-Based Inquiry Learning in a single-variable calculus classroom.
Register fortbilla
By: Gregory Hartman, Ph.D.
Used by 22 students in 4 courses
Description: A traditional calculus textbook with many exercises and few proofs, covering calculus from limits to vector calculus.
Register forAPEXPROTEUS
By: davidmaustin
Used by 13 students in 2 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 forula-proteus
By: Dr. Jan Pearce
Used by 100 students in 8 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 foropensource
Used by 67 students in 10 courses
Description: A hands-on introduction to Open Source collaboration using a git/gitHub forking workflow.
Register forgitkit2ed
By: Robert A. Beezer, David Farmer, Alex Jordan, Mitchel T. Keller
Used by 24 students in 3 courses
Description:
Register forpretextguide
By: Sara Nurollahian
Used by 21 students in 2 courses
Description: A simple string (no markup is allowed) to describe your book.
Register forcodestructure-implicit
By: Sara Nurollahian
Used by 18 students in 2 courses
Description: A simple string (no markup is allowed) to describe your book.
Register forcodestructure-explicit
Used by 4 students in 1 course
Description: This book is mostly for testing WeBWorK and Runestone
Register forPTXWW
Used by 2,356 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 forp3pt
Used by 584 students in 21 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 forclass-exp
By: barbarer
Used by 496 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 forclass-exp2
By: barbarer
Used by 233 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 fordclass-exp
By: barbarer
Used by 192 students in 11 courses
Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson.
Register forpython-swap
By: barbarer
Used by 127 students in 8 courses
Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson.
Register foruc-python-swap2
Used by 81 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 forc3dnd
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 forc-swap
By: barbarer
Used by 59 students in 11 courses
Description: This interactive ebook was created by a ITiCSE working group led by Dr. Barbara Ericson.
Register forpython-swap2
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 forclass-tog
Used by 25 students in 6 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 forp3tog
By: barbarer
Used by 18 students in 8 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 forp3dndta
By: barbarer
Used by 15 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 forp3dnd
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 forclass-ta
By: barbarer
Used by 8 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 forp3-dist
By: barbarer
Used by 6 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 fordpython-swap
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 to test code writing problems with Parsons problems as help versus code writing problems with no additional help.
Register fordclass-tog
By: barbarer
Used by 5 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 fordp3pt
Used by 2 students in 1 course
Description: This interactive ebook was created by a ITiCSE working group to test the effects of solving Parsons problems with and without distractors.
Register foragent-eval-parsons-problems-pre
Used by 1 students in 1 course
Description: This interactive ebook was created by a ITiCSE working group to test the effects of solving Parsons problems with and without distractors.
Register foragent-eval-parsons-problems-post
Used by 3,484 students in 11 courses
Description: The original open source intro to computer science textbook. Great for students of all ages.
Register formines_csstem
Used by 344 students in 50 courses
Description: This book is for a one-semester course in differential equations.
Register forodeproject
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.