Computer Science

Education, Society, and Profession

Develop and increase digital literacy for older people, including working side by side with them (and their electronic devices) in local libraries. Teach kids to code—and give their teachers the tools and confidence to bring computational thinking into classrooms. Develop the communication skills of future software professionals. Improve software development among teams from multiple disciplines. We work to improve how humans communicate and learn in computer-intensive environments.

"As computer scientists, we must be sensitive to the learning challenges of our current and future students, as well as the people who use the applications we build. Digital literacy is a basic human need."Charles Wallace, associate professor, computer science

Current Projects

Project Title: Team Learning

Investigator: Robert Pastel

Overview: Current software is developed in two pizza teams composed of diverse members. This project studies students learning in small diverse teams 

Project Title: Transdisciplinary Education

Investigator: Robert Pastel

Overview: Wicked problems are solved by individuals working in a single discipline. This project studies students learning to work across disciplines in transdisciplinary teams.

Project Title: Visualization and Analysis for C Code Security (VACCS)

Investigators: Jean Mayo, Ching-Kuang Shene

Sponsor: National Science Foundation

Overview: The execution of C programs is challenging to understand. This project is developing an Eclipse module and visualization system to help students understand how C programs execute and the programming practices that commonly result in security vulnerabilities.

Project Title: Agile Communicators: Preparing Students for Communication-Intensive Software Development Through Inquiry, Critique, and Reflection

Investigator: Charles Wallace

Sponsor: National Science Foundation


This project addresses a significant, important, and largely overlooked need in the education of future software professionals: thorough, sustained instruction in the communication skills required for real software development. The quality of team communication is widely acknowledged to be a key factor in the success or failure of software projects. The fast pace and constant change of today's software workplace demand an Agile approach, i.e., drive by constant team and customer communication.

The goal of the project is to strengthen the Agile communication characteristics of proactivity, flexibility, and creativity among computer science and software engineering students. Communication-intensive activities are woven through introductory courses in a variety of ways. The well-established Process Oriented Guided Inquiry Learning (POGIL) framework will provide a structured approach to inquiry. Automated feedback on test coverage, programming style and code documentation will be provided through WebTA, a tool that supplements instructor feedback with continual critique of code and documentation. A program of guided inquiry through case studies of software communication prepares students for their team software activities, and a series of reflective exercises will lead them to focus on their own team communication practices.


Jean Mayo

  • Associate Professor, Computer Science
  • Graduate Program Director, Computer Science

Area of Expertise

  • Distributed Systems
  • Operating Systems
  • Security
  • Computer Science Education

Nilufer Onder

  • Associate Professor, Computer Science
  • Associate Chair, Computer Science
  • Undergraduate Program Director, Computer Science

Area of Expertise

  • Artificial Intelligence
  • Automated Planning and Scheduling
  • Computer Science Education
  • Student Persistence in STEM

Linda Ott

  • Professor, Computer Science

Area of Expertise

  • Software Measurement
  • Software Processes
  • Software Engineering Education
  • Women in Computing
  • Retention in Undergraduate CS Education

Robert Pastel

  • Associate Professor, Computer Science
  • Affiliated Associate Professor, Cognitive and Learning Sciences
  • Faculty Advisor, Humane Interface Design Enterprise

Links of Interest

Area of Expertise

  • Mobile App Design and Usability
  • Software Development and Processes
  • Computer Science Education

Charles Wallace

  • Associate Professor, Computer Science
  • Affiliated Associate Professor, Cognitive and Learning Sciences

Areas of Expertise

  • Software Requirements
  • Human-Centered Computing
  • Communication in Software Development
  • Formal Methods
  • Software Engineering Education
  • Agile Development Methods
  • Cyberlearning

Explore Computer Science Research