eBook, PDF, source filesPaperback from AmazonPCC Print CenterWeBWorK content

eBook: (this is the Spring/Summer 2018 edition until mid August 2018)

PDF: (this is the Spring/Summer 2018 edition until mid August 2018)

Source Files:

ORCCA Part 1 (Chapters 1-4) Edition 1.0 for Academic Year 2018/9

ORCCA Part 2 (Chapters 5-9) Edition 1.0 for Academic Year 2018/9

Part I: Order Number TBD

Part II: Order Number TBD

Part III: Order Number TBD

If you are interested in using ORCCA in conjunction with WeBWorK for online homework, please contact

For a demo, see


In July 2016, PCC's strategic planning initiative awarded funding for math faculty to produce a complete OER for precollege algebra. The book has a working title of ORCCA (Open Resources for Community College Algebra).

At PCC, these materials will cover the sequence MTH 60/65 (or its alternatives MTH 61/62/63 or MTH 70) and MTH 95. The textbook is being written using PreTeXt, which provides

  • an e-book, free to everyone
  • a print book synchronized with the e-book, available for free as an electronic pdf, or for cost plus overhead at the PCC bookstore
  • embedded online homework problems using the online homework platform WeBWorK

Work began in summer of 2016.
The MTH 60 portion of the book was piloted by 11 PCC faculty in Fall 2017, 12 in Winter 2018, and 9 in Spring 2017.
The MTH 65 portion of the book was piloted by 7 PCC faculty in Winter 2018, and 9 in Spring 2017.
The MTH 95 portion of the book was piloted by 10 PCC faculty in Spring 2017.

Starting in Fall of 2018, all face-to-face sections of MTH 60/65 will use ORCCA. Online sections may choose to use ORCCA or a specified commercial textbook. For MTH 95, all sections may choose to use ORCCA or a specified commercial textbook.

The content of the early editions is driven by PCC's Course Content and Outcome Guides for these courses. The approach to the content is partly informed by the authors' understanding of how this content is currently taught at PCC, and partly informed by published research on improving student success at these levels. It is our hope that over time, ORCCA replaces the CCOG in the sense that it becomes the CCOG. Committee work that has been put into CCOG development and textbook searches in the past will instead be put into making this book suit our needs.

Pilots During the 2017/8 Academic Year

This information is now gathered at a separate Pilot page.


If you have observations to share with the writing team, you can submit them here. You may submit trivial issues like say a typo, or more weighty observations such as specific ways in which a topic could be handled better, etc.

ORCCA Feedback Form

Here is a Google Groups discussion forum used a lot during early development stages, but still active with occasional posts:!forum/orcca-precollege-algebra-textbook

Contributing to ORCCA (Not intended for general audiences; This content will be moved to a child page at some point.)

If you would like to contribute to ORCCA (including working on your own separate branch of the book) you will need some orientation and assistance getting started. In the future there may be tutorials (with videos) for doing this. For now, please contact to discuss it.

For PCC faculty and others contributing to the main branch of the book here is some background, followed by suggested workflow.


The ORCCA repository uses git software for version control. Technically, that means the project is decentralized and there is no place where the "true" source resides. However, we will view the PCCMathSAC account on GitHub as holding the "true" source for the project. The address for this repository on that GitHub account is

Nicknames for Repositories

(Because of a misunderstanding early on in this project, the following information will conflict with the understanding of early contributors. Early contributors should study the following even more carefully to correct this.)

Traditionally with a project that uses git and GitHub, the nickname "upstream" to refer to the "true" source. In this case, that is the repository at Also traditionally, "origin" refers to someone's personal GitHub account and their fork of the repository. For example, Ann Cary has a copy of the repository at, and to her (and her alone), "origin" should mean that repository. To anyone else, "origin" should mean that person's own GitHub fork.

Names for Branches

Each repository has "branches" where slightly different versions of the project reside. At this point, we will have two branches. The first is named "master" which is a traditional name for the main branch. This branch has the state of the project as of the last release. Also when there is something small to edit, this branch will accumulate such edits. Such as typos, math errors, and small improvements that change the eBook without making it diverge in meaningful ways from the print edition. We do not make changes to this branch that would change any numbering, WeBWorK problem seeds, etc. We must keep in mind the users that refer to both the current print version and the eBook in tandem.

The other branch is named "edition". First of all, every change to "master" will automatically be merged into "edition" as well. But this branch also accumulates more significant edits, including any rearrangement of content, addition/deletion of significant content, any edits that change numbering or WeBWorK seeds, etc.

If you end up working on a version of the book for your own students or your own institution, it is probably best to create a new branch for that.

Names for Tags

There are certain development points that are true milestones. Such as the moment a PDF is sent to the printer for an edition printing. These points are "tagged". A tag is like a branch, but cannot evolve. Also a tag is not always automatically transferred when pushing and pulling from one repository to another. At this point, there is only one tag: "edition-gamma".

Your Local Repository

Your work station should have the ORCCA repository, along with both branches (master and edition). To check, run "git branch". There may be more branches and that is OK. Your local repository should recognize two remote repositories on GitHub: "origin" and "upstream". To check, run "git remote -v".


The following assumes some basic familiarity with git, including how to use "git status", "git diff", and how to stage and commit edits using "git add" and "git commit".

Suppose you see a typo, or something small scale. You should checkout your local master branch ("git checkout master"). Then make the edit, stage it, and commit it. Then push master to origin ("git push origin master") and then make a pull request from your GitHub account's master into the PCCMathSAC master. This will be reviewed and approved, and then PCCMathSAC's master will also be merged into PCCMathSAC's edition, so that the working next edition also gets the small-scale edit.

Suppose you are working on something more substantial. You should checkout your local edition branch ("git checkout edition"). Then make the edit, stage it, and commit it. Then push edition to origin ("git push origin edition") and then make a pull request from your GitHub account's edition into the PCCMathSAC edition. This will be reviewed and approved.

Note: If you try to checkout some branch and git says no it won't do that, it probably means that you have uncommitted edits to certain files that would be obliterated by checking out some other branch. You can either directly address those issues (stage and commit appropriately or revert them to their unmodified state) or you can use "git stash" to temporarily stash the modifications away. It's easy for newcomers to get confused by "git stash", so seek guidance before using it.

Suppose you end up accidentally doing two kinds of the above things at the same time. Like, in the same file you have edited typos (which should be committed to master) and you have added an entire subsection (which should be committed to edition). Don't panic. With tools like "git stash", and selective staging with "git add -p", you can separate your two edits cleanly. You could also just put it all into edition, and separately make a smaller edit and pull request to master. Seek guidance as needed.

  • No labels

1 Comment