Thinking Through Programming
Programming assignments traditionally involve some problem analysis, algorithm design, and typing/testing code. While designing a new Level II course, I wanted to provide for a different way of thinking about problems and to integrate real-world context. I developed a two-part assignment on secure coding for database applications, specifically teaching students about SQL-injection attacks and how to defend against them. Instead of giving students a paragraph-long program description, I provided a couple of articles and links.