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


  • Module Definition - define the specific content needed in each module, such as:
    • Title of the Module
    • Description - on paragraph, explain subject cross-over
    • Faculty Overview - brief document to get faculty member up-to-speed, what the topic is, scope of coverage, what students should know, what faculty should know, instructions, all as self-contained as possible
    • Student Introduction - one page introduction of the topic for students, explain the computing aspects and how they relate to the course subject
    • Lecture Slides - concise presentation materials, including instructor notes, to introduce the topic and activities
    • Activities - "unplugged" or otherwise (about 2 or 3), concept maps (iMap tool?, concept map software), etc.
    • Appropriate software for the topic, as needed
    • Resources - set of resources (online), such as references, articles, videos, visualizations, URLs, etc.
  • Topics - identify and define module topics that contain a significant computer science component that crosses over with the course subject matter. Some ideas are:
    • French Literature - Impact of digitization of classic texts, how it is done, what is lost and gained through use of e-books, Roger Chartier. (collaborator, Seth Whidden)
    • Language - automatic translation from one language to another.
    • Shakespeare - chronologic analysis of Shakespeare's writing style in a theatre class. (collaborator, Steve Tague)
    • Political Science - automatic analysis of Internet content to determine political bias for a specific person or concept, track changes over time.
    • English - automatic outline generation from input text. (Josh Tackett)
    • Math - automatic equation solver. (Josh Tackett)
    • Psychology - personality characteristics designed and exhibited in a digital chatbot.
    • Mobile app development
    • Theatre via skype, collaborative exercise and improv online
    • Cloud computing
    • Multicore and parallel computing
    • Nanotechnology
    • Green computing and green technology
    • Music - collaborative performance technology
    • Journalism
    • Art History - computer vision, symbology
    • Communication - web text analysis, digital filmmaking, filters, graphics, animation
    • Criminal Justice - biometric analysis
    • English - automatic writing, SCIgen automatic research paper generator, detect if material was written by same author, grade level of writing, plagiarism detection
    • Environmental Studies - green computing
    • Geography - Google maps mashup and traveling salesperson problem
    • History - Google maps mashup with historical points
    • Philosophy - Can the Internet prove we exist?
    • Socialogy - social networking.

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.


  • Magical Illusion - continue to devise and refine magic illusion instruction that supports science, and particularly computer science, education. This activity includes development of an instructional handbook for use in a 90 minute session, and a full workbook to support a 3 hour workshop (with extras such as a DVD instruction manual for all tricks, total of 64 or 101 tricks, fully cross-listed topic-to-trick index, etc.)
  • Computer Science Magic - develop SIGCSE 2008 poster entitled "Computer Science Workshops from the Villanova Magic School Science Camp" for Melissa Corning's poster presentation.

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.

Research subprojects:

  • Using Magic to Teach Computer Science - focus on the use of magic tricks and other magical presentations to illustrate computer science topics. This research is based on Dr. Way's background as a professional magician, and on his use of magic in the classroom as a teaching tool.
  • Support the Villanova School of Magic - develop specific applications of the teaching techniques and corresponding magic tricks to support the goals of the Science and Theatre Magic Program.


  • ACM Computing Classification - Hierarchy of the top two levels of the ACM Computing Classification System, could serve as a starting point.
  • Computer Science Unplugged - good resource for off-line learning, without online examples available.
  • Computer Science Education - resource at Duke University.
  • Shannon Pollard and Robert C. Duvall. "Everything I needed to know about teaching I learned in kindergarten," SIGCSE 2006.
  • Robert Duvall and Shannon Pollard. Journal of Computing Sciences in Colleges, Vol. 2, Issue 3, Jan. 2007.

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.

Research subprojects:

  • Applicability of Agile Development to Research Projects - in some circumstances, a research project may adopt the Agile Development approach. This project will survey development approaches that are used for research projects and compare them for effectiveness with Agile approaches that are popular for more traditional software development projects.
  • Reverse Engineering a Course in Software Engineering - survey of working software engineering professionals including administrators, engineers, project managers and team leaders, to determine what qualities and educational experiences would best prepare college students for productive entry into the profession.  This project involves survey of the subject area, design and implementation of an online survey, targeted deployment of the survey, and the collection and analysis of results.
  • Follow up of company-based approach - survey and analysis of the outcomes of students who participated in Dr. Way's company-based approach to a software engineering course in the Spring 2003 and Spring 2004 semesters.  This project involves design and implementation of a meaningful follow-up survey, locating and contacting all former students, and the collection and analysis of survey results.


  • Plan follow-up study, maintain contact list of students, prepare survey
  • Conduct survey, refine methodology
  • Identify candidate publications, write, submit

Project: Representation of Women in Computing

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):

  • Intro - talks about general issues of under-representation
  • Background - lists all of the pertinent and most commonly accepted reasons for under-representation
  • Study - talks about design of survey (electronic version), who was surveyed (students with advantageous academic backgrounds)
  • Results - of survey (quantitative, anecdotal, observations), analysis of results in context of accepted reasons
  • Conclusions, future plans for follow-up survey.



updated: 09/09/11