In Computer Science, it is important to engage the students in the topic and show that it is both fun and pervasive. The discipline is pervasive because it expands past the bounds that many students realize when they start out, and I believe it is the role of the instructor in any course to break down this boundary and show how important and exciting this discipline is. For example, the practices in formal logic include mathematics and philosophy, while algorithmic and system designs in CS impact healthcare, architecture and building design, security, and many other disciplines. An instructor who shows real-world examples and relates the material studied to all these areas will properly engage the students with the heart of Computer Science.
As an instructor, I believe it is important to ground any course in these real-world examples, illustrating the high-level concepts and materials. I also believe that students play the largest role in the learning process; therefore, their interests and backgrounds should shape the direction of course examples, with students collaborating on and proposing the topics of course projects and homework assignments.
- CS6354 Graduate Computer Architecture, University of Virginia
- CS2110 Software Development Methods, University of Virginia
- CS2220 Engineering Software, University of Virginia
- CS3205 HCI in Software Development, University of Virginia
- CS304 Computer Organization, College of William and Mary
- CS2110 Software Development Methods, University of Virginia, Computer Science
- CS131L Concepts in Computer Science Lab Section (as TA), College of William and Mary, Computer Science
- CIS206 Unix Administration I, ECPI University
- CIS250 SQL Database Scripting, ECPI University
- CIS282 XHTML Web Programming, ECPI University
- CIS305 Unix Administration II, ECPI University
- CIS311/311L Web Site Management using Linux and Apache, ECPI University
- CSA112/113 Keyboarding, Medical Careers Institute
- CSA128 Computer Applications, Medical Careers Institute