Skip to content

IQSS/prefresher

Repository files navigation

Math Prefresher Text

Github All Releases

(view this book on a browser or in a PDF)

The Harvard Gov Prefresher is held each year in August. All relevant information is on our website, including the day-to-day schedule and the current instructors.

The booklet maintained in this repository is the text for the Prefresher, and is the accumulation of continuous improvements by previous instructors for the past 25 years (See the title page for the full list). Christopher T. Kenny is the repository maintainer. Shiro Kuriwaki was the repository maintainer from 2018 to 2023.

Technical: How the book is compiled

The text for the book is originally written in RMarkdown following the bookdown template, which allows interweaving prose and code. RMarkdown is converted into markdown (with generated code output) and again converted into a book by pandoc. Two formats are provided: a HTML version and a PDF (generated by TeX). The HTML version is hosted on a website listed above.

The repository is also associated with a set of scripts that automatically compiles and deploys the new book to the URL (https://iqss.github.io/prefresher/). Here is basically how it works:

  1. A Travis-CI app is linked to this repository. The .travis.yml file in the repository is what Travis runs.
  2. First, Travis creates a virtual machine, downloads all the materials on the master branch of the repository, starts a R session, and installs the R packages listed in DESCRIPTION.
  3. Then, according to the .travis.yml file, Travis runs the shell scripts _build.sh. This compiles the Rmd files and images into a html book format (in the virtual machine).
  4. Then, Travis runs the second script, _deploy.sh. This shell script clones the gh-pages branch of the repo into a sub-directory of the repository (called book-deploy). Then, it removes the content of that cloned copy and then copies the compiled html (in _book) into book-deploy. It tracks that contents of book-deploy and pushes it back up to the gh-pages branch.
  5. The repository is separately setup with Github Pages, which is designed to notice any index.html and associated html files in the gh-pages branch and upload the html into a book format at https://iqss.github.io/prefresher/.
  6. Every time a commit is pushed to a branch, it will trigger Travis to run procedures 1 through 6. This is the same for pull requests to merge those branches into master. Travis will check beforehand if the merged branch will compile. This is useful to test out the compilation in the cloud before you alter master.

This system follows the guidelines outline in the bookdown manual.

Contributing

This material is maintained under a GPL License, and other insturctors are welcome to fork, clone, or make copies of the material. Comments and suggestions are also always welcome.

You may also be interested in a paper about the prefresher:

The "Math Prefresher" and The Collective Future of Political Science Graduate Training, by Gary King, Shiro Kuriwaki, and Yon Soo Park.