15
It Seemed Like a Good Idea at the Time… Katherine Deibel University of Washington

It Seemed Like a Good Idea at the Time… Katherine Deibel University of Washington

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

It Seemed Like a Good Idea at the

Time…

Katherine DeibelUniversity of Washington

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…

drizzly

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…

Students could not log in… programs were freezing…

I contacted a student by IM…

I realized I had to handle this personally…

CHAOS! PANIC!

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…

I got to bed about 1:30AM

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

What This Change MeantBefore:

• 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

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