Giter VIP home page Giter VIP logo

csm-61c's Introduction

csm-61c

The central repository for CSM 61C worksheets.

The repository is split up into two subsections. src denotes the current set of worksheet templates which draw their questions from the pool of topics.

The style is provided by commonheader.sty.

Deployed Handouts

Making Handouts

To make an individual worksheet, run the following command in the repository's root directory.

make mentor00

To make multiple worksheets at once, modify the Makefile by adding the names of the worksheets you'd like to make, and the solutions as necessary.

RELEASED = mentor00 mentor01 mentor02
SOLUTIONS = mentor00 mentor01

Then, run make all to build all the worksheets in the published directory.

If necessary, clean the local files with make clean.

Contributing

Get LaTeX

To contribute, first get LaTeX. This repository requires additional packages which may not be included in all basic LaTeX distributions, especially the monospace font Inconsolata. In Ubuntu's TeXLive distribution, the font can be found in the texlive-latex-extra package.

If you do not already have LaTeX installed and would prefer the most minimal installation necessary, obtain LaTeX from CTAN and adapt the .texlive.sh script and .texlive.profile configuration for your needs.

For Mac, install Mactex (http://www.tug.org/mactex/).

Branch off master

After cloning the repository and setting up LaTeX, pull in any updates from Github origin.

git checkout master
git pull

Then, create a new branch off master and give it a descriptive name.

git checkout -b fa17/mentor04

Make changes

Make changes as you would normally and commit them incrementally. Write descriptive commit messages and break larger changes into smaller parts.

Using patch mode is recommended when staging changes to ensure only that only the desired diffs are included in the commit.

git add -p

Start in the src directory and edit the handouts in question. Note that the repository has split up handouts from their questions: all questions are stored in individual files under topics for version control and maintainability.

After making a few changes, verify that the changes appear as expected by re-making the handouts. The handouts build to the published directory.

make clean && make mentor04 && make mentor04_sol

Once satisfied, push the branch to Github origin.

git push -u origin fa17/mentor04

Pull request

On the Github web interface, create a new pull request for the branch, assign the current maintainers for review, apply relevant labels, and set the milestone to the current release target.

Travis will automatically spin up a new build for the branch and perform a status check to verify that the handouts compile successfully. If there are errors, you may want to double check that all the handouts build locally.

make src

Once the changes have been accepted by a maintainer, they can be merged into the master branch. This will spin up another Travis build and automatically publish the updated handouts to Github Pages within a few minutes.

csm-61c's People

Contributors

dzdaniel84 avatar dli0818 avatar kliu28 avatar zbpatel avatar sunaypoole avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.