Archive for March 26, 2013

Guided Computer Science Inquiry in Data Structures Class

Inquiry-based learning is the best practice for science education.  Education activities focus on a driving question that is personally meaningful for students, like “Why is the sky blue?” or “Why is the stream by our school so acidic (or basic)?” or “What’s involved in building a house powered entirely by solar power?”  Answering those questions leads to deeper learning about science.  Learning sciences results support the value of this approach.

It’s hard for us to apply this idea from science education and teach an introductory computing course via inquiry, because students may not have many questions that relate to computer science when they first get started.  Questions like “How do I make an app to do X?” or “How do I use Snap on my laptop?” are design and task oriented, not inquiry oriented.  Answering them may not lead to deeper understanding of computer science.  Our everyday experience of computing, through (hopefully) well-designed interfaces, hides away the underlying computing.  We only really start to think about computing at moments of breakdown (what Heidigger called “present-at-hand”).  “Why can’t I get to YouTube, even though the cable modem light is on?” and “How does a virus get on my computer, and how can it pop up windows on my screen?”  It’s an interesting research project to explore what questions students have about computing when they enter our classes.

I realized this semester that I could prompt students to define questions for inquiry-based learning in a second computer science class, a data structures course.  I’m teaching our Media Computation Data Structures course this semester.  These students have seen under the covers and know that computing technology is programmed.  I can use that to prompt them about how new things work.  What I particularly like about this approach is how it gets me out of the “Tour of the Code” lecturing style.

Here’s an example.  We had already created music using linked lists of MIDI phrases.  I then showed them code for creating a linked list of images, then presented this output.

An image created with PositionedSceneElement nodes

I asked students, “What do you want to know about how this worked?”  This was the gamble for me — would they come up with questions?  They did, and they were great questions.  “Why are the images lined up along the bottom?” “Why can we see the background image?”

I formed the students into small groups, and assigned them one of the questions that the students had generated.  I gave them 10 minutes to find the answers, and then report back.  The discussion around the room was on-topic and had the students exploring the code in depth.  We then went through each group to get their answers.  Not every answer was great, but I could take the answer and expand upon it to reach the issues that I wanted to make sure that we highlighted.  It was great — way better and more interactive than me paging through umpteen Powerpoint slides of code.

Then I showed them this output from another linked list of images.

Images that are both positioned and layered

Again, the questions that the students generated were terrific.  “What data are stored in each instance such that some have positions and some are just stacked up on the bottom?” and “Why are there gaps along the bottom?”

Still later in the course, I showed them an animation, rendered from a scene graph, and I showed them the code that created the scene graph and generated the animation.  Now, I asked them about both the animation code and the class hierarchy that the scene graph nodes was drawing upon.  Their questions were both about the code, and about the engineering of the code — why was it decomposed in just this way?



(We didn’t finish answering these questions in a single class period, so I took pictures of the questions so that I could display them and we could return to them in the next class.)

I have really enjoyed these class sessions.  I’m not lecturing about data structures — they’re learning about data structures.  The students are really engaged in trying to figure out, “How does that work like that?”  I’m busy in class suggesting where they should look in the code to get their questions answered.  We jointly try to make sense of their questions and their answers.  Frankly, I hope to never again have to show sequences of Powerpoint slides of code ever again.




March 26, 2013 at 1:57 am 7 comments

Free Early-Career Learning Sciences Workshop at CMU LearnLab

Call for Participation

2nd Annual Learning Science Workshop
Research and Innovation for Enhancing Achievement and Equity
June 22-23
Carnegie Mellon University
Pittsburgh PA
Applications Due May 5, 2013

*No Cost To Attend*


LearnLab, an NSF Science of Learning Center (SLC) at Carnegie Mellon and the University of Pittsburgh, has an exciting summer research opportunity available to early career researchers in the fields of psychology, education, computer science, human-computer interfaces and language technologies.

The workshop is targeted to senior graduate students, post-docs and early career faculty. The workshop seeks broad participation, including members of underrepresented groups as defined by NSF (African American, Hispanic, Native American) who may be considering a research or faculty position in the learning sciences.

