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 from the Change Course page.

Textbooks:
Description: To register for this book use the code APEX

keywords:

Description: To register for this book use the code boelkins-ACS

keywords:

Description: To register for this book use the code ExcelCalculus

keywords:

Description: To register for this book use the code dmoi

keywords:

Description: To register for this book use the code javajavajava

keywords:

Description: To register for this book use the code Subgoals

keywords:

Intro to Data Science, Intro to Computer Science Textbooks:
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-tufts-es2

keywords:

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-i304

keywords:

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:

Intro to Data Science Textbooks:
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:

Description: To register for this book use the code ac1

keywords:

introcs Textbooks:
Description: The original open source intro to computer science textbook. Great for students of all ages. To register for this book use the code instructorguide

keywords:

Database Textbooks:
Description: To register for this book use the code practical_db

keywords:

Description: To register for this book use the code MasteringDatabases

keywords:

Math Textbooks:
Description: To register for this book use the code fcla

keywords:

Instructor Guide Textbooks:
Description: To register for this book use the code TeacherCSP

keywords:

Description: To register for this book use the code teach-mobilecsp

keywords:

Intro to Computer Science Textbooks:
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:

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:

Description: To register for this book use the code thinkcpp

keywords:

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:

Description: This is mostly the same as thinkcspy but formatted by PreTeXt. We aim to expand on this book adding significantly more Parsons problems and other modern components that have been created since we first converted thinkcspy to Runestone 10 years ago. To register for this book use the code httlacs

keywords:

Algebra Textbooks:
Description: To register for this book use the code int-algebra

keywords:

Language Transition Textbooks:
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:

Description: To register for this book use the code java4python

keywords:

Description: To register for this book use the code JS4Python

keywords:

Data Structures Textbooks:
Description: The Second Edition. You are better off using the 3rd now. To register for this book use the code pythonds

keywords:

Description: To register for this book use the code pythonds3

keywords:

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:

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:

math Textbooks:
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. To register for this book use the code AATA

keywords:

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. To register for this book use the code PTXSB

keywords:

Description: This book is for a one-semester course in differential equations. To register for this book use the code odeproject

keywords:

Author/Instructor Help Textbooks:
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:

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:

Web programming Textbooks:
Description: To register for this book use the code webfundamentals

keywords:

Computer Science Textbooks:
Description: To register for this book use the code apcsareview

keywords:

Description: To register for this book use the code FOPP-PIE

keywords:

Description: To register for this book use the code engr101umich

keywords:

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:

Description: To register for this book use the code bluebook

keywords:

Description: To register for this book use the code technovation

keywords:

Description: A CS0 / AP CS Principles level text intended for students new to computer science. To register for this book use the code welcomecs

keywords:

AP Computer Science Textbooks:
Description: To register for this book use the code StudentCSP

keywords:

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:

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:

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.