GithubHelp home page GithubHelp logo

grade50's Introduction

Grade50

Bash scripts to help with the grading of CS50 problem sets. Feel free to PR with alternatives.

Usage

Get and set up the repo:

update50
git clone https://github.com/raphaelrk/grade50.git
cd grade50
find . -type f -name "*.sh" -exec chmod 777 {} \;

Use the scripts:

cd pset4
./retrieval.sh
./grade_all.sh
./bmp_grade_all.sh # specific to pset 4

Update the repo:

update50
cd grade50
git pull
find . -type f -name "*.sh" -exec chmod 777 {} \;

What the scripts do:

  • ./retrieval.sh retrieves pset submissions and combines them into per-student folders, i.e. grade50/pset4/briansmith/resize.c, grade50/pset4/briansmith/recover.c, etc
  • Grade an individual folder by cd-ing into it and running ../grade.sh, which'll both output to stdout and to a file called check50.txt in the student's folder
  • Grade all the folders in your pset's directory at once with ./grade_all.sh

grade50's People

Contributors

haelannaleah avatar lukejacksonn avatar raphaelrk avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

grade50's Issues

Timeouts

check50 has timeout functionality built into it for code that, for example, contains an infinite loop. However, the ps5 grade_all.sh also runs valgrind on student code. valgrind does not automatically timeout for programs that never exit. Because of this (especially for less-comfortable sections), I would recommend running all non-check50 commands processing student code with something along the lines of timeout 60s <CMD> <ARGS>.

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.