- Computer Science Pedagogy
- Computers and Software in Pedagogy
- Global Software Engineering Pedagogy
- Computation in Humanities and STEM
- Computing for the Social Good
The overarching goal of my research is to make the teaching of computer science more effective. It addresses the questions of ”how do students learn computer science”, ”how can we make computer science concepts more accessible” and ”how can we improve pedagogy through more effective computer based tools”. Though this research is mostly centered on computer science, the concepts and tools often apply across disciplines and I have also applied the research to the liberal arts. Results of this research fall into several categories:
• An environment and method for teaching the programming languages course (MuLE).
• An approach to teaching that leverages student’s familiarity with social media to enhance learning especially from textbooks (Classroom Salon)
• New approaches to computer science pedagogy in fields that I teach. These include:
– Creation of best practices for integrating global development into software engineering.
– Improved pedagogy in lower level computer science courses through the creation of a framework for integrating social good into computer science pedagogy.
– A new pedagogical approach to teaching upper level computer science courses that integrates multiple fields into a single course.
• Pedagogies for applying computation to the liberal arts. These includes:
- Smart tutorial websites in STEM
- A new approach to teaching liberal arts courses on location using mobile technology. – A program for teaching computational thinking to faculty.