This two-day workshop immediately precedes the LearnLab Summer School ( Our research theme is theresearch and innovation for enhancing achievement and equity, including these five areas:

* Enhancing Achievement through Educational Technology and Data Mining. Using domain modeling, and large datasets to discover when learning occurs and to provide scaffolding for struggling students. See

* 21st Century Skills, Dispositions, and Opportunities. Re-examining the goals of education and assessment and considering transformative changes in how and where learning occurs.

* Opening Classroom Discourse. Studying how classroom talk contributes to domain learning and supports equity of learning opportunity. See LearnLab’s Social-Communicative Factors

* Course-Situated Research. Running principle-testing experiments while navigating the complex waters of real-world classrooms.

* Motivation Interventions for Learning. Implementing theory based motivational interventions to target at risk populations to improve robust student learning. See

The substantive focus of the workshop is the use of current research and innovations to enhance achievement and equity at all levels of learning. Activities will include demonstrations of the diverse set of ongoing learning sciences research projects at LearnLab, and poster presentations or talks by participants. Participants will also meet with LearnLab faculty in research groups and various informal settings. We will provide information about becoming a part of the Carnegie Mellon or University of Pittsburgh learning science community.

In addition to these substantive themes, the workshop will provide participants with opportunities for professional development and the chance to gain a better understanding of the academic career ladder. These include mentoring that focuses on skills, strategies and “insider information” for career paths. Sessions will include keynote speakers and LearnLab senior faculty discussing professional development topics of interest to the attendees. These may include the tenure and promotion process, launching a research program, professionalism, proposal writing, among other topics. There is no cost to attend this workshop

We are very pleased to announce that the workshop will have two distinguished keynote speakers:

Nora S. Newcombe, Ph.D. is the James H. Glackin Distinguished Faculty Fellow and Professor of Psychology at Temple University. Dr. Newcombe is the PI of the Spatial Intelligence and Learning Center (SILC), headquartered at Temple and involving Northwestern, the University of Chicago and the University of Pennsylvania as primary partners. Dr. Newcombe was educated at Antioch College, where she graduated with a major in psychology in 1972; and at Harvard University, where she received her Ph.D. in Psychology and Social Relations in 1976. She taught previously at Penn State University.

A nationally recognized expert on cognitive development, Dr. Newcombe’s research has focused on spatial development and the development of episodic and autobiographical memory. Her work has been federally funded by NICHD and the National Science Foundation for over 30 years. She is the author of numerous scholarly chapters and articles on aspects of cognitive development, and the author or editor of five books, including Making Space: The Development of Spatial Representation and Reasoning (with Janellen Huttenlocher) published by the MIT Press in 2000.

Tammy Clegg, Ph.D. is an assistant professor in the College of Education with a joint appointment in the College of Information Studies at the University of Maryland. She received her PhD in Computer Science at Georgia Tech in 2010 and her Bachelor of Science in Computer Science from North Carolina State University in 2002. From 2010-2012 Tamara was a postdoctoral fellow at the University of Maryland with the Computing Innovations Fellows program. Her work focuses on developing technology to support life-relevant learning environments where children engage in science in the context of achieving goals relevant to their lives. Kitchen Chemistry is the first life-relevant learning environment she designed along with colleagues at Georgia Tech. In Kitchen Chemistry, middle-school children learn and use science inquiry to make and perfect dishes. Clegg uses participatory design with children to design these new technologies. Her work currently includes creating new life-relevant learning environments (e.g., Sports Physics, Backyard Biology) to understand how identity development happens across these environments. From this analysis, she aims to draw out design guidelines for life-relevant learning activities and technology in various contexts (e.g., sports, gardening).

About LearnLab

LearnLab is funded by the National Science Foundation (award number SBE-0836012). Our center leverages cognitive theory and computational modeling to identify the instructional conditions that cause robust student learning. Our researchers study robust learning by conducting in vivo experiments in math, science and language courses. We also support collaborative primary and secondary analysis of learning data through our open data repository LearnLab DataShop, which provides data import and export features as well as advanced visualization, statistical, and data mining tools.

To learn more about our cognitive science theoretical framework, read our Knowledge-Learning-Instruction Framework.

The results of our research are collected in our theoretical wiki which currently has over 400 pages. It also includes a list of principles of learning which are supported by learning science research. The wiki is open and freely editable, and we invite you to learn more and contribute.

Application Process

Applicants should email their CV, this demographic form, a proposed presentation title and abstract, and a brief statement describing their research interests to Jo Bodnar ( by May 5, 2013. Please use the subject Application for LearnLab Summer Workshop 2013. Upon acceptance, we will let you know if you have been selected for a talk or poster presentation.


There is no registration fee for this workshop. However, attendance is limited so early applications are encouraged. Scholarships for travel are available. Scholarships will be awarded based on your application, including your research interests, future plans, and optional recommendation letter.

March 26, 2013 at 1:45 am Leave a comment

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 6,246 other followers


Recent Posts

Blog Stats

  • 1,655,073 hits
March 2013
« Feb   Apr »

CS Teaching Tips