Assignments
Assignments are first-class objects in Galah and the API commands on this page are how you can create and make changes to them.
Tip: there is a convenient shortcut for referencing assignments described on the shortcuts page.
Command Name | Description |
---|---|
assignment_info | Print attributes describing a particular assignment. |
assignment_progress | Print information on how your students are progressing on a particular assignment. |
create_assignment / modify_assignment | Create an assignment or change certain attributs of a particular assignment. |
delete_assignment | Delete an assignment and all of its student's submissions. |
upload_harness | Uploads the test harness for the designated assignment. |
Prints all the properties of an assignment.
assignment_info assignment
$ assignment_info 50907cca55c4481a5027103c
--Acting as user jsull003@ucr.edu--
Properties of Assignment [id = 50907cca55c4481a5027103c, name = World Domination Domination]:
for_class = 509066e855c448134f67b3e4
due_cutoff = 2012-12-01 23:59:59
name = World Domination Domination
due = 2012-12-01 23:59:59
admin and teacher users can use this command.
Creates or modifies an assignment.
create_assignment name due for_class [due_cutoff = ''] [hide_until = '']
modify_assignment id [name = ''] [due = ''] [for_class = ''] [due_cutoff = ''] [hide_until = '']
- id
- The assignment to modify.
<dt>name</dt>
<dd>The name of the new assignment.</dd>
<dt>due</dt>
<dd>The due date of the assignment. Must be in a format similar to `10/20/2012 10:09:00`.</dd>
<dt>for_class</dt>
<dd>The class the assignment will be created under.</dd>
<dt>due_cutoff</dt>
<dd>The cutoff date of the assignment. This is when students will no longer be able to submit at all. Must be in a format similar to `10/20/2012 10:09:00`</dd>
<dt>hide_until</dt>
<dd>If specified, the assignment will not be visible to students until this time.</dd>
Here we will create an assignment named World Domination due on October 31, 2012 at 10:09 AM for the class CS 9000.
$ create_assignment "World Domination" "10/31/2012 10:09:00" CS\ 9000
--Acting as user jsull003@ucr.edu--
Success! Assignment [id = 50907cca55c4481a5027103c, name = World Domination] created.
If we want students to not be able to submit at all after midnight of October 31, we could instead do this.
$ create_assignment "World Domination" "10/31/2012 10:09:00" CS\ 9000 "10/31/2012 23:59:00"
--Acting as user jsull003@ucr.edu--
Success! Assignment [id = 50907db055c4481a5027103d, name = World Domination] created.
Here we will rename an assignment named World Domination to Local Domination.
modify_assignment 50907cca55c4481a5027103c "Local Domination"
--Acting as user jsull003@ucr.edu--
Success! The following changes were applied to Assignment [id = 50907cca55c4481a5027103c, name = World Domination].
Name changed from 'World Domination' to 'Local Domination'.
Now we will change that same assignment back to World Domination, change its due date, change what class it's for, and add a cutoff date.
modify_assignment 50907cca55c4481a5027103c "World Domination Domination" "12/01/2012 23:59:59" "CS 10" "12/02/2012 23:59:59"
--Acting as user jsull003@ucr.edu--
Success! The following changes were applied to Assignment [id = 50907cca55c4481a5027103c, name = Local Domination].
Name changed from 'Local Domination' to 'World Domination Domination'.
Due date changed from '2012-10-20 10:12:00' to '2012-12-01 23:59:59'.
Cutoff date changed from 'None' to '2012-12-01 23:59:59'.
Class changed from Class [id = 5090634855c448134f67b3e3, name = CS 9000] to Class [id = 509066e855c448134f67b3e4, name = CS 10].
admin and teacher users can use both commands. Teacher users can only create or modify assignments for classes they are assigned to.
Gets class-wide information on how students are doing on a particular assignment.
assignment_progress id [show_distro = '']
- id
- The assignment to check the progress of
<dt>show_distro</dt>
<dd>If not the empty string, a score distribution will be printed. See the examples below.</dd>
$ assignment_progress "CS 1000"/"Assignment 4" true
--Acting as user john@school.edu--
66 out of 87 students have submitted
-- Grade Distribution (Points: # of students) --
0: 1
1: 1
11: 5
68: 1
70: 3
73: 1
75: 2
78: 1
79: 1
80: 44
21: 1
31: 1
60: 1
63: 1
This command can be performed by teacher and admin users.
Deletes the given assignment.
Because deletion of assignments is a very expensive process (because all of the submissions made to that assignment need to be deleted from the database AND the filesystem), this call will return immediately and Galah will perform the actual deletion eventually.
delete_assignment assignment
Here we delete the assignment Lots of Assignments - Part 4.
$ delete_assignment 9001/"part 4"
--Acting as user jsull003@ucr.edu--
Assignment [id = 509c595a55c44810f90ec14f, name = Lots of Assignments - Part 4] has been queued for deletion. Please allow a few minutes for the task to complete.
admin and teacher users can use this command. Teacher users can only delete assignments for classes they are assigned to.
Uploads a harness for the given assignment.
upload_harness assignment harness config_json
Here we upload a harness that has been tar'ed and zipped for the assignment Lab 1 in the CS 10 course.
> upload_harness "cs010_13fal/Lab1" lab1.tgz config.json
INFO: Executing upload_harness command on Galah as user someone@fake.edu.
Test Harness [id = 525f20a985fe9d4df7bc3fb8] successfully created
admin, teacher and teaching assistant users can use this command. Teacher and teaching assistant users can only upload harnesses for assignments in a class they are assigned to.
Please help make this wiki better, and report any bugs in the client!
General
Commands by Genre
Commands by Name
- assign_teacher
- assignment_info
- assignment_progress
- change_submission_grade
- class_info
- create_assignment
- create_class
- create_user
- delete_assignment
- delete_class
- delete_user
- drop_student
- enroll_student
- find_class
- find_user
- get_archive
- get_csv
- modify_assignment
- modify_class
- modify_user
- modify_user_deadline
- rerun_harness
- reset_password
- unassign_teacher
- user_info
- upload_harness