The Computer Science Educational Laboratory performs research on teaching computer science at all levels, from elementary school through college. We create software, develop curriculum, and study how students learn computer science. Here is a summary of the different projects happening in the lab:
Depict: Developing Learning Progressions for Elementary Computational Thinking We are developing a curriculum for 4th-6th grade students to teach computational thinking. We will use this curriculum as a vehicle for studying the deeper question of how young students learning computational thinking, as well as how well our curriculum teaches it.
Hairball is an automated feedback system for Scratch or Octopi programs. Scratch is a popular language choice for teaching elementary school and middle school students to program. Unfortunately, many K-8 teachers are not confident in their ability to teach and evaluate programs. In addition, the Scratch GUI does not lend itself to easey evaluation of code. Hairball runs analysis on Scratch and Octopi programs to provide hints as to where students may have made errors, help an evaluator visualize the flow of computation, and provide any other assistance needed for evaluating Scratch or Octopi projects.
Octopi is a Scratch variant. This provides a GUI that has some elements hidden so that students are neither distracted nor overwhelmed by the wealth of blocks that Scratch provides. The suggested use in a curriculum is to gradually hide less and less of the interface, gradually introducing students to complex programming constructs as they build confidence in their skills.
KELP CS (Kids Engaged in Learning Programming) is the name of our 4th-6th grade computational thinking curriculum. This consists of a combination of FiredUp (paper-pencil) activities modified from and inspired by CS Unplugged, and WiredUp (on-computer) activities in Octopi.
submit.cs is an automated feedback system for use in college-level courses. The purpose of this system is to provide good feedback for students in early classes to improve their programming. We place a special emphasis on practical, non-technical issues associated with such feedback systems, including student satisfaction and errors in generating test case results.
Bryce Boe - CS
Stacey Carpenter - Education
Hilary Dwyer - Education
Charlotte Hill - CS
Ashley Iveland - CS
Hilary Dwyer, Charlotte Hill, Stacey Patterson, Danielle Harlow, and Diana Franklin, "Identifying Elementary Students' Pre-Instructional Ability to Develop Algorithms and Step-by-Step Instructions," SIGCSE 2014.
Hilary Dwyer, Bryce Boe, Charlotte Hill, Diana Franklin, and Danielle Harlow, "Computational Thinking for Physics: Programming Models of Physics Phenomenon in Elementary School," Physics Education Research Conference, PERC 2013.
Diana Franklin, Phillip Conrad, Bryce Boe, Katy Nilsen, Charlotte Hill, Michelle Len, Greg Dreschler, Gerardo Aldana, Paulo Almeida-Tanaka, Brynn Kiefer, Chelsea Laird, Felicia Lopez, Christine Pham, Jessica Suarez, Robert Waite, "Assessment of Computer Science Learning in a Scratch-Based Outreach Program," SIGCSE 2013.
Bryce Boe, Charlotte Hill, Michelle Len, Greg Dreschler, Phillip Conrad, Diana Franklin, "Hairball: Lint-inspired Static Analysis of Scratch Projects," SIGCSE 2013.
D Franklin, P Conrad, G Aldana, S Hough, N Avalos Cisneros, F Lopez, A Gonzalez, A Hernandez, S Jones, J Lopez, C Lu, N Moreno, P Ortiz, M Rochin, S Smith, "Animal Tlatoque: Attracting Middle-School Students to Computing through Culturally-Relevant Themes," SIGCSE 2011