Rice 407
P.O. Box 400740
P.O. Box 400740
Charlottesville, VA 22904
My Website



Ph.D., Human Centered Computing, Georgia Institute of Technology

M.S., Computer Science, Southern Polytechnic State University

B.S.E., cum laude, Computer Engineering, Tulane University

Research Interests

Computer Science Education
Broadening Participation in Computing
Increasing K-12 Access to Qualified Computing Teachers

Selected Publications

Reducing withdrawal and failure rates in introductory programming with subgoal labeled worked examples. International Journal of STEM Education, 7, 1-16. 2020. Margulieux, L. E., Morrison, B. B., & Decker, A.
The curious case of loops. Computer Science Education, 1-28. 2020. Morrison, B. B., Margulieux, L. E., & Decker, A.
Subgoals, Context, and Worked Examples in Learning Computing Problem Solving. In Proceedings of the eleventh annual International Conference on International Computing Education Research (ICER '15). ACM, New York, NY, USA, 21-29. 2015. ABS Morrison, B., Margulieux, L., and Guzdial, M.
Measuring cognitive load in introductory CS: adaptation of an instrument. In Proceedings of the tenth annual conference on International computing education research (ICER '14). ACM, New York, NY, USA, 131-138. DOI=10.1145/2632320.2632348. 2014. Morrison, B., Dorn, B., and Guzdial, M.
Adapting the disciplinary commons model for high school teachers: improving recruitment, creating community. In Proceedings of the 9th annual international conference on International computing education research (pp. 47-54). New York, NY, USA: ACM. 2012 Morrison, B., NI, L., Guzdial, M.

Courses Taught

CS 1110 Introduction to Programming
CS 2100 Data Structures and Algorithms 1
CS 2120 Discrete Math and Theory 1
CS 2190 TA Practicum


University of Nebraska Omaha Alumni IS&T Outstanding Teaching Award 2021
Georgia Tech College of Computing Dissertation Award 2018
Foley Scholars Finalist 2015
ICER Chairs’ Best Paper Award 2015
SPSU Outstanding Faculty Award 2002 & 2007

Featured Grants & Projects

Subgoal Labels for Learning Programming A common problem in introductory programming courses is the expert-novice gap between instructors and students. Instructor are experts in the field of computer science, and they have automated much of the programming skills that students are just starting to learn. This automation makes it very difficult for experts to explain their processes and decisions to novices because they execute them without conscious processing, making them feel like its common knowledge, intuition, or “just the way you do it.” To help instructors verbalize this information, we have used a task analysis procedure with introductory programming instructors to identify subgoals of basic programming procedures. Subgoals are functional pieces of the problem-solving procedures, like defining ​continuation or termination conditions for while loops. Using these subgoals, we developed a series of worked example and practice problem pairs for learning to evaluate and write expression statements, selection statements, loops, methods, arrays, and classes (using objects and writing classes). Based on our research, students solve novel problems better when they understand the subgoals of the problem solving procedure. This research started with problem solving in block-based languages and in laboratory settings to determine the size of the effect. In these settings, learners performed 7-8% better on assessments when they received subgoal-oriented learning materials. Recent work has applied subgoal-oriented materials to a Java-based introductory programming course, with data collected from class assignments and tests. We found that the subgoal-oriented materials help students to perform better in this learning environment as well, especially early in the learning process and for students who are struggling in the course.
Read More