Home | Research | Computer Science Education

Computer Science Education


What is computing, what does it mean to know it, and how do we optimally teach and assess it? How do we reach broad and diverse audiences, especially dealing with the systematic inequalities surrounding the history of our field and education systems? How do we scale computing education for larger audiences, given the dearth of computing educators? What technology can support student learning, and how do we go about building and maintaining it? These research questions underpin Computer Science Education.

As a CS research area, Computer Science Education is not just about teaching, but the systematic discovery of new pedagogies, the theory-driven design of technologies, and the exploration of how people learn computing. In this context, computing itself is defined broadly beyond just programming, and covering the breadth of topics and application areas within Computer Science. Research in CS Education requires a unique blend of both computational methods and educational theories, with rich connections to other CS subdomains such as HCI, AI, Software Engineering, Program Analysis, and Data Science.

At the University of Delaware, the NSF C-STEM Partner4CS, NSF RPP CS4DE, and NSF INCLUDES WeCompute4Communities project researchers have done groundbreaking work in K-12 CS Teacher professional development, undergraduate service learning to support classroom teachers and after-school CS facilitators.  An NSF-supported IUSE project resulted in professional development for higher ed faculty to integrate computational thinking into their discipline courses.  A CS Google project collaboration between University of Delaware researchers and the Maryland Center for Computer Science Education is developing and implementing professional development for higher education faculty to integrate CT into pre-service teacher courses.  All of these projects are conducting educational research in computing.

At the undergraduate level, the GOLD lab has created award-winning curriculum and tools designed to measurably improve student learning and motivation. We seek to scale introductory computing education to wide audiences with disparate experience levels and different backgrounds. In order to do so, we have built instructor-focused tools for authoring and evaluating semi-automated programming feedback. We have also applied HCI methodology in the design and development of student-facing libraries to make truly intuitive software.

Current Faculty

  • Lori Pollock, Alumni Distinguished Professor: Automatic analysis and mining of software artifacts (codes, question and answer forums, chats, …) to use in building tools to improve software engineers’ efficiency and effectiveness; automation in software testing.
  • Austin Cory Bart, Assistant Professor: Passionate about teaching and developing technology to support education by leveraging the latest learning theory and computational techniques. Equally comfortable as both Software Architect and Educational Researcher, having developed a significant amount of sophisticated software and taught in many contexts. Committed to supporting education and diversity in every discipline, especially Computer Science.
  • Terry Harvey, Associate Professor of Computer Science: He is interested in all aspects of education and teaching, especially those with the potential to expand the CS audience to underrepresented populations.
  • Roghayeh (Leila) Barmaki, Assistant Professor: Multimodal Data Analytics, Human-Computer Interaction, Virtual and Augmented Reality with applications in Healthcare, and Science and Medical Education.


  • CISC357: Engaging Youth in Computer Science
  • CISC374: Learning Game Development
  • EDUC 804: How Students Learn
  • EDUC 815: Design of Learning Environments
  • EDUC 819: Disciplinary Knowledge in Learning Sciences
  • EDUC 850: Qualitative Research in Educational Settings
  • EDUC 856: Introduction to Statistical Inference
  • CISC 667: Communication Skills for CS Researchers
  • CISC 890: Special Interest Group in Computer Science Education

Computer Science Education Laboratories

Software Analysis and Compilation Laboratory

213 Smith Hall, Professor Lori Pollock.

Our research focuses on software artifact analysis to automate and semi-automate tedious and error-prone tasks typically performed by software engineers, testers, and scientists. Current research projects include applying natural language processing and machine learning techniques to perform textual analysis of software artifacts and using that information for automatically generating documentation from source code, improving code search, and improving other software maintenance tools.  We mine and analyze the code itself, question and answer forums, and chat forums where software developers communicate regularly to share and learn knowledge.

Goal Oriented Learning and Discovery Lab

411 Smith Hall, Professor Austin Cory Bart

We aim to measurably improve learning, particularly in Computer Science, through the use of data- and theory-driven technology development. Projects involve tools to support semi-automated instructor-authored feedback, pedagogical libraries suitable for students, and instrumenting instructionally-designed courses for iterative analysis and development