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)
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
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.
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.
The OK Server collects student submissions, displays students submissions, and provides a dashboard for instructors to control their assignments.
The OK Client allows students to check their solution against tests locally, answer free response questions, and submit to OK Server.
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
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.
- 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.
You can request access by sending an email to denero@berkeley.edu with details about your use case.