auto-graded programming exercises -...
TRANSCRIPT
Auto-graded Programming
Exercises
OCC Flex Day Fall 2017 - Session # 7
Why Auto-graded Programming Assignments?
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
1. Students need more
programming practice
Programming is a skill, like
playing the Tuba
They cannot passively absorb it
2. Students need more, quicker
focused feedback
3. Hand-grading stacks of
programming assignments is
tedious & ineffective
Consistency very hard to achieve
Feedback often perfunctory
How to Use Prewritten Auto-graded Exercises
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Get Gmail account for school
Don't use personal account
Give students link to Google Doc
Example homework assignment
How to Use Prewritten Auto-graded Exercises
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
All students have a Google Drive
Make a copy in their own Drive
They can make their own notes
Homework never gets lost
Ask for screen shots
Source code and score report
Student save as PDF then upload to
Canvas
You grade with Speed Grader
How to Use Prewritten Auto-graded Exercises
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Quickly see submitted code
I'll use examples in lecture or to
help me notice things that
students don't understand
Keep points low to discourage
cheating, but keep points high
enough so that students will
actually do the assignments
I suggest 10-15% for
assignments
Codingbat (codingbat.com)
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Nick Parlante (Stanford, Google)
Java & Python problems
Functions/Methods only
Well organized by topic, difficulty
Free, no login, no ads, reliable
If students create account, then
you can collect assignments
Use Excel for grading
Custom pages, problems
Con: best known, so students
can just Google most problems
Practice It (practiceit.cs.washington.edu)
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Stuart Regis & Marty Stepp at
University of Washington
Originally for textbook Building
Java Programs
Students must create account
No ads, students can see solution
No teacher features (PrenHall)
CS1, 2 Java & new JavaScript
Wide variety (not just functions)
No customization
Good source for your own
problems and for test questions
Code Step By Step (www.codestepbystep.com)
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Developed by Marty Stepp
(now at Stanford)
Students must login, cannot
"squash" ads (top/bottom)
Problems in C, C++ (355), Java
(405), Python (310), PHP, C#
(322), HTML & CSS, JavaScript
(230), ML, Racket & Ruby
Also good source for problems
Teacher features
No customization
Code Check (horstmann.com/codecheck)
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Developed by Cay Horstmann at
San Jose State
Free, no login, no ads
Java and Python exercises from
Horstmann text books
Usually from previous versions
Server can be temperamental
Used for Wiley textbooks so
usually comes back up quickly
Can host your own problems
Java, C++, Python, Racket, C#
CodeCheck Canvas Submission
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Program written to bulk-grade
Codecheck assignments
Students upload JAR file for each
part of assignment
Download assignments
Run script to produce text report
Run script which updates grades
on Canvas
Code is free, but I found it was
more work than it was worth
Docs & Downloads
Bitbucket repository
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Can use custom pages to group
together assignments for a
particular class
Can create account with "fake"
email address for class
No way to recover if you lose pw
All pages start with:
codingbat.com/home/<email>
Good example (& samples)
http://codingbat.com/home/[email protected]
Codingbat Custom Pages
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Custom problems are easy to
write if they match CB style
Must be a "function" problem
You write a working version
Provide input test cases
Run to find out actual values
Documentation:
codingbat.com/authoring.html
Codingbat Custom Problems
Custom CodeCheck Problems
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
C++, Java, Python & Racket
Convention over configuration
Easiest one to write tests for
Simply mark up a single file
Wider type of tests than
Codingbat
Authoring Docs
Zip, upload and save URL
Seems to stay forever
Testing Frameworks for non Web
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
C++ CS150Check
Works with any IDE
I'm using it with Linux this
semester
Make a solution and
compile tests into a
library
Give students starter
code with library in
project
Auto submit it web app
Testing Frameworks for non Web
25-Aug-17Auto-graded Programming Exercises - Stephen Gilbert
Java, use JUnit and
custom runner with
custom Dr Java
Have the library code
compiled into DrJava
Write a test and give
students only class file
Dr Java, selects and runs
the tests
Example assignment