Computer Science Education

Software devleopment is a highly social process, requiring constant interaction with colleagues, planning sessions, and interaction. Throughout my graduate studies, I worked as a research assistant on the NSF ITWF grant "Collaboration through Agile Software Development Practices: A Means for Improvement in Quality and Retention for the IT Workforce." The grant focused on the use of agile software development principles to infuse computer science courses with a more collaborative and social atmosphere. Our goal is to pique their social interests as well as their engineering proclivities.

We supplemented traditional teaching approaches with socially-relevant assignments and projects, rapid feedback and active learning to appeal to a wider variety of students. Our studies have shown that this approach to computer science education alleviates previously existing disparities in classroom performance between students of different personality types and learning styles, and is subjectively more appealing and engaging to a variety of students, including women and minorities.

A key aspect of engaging a diverse sets of students is collaborative learning. In our research and in our classrooms, we have relied heavily on Pair Learning to achieve this goal. The dynamics and benefits of Pair Learning in computer science are similar to those of lab partners in traditional physical sciences. A pair of students are often capable of resolving technical problems that may thwart an individual's progress, students develop a sense of comrarderie and even courage in attacking difficult material, and the interpersonal dialogue stimualtes some of the benefits of active learning and didactic thinking. We have created a web site with resources on Pair Learning, including a 10-minute free video for educators to show their students on the dos and don'ts of pair programming.


Teaching Portfolio

This purpose of this teaching portfolio is to communicate my teaching teaching philosophy, how that philosophy has borne out in my teaching experiences, and how my professional development and research experiences have shaped my teaching philosophy. My primary source of teaching experience has been as a teaching assistant and lab instructor for the undergraduate software engineering course at North Carolina State University. Since my time as a teaching assistant, I have attended numerous professional development activities, including workshops for the Certificate of Accomplishment in Teaching Program at NCSU, and conducted research on computer science education.

Teaching Portfolio Index

Last modified Friday, 15th August, 2014 @ 05:44pm