Associate Professor, Academic General Faculty, Teaching Track Computer Science
Bio
Ph.D., Human Centered Computing, Georgia Institute of TechnologyM.S., Computer Science, Southern Polytechnic State UniversityB.S.E., cum laude, Computer Engineering, Tulane University
Research interests include:
Computer Science Education, Broadening Participation in Computing, Increasing K-12 Access to Qualified Computing Teachers
Awards
University of Nebraska Omaha Alumni IS&T Outstanding Teaching Award2021
Georgia Tech College of Computing Dissertation Award2018
Foley Scholars Finalist2015
ICER Chairs’ Best Paper Award 2015
SPSU Outstanding Faculty Award2002 & 2007
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. ABSMorrison, 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.
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.