Monday, July 1, 2019

Summer Software Engineering Reflections

My summer course just ended last week.  I taught Software Engineering, a senior-level course--which is against-the-norm for the summer.  The class was kept intentionally small because I was ramping up a new project and using the very new style of grading I've been going with since last fall.  (I was working on my own project solution concurrently with the students.)

Without revealing too much to my students this fall, here's the DAG for Project 0:

The basic idea behind this is that students can't get points for completing something until they complete the stuff coming before it.  They get the points by showing off their code to me in meetings.  This both lets them redo stuff if it isn't really finished and breaks up the grading so I don't have to find a block of time to get them all done at once.

I also like this because there are extra parts that are not necessary for moving on that students can do to exercise their creative sides.  I can also let students propose new goals to add to the project DAG, then make that available to everyone in the course.

The summer course went really well!  The projects were all really great, and they were each very different even though we were all working in close proximity.  I just barely finished my own version on the last day of class.  (Pedagogically, this is upsetting; realistically, it's rarely feasible for me to complete all my assignments before the students see them on the first run.  Ten years in and I still can't stay far enough ahead.)  These students did amazing work, despite me lagging behind!

Perhaps most important: this is the first time I got all of the students to really implement OO design patterns.  This crop best knows what's going on here.

It took nine tries to get this course right, but I really hope that this means everything will go smoothly starting this fall with the 10th iteration.  (We'll be doing Photo Albums then too, but hopefully they won't get too much of a jump start from this post.)

My current plan is to have the students program some Combinatorial Games again in the Fall of 2020.

I have really good plans for the lecture notes for this course, but that's a ways down the line.

No comments:

Post a Comment