Skip to content

Latest commit

 

History

History
100 lines (61 loc) · 4.56 KB

ok.md

File metadata and controls

100 lines (61 loc) · 4.56 KB

OK helps instructors run better programming projects by running tests, tracking student progress, and enabling automatic grading.

Contact us to use our hosted service (http://okpy.org) for your course.

The ok.py software was developed for CS 61A at UC Berkeley, a large in person introductory programming course (~800 to 1700 students/semester). Ok is currently used by multiple computer science courses at a variety of locations.


[OK Assignment Bank >](assignments.html)

Ok Software Suite

The OK software suite is comprised of three parts: a server, a client, and the autograder.

  • Server: Hosted Web Application to store submissions
  • Client: Enables students to run tests locally and submit
  • Autograding: Secure grading of student code.

If you are an instructor you may use any (or all) of the three parts for your programming project. In combination, the software suite makes running projects

Use OK in your course

OK is free to use for computer science educators and their students. You may either self host the server on your school infrastructure or use the hosted version of OK.

You can sign up and evaluate how OK can help your course. As an instructor using OK, you get access to a bank of assignments that are ready to use in your course.

Sign Up >

We'd be happy to help you decide if OK is a good fit. You can email us at ok@cs61a.org or by clicking the "contact us" link.

Contact Us! >

Server

The OK Server collects student submissions, displays students submissions, and provides a dashboard for instructors to control their assignments.

GitHub Repo >

API Docs > Developer Docs >

OAuth2 Login Docs >

Build Status Coverage Status

View Okpy.org >

Client

The OK Client allows students to check their solution against tests locally, answer free response questions, and submit to OK Server.

Build Status

Github Repo >

Documentation >

Assignment Setup Info >

The OK Client supports a variety of languages, including Python 3, SQL, Logic (Prolog dialect), Scheme - and more languages can be added.

It currently requires Python 3 to be installed on the students computer. The client can be run without the use of the server if desired.

You can view the usage of OK Client in a real project Yelp Maps (presented at Nifty Assignments SIGCSE 2016)

# Example Assignment Demo
$ unzip maps.zip; cd maps
$ python3 ok -q 00 -u
$ python3 ok -q 00

Example Assignment >

Server Side Autograder

The Server Side Autograder executes your grading code in a sandboxed container on a remote server.

The autograder supports any language or grading setup that can run in a virtual machine.

API Documentation >

  • Provide feedback to students without distributing the contents of the tests with your project.
  • Quickly grade assignments in OK Server
  • Grade code not submitted through OK through the API

The autograder provides optional email notification and a cooldown period for autograder results.

View Examples >

You can request access by sending an email to denero@berkeley.edu with details about your use case.

Request Access >