150 likes | 297 Views
It Seemed Like a Good Idea at the Time…. Katherine Deibel University of Washington. drizzly. It was a dark and stormy night at the University of Washington… 90 minutes until latest Data Structures project was to be turned in… I was the graduate TA…. My apartment, 10:30pm…
E N D
It Seemed Like a Good Idea at the Time… Katherine Deibel University of Washington
drizzly It was a dark and stormy night at the University of Washington… 90 minutes until latest Data Structures project was to be turned in… I was the graduate TA…
My apartment, 10:30pm… Nursing the aches of a first year graduate student course load… Undergraduate TA handling the turnin at midnight… I decided to check e-mail one last time before bed…
CHAOS! PANIC! Students could not log in… programs were freezing… I contacted a student by IM… I realized I had to handle this personally…
Undergraduate lab, 11:00pm… All students were panicking … I managed to find a terminal with ‘top’ running… I yelled for my students to terminate their programs… It was too late…
So What? • An assignment crashed a server… big frickin’ deal right? • But this assignment had been used before with no problems… What was different this time?
The Programming Assignment • Word Frequency Analysis Tool:Implement an unbalanced BST, AVL tree, and a Splay tree where a node <key, value> represents <word, frequency> • Extra Credit:Use gprof to profile your three trees. Run your trees on two inputs: • Any file from Project Gutenberg • The provided file: words.txt a.k.a. The Unix Dictionary
Let’s Do The Math… Unbalanced BST + 45,424 ordered words = BAD (1) (1) + code profiler running = MORE BAD (2) (2) >6 instances running on the same server = REALLY BAD (3) (3) all instances running at same priority = SERIOUSLY REALLY AWFULLY BAD
Again… So What? • The lesson is • Use a smaller file next time or • Teach the students to use ‘nice’ • True, but… • This had not been a problem before • Some students successfully profiled their code • Again, what was different? • Something motivated more students to do the extra credit than in previous course offerings
A New [Better] Grading Policy • Joint decision and effort by myself and the undergraduate TA • Both of us graded the assignments • I graded the theory side: • Correctness, • Complexity • Generalizability • Hannah graded the software engineering side: • Programming style • Documentation
Before: Summative assessment Surface grading of code Few grader comments Correctness most important element Style worth 1-2 pts Programs worth 20 pts Perfect scores common Now: Formative assessment Deep grading of code Many grader comments All elements weighed equally Style worth 20+ pts Programs worth 80+ pts More points lost What This Change Meant Students panicked about grades!
The Mystery Solved • We failed to emphasize • Non-perfect scores were expected • Performance would be curved • Students leapt at chance to recover points • More students doing extra credit • More strain on undergraduate servers
Our Mistakes: Redux • Provide too large of an input file • Should have taught students about ‘nice’ • Changed grading policies without addressing underlying student culture about grades and points • Checking my e-mail that one last time before bed