Most computer science educators hold strong opinions about the “right” approach to teaching introductory level programming. Unfortunately, we have comparatively little hard ev...
Jaime Spacco, Jaymie Strecker, David Hovemeyer, Wi...
ion is a critical concept that underlies many topics in computing science. For example, in software engineering, the distinction between a component’s behavior and its implement...
Coercing new programmers to adopt disciplined development practices such as thorough unit testing is a challenging endeavor. Test-driven development (TDD) has been proposed as a s...
Courses in Relational Databases largely use a domain-specific design approach different from that used in the rest of the curriculum. Use of the Unified Process, UML, and Design P...
The educational content of a technical topic consists, ultimately, of elementary chunks of knowledge. Identifying and classifying such units -- Testable, Reusable Units of Cogniti...