Computer Science Education Group
As computer science educators, the lab director and many of the faculty research advisors are always interested in ways to improve the learning experience for students. Our lab's research in this area is very hands-on, making direct use of classroom experience and interaction as part of the process.
Project: Distributed Expertise Learning Modules
Purpose: Recognizing the reach of Computer Science into every other discipline, this project focuses on the development of interdisciplinary learning modules that provide engaging and easy-to-use materials for teaching Computer Science concepts in courses in other disciplines
Researchers: Tom Way, Boots Cassel, Josh Tackett
This work is inspired by, built upon, and supported in part by, NSF CISE IS-0829616 and CPATH 0935942 Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
Project: Using Magic & Theater to Teach Computer Science
Purpose: Based on success of 5 years of the Villanova Science and Theatre Magic Program summer camp, this project will focus on computer science education. The main goal at present is to determine the parameters and focus of the project and develop a grant proposal for submission.
Researchers: Tom Way, Mary-Angela Papalaskari, Najib Nadi, many other Villanova faculty, staff and students.
Visit the Science & Theatre Magic Program web site for more information.
Project: Inventive Computer Science Teaching Techniques
Purpose: Develop a comprehensive taxonomy of computer science topics and associate with it a list of inventive teaching techniques.
Researchers: Tom Way
Research alumni: Kallie Nordengren
The goal of the project is to develop a comprehensive taxonomy of computer science subjects and enhance the collection with references to, or ideas for, innovative approaches to teaching these concepts. The taxonomy would be comprised of all of the major topics taught in a "typical" computer science curriculum, as well as all of the subtopics that are explained within those major topics. The teaching approaches could include hands-on exercises and demonstrations, other active participation exercises, and any other non-traditional approaches to teaching the concepts. I believe that this centralized collection of ideas would be an extremely valuable resource to computer science educators.
Project: Software Engineering Education
Purpose: Develop new techniques for teaching Software Engineering at the college level
Researchers: Tom Way, Sandhya Chandrasekhar (Agile Research), Arun Srinivasa Murthy (Agile Research)
Traditional software engineering courses consist of a theoretical or business side in which the arcana of the subject are presented, including process models, organizational structures, and product lifecycle fundamentals, and a practical side with the individual development of a full software specification as part of a team-based project. Sometimes the project is implemented, although not usually through a full product lifecycle.
Drawing from our software industry background, we have developed a broader "company-based" approach that has the goal of modeling the true software development industry experience as completely as possible, while still providing students with the fundamental theories and concepts of good software engineering practice.
Students are still required to write a full software specification, while the team-based framework has been expanded to include an entire section (or two) of the course in a single team. Extensions of the small team-based technique include class wide brainstorming sessions to elicit requirements and determine product features, departmentalization of students into task-based teams that are responsible for development of the company web site, testing, distribution, specification, front-end implementation, module implementation, etc., distributed team membership (team members may come from both sections of the course, for example), and a weekly "engineering meeting" that is modeled after real-world meetings. Another innovation is that "travel" must be pre-approved by the project leader (the instructor), with "travel" meaning any face-to-face meeting with a student from the other section of the course. Electronic communication in all its varied forms was encouraged and necessary. Students were exposed to the frustrations and exhilarations of coordinating a large group, with many overlapping subgroups, to achieve a common goal.
This research led to an initial published paper (SIGCSE 2005), with more refinements and research planned. A longitudinal study of past students is in the works to gauge the true utility of the company-based approach. Future direction of this research may lead to the development of a research lab revolving around such a course, where students will be part of the lab, proposing and developing new products or participating as a part of on-going projects. Enrolling in Software Engineering would ultimately mean being hired on for a semester in the research lab.
Purpose: Gain deeper understanding of the under-representation of women in computing sciences and determine ways to increase representation and retention. In particular, this project is interested in why even women from economically, academically and socially "advantaged" backgrounds are under-represented.
Researchers: Tom Way
Researcher Alumni: Ebony Taylor
Women in Computing: Past, Present & Future - a significant study was conducted to gain a better understanding of why women continue to be underrepresented in the computing sciences. Ebony Taylor has researched the issue from the historical perspective, and looked at trends and statistics from recent years, to provide a basis of understanding. An online survey was conducted to measure current causes, beliefs and gender differences as they relate to women in the computing sciences. Current plans are to further refine the research results in preparation for submission to a conference or journal.
Possible paper outline (SIGCSE, 5 pages):