Barry Peddycord III

Teaching Portfolio

PTP Reflection for Homework Assignment

One of my tasks for my first semester in the PTP program was to develop a homework assignment for the course. In the most recent evaluations of the curriculum, it was noted that students needed more exposure to topics in cybersecurity. Being from a cybersecurity background, I decided to implement an assignment for Homework 3 that required students to implement the straightforward DES cryptography algorithm. I developed the write-up, instructor solution, and test cases for the assignment and was hoping that it would give students a chance to implement a real algorithm that requires them to deeply understand low level bitwise operators.

This assignment backfired spectacularly, with less than half of the class completing it. When I realized that the assignment might be well over the students' heads, I relaxed the requirements to where students did not have to have a running program, and I would manually inspect their code and give partial credit for a solution that used the bitwise operators correctly (as those were the learning objective). Going through and investigating student code was a very helpful experience since it gave me a chance to see the fundamental difficulties that students were having when working on the programming projects. As an expert, I take for granted that students know how to break a problem into concrete steps, but seeing the student submissions showed that this was something that needs to be more intentionally taught throughout the course. We decided not to revisit the homework assignment in Spring, but I still kept in mind the problems I saw in the assignment and how to address them going forward.

This assignment is what led to the formalization of the part of my teaching philosophy where I state that students should be able to independently fill in the blanks as computer scientists. The ultimate goal as a computer scientist is to be able to see a description of an algorithm and understand how to turn that description into a running program, so this assignment was very authentic in that regard. Whenever I give homework assignments, I make it a point to be even more explicit as to why homework assignments are designed the way they are, what students are expected to get out of them, and how to independently figure out if they are on the right track or not. This assignment reinforced the importance of scaffolding in student projects.