I teach courses in Human-Computer Interaction at both the graduate and undergraduate level. I also teach a course in Rapid Prototyping and Interface Building. Currently I’m working with Professor Bruce Long to develop and teach the new Media Computation in Java course, which will be an introductory programming course taught as a flipped class.
Intro to Human-Computer Interaction (ITIS 3130 and ITIS 6400/8400)
This class is a team-project based course that covers the complete design cycle: need-finding, prototyping, implementation, user testing. We also cover basic graphic design and usability principles, human abilities and special topics. The graduate version of this course is identical to the undergraduate: it is an intro course for people who haven’t been exposed to HCI before. The graduate version has a little bit more theory and PhD students have to do an extra paper and presentation.
Rapid Prototyping and Interface Building (ITIS 3150)
This class gives students practical hands-on experience with a wide variety of software and interaction prototyping methods and tools. I cover card sorting, storyboarding, wireframing, paper prototyping, video prototyping, digital prototyping and wizard of oz techniques. The second half of the course involves building interactive applications using Java and the Netbeans GUI builder, following the Model-View-Controller paradigm.
Media Computation (ITIS 1212)
This is a class designed to introduce students to computer science and programming through the manipulation of media objects. This classe is based on the model developed by Mark Guzdial at Georgia Tech, however, we have developed our own set of labs that can be autograded, and we are teaching this as a flipped class – no lectures. Students consume the relevant material through watching videos before they come to class. Class time is spent on lab activities and peer instruction quizzing. Because we are using Java, students immediately begin working with classes and objects, and learn basic programming concepts through the use of objects. Concepts covered include constants, variables, methods, parameters, arrays, looping, conditionals and operators. We also cover public vs. private, variable scope, number systems and method overloading.