Archive for March, 2009

A good example of what I am talking about

So Dan Meyer (a favorite math blogger of mine) recently wrote a blog about “will the ball hit the can” and explained why he likes these types of questions better than what you find in standard textbooks.

I think Dan’s take on questions based in real world situations and media are a great way to foster 21st century skills. His original post on the subject here shows the image with no measurements added, and earlier in the series spoke about how framing the measurements required is an important part of understanding the situation and circumstances.

I think we are guilty in introductory computer science of doing what the textbook authors do. We try to scaffold our problems to provide students with all the information they need, and only the information they need in order to solve problems.

Just a few more cents..

Tuesday, March 31st, 2009

More about 21st Century Skills and Computer Science

This post was inspired by a number of readings/images that have come across my desk in the last two days.

First, a large conversation in Washington DC happened and was written about by Common Core, Flypaper, and several other ed blogs that I read. There is an ongoing push for “21st century skills” in the classroom (as I have written about before) and I’m not sure we are going in the right direction by the policy makers.

Today I read a very brief article by Arthur Lewis from Educational Leadership, published in 1983 entitled “Education for the 21st Century”, and referenced by a conversation starter from ASCD. In the article Lewis makes SEVERAL excellent points about the changes in society and how education should reflect them. He states:

The information era differs from the industrial era in several significant ways:

  • The core of the industrial age is powered machinery; the core of the information era is the computer.
  • The industrial age replaced manual work and magnified physical strength; the information era enables us to replace mental work and magnify mental capabilities.
  • Goods are produced in the industrial age are expended; information, the product of the information era cannot be depleted.
  • Energy - oil, coal, nuclear power - is the driving force in the industrial age; education is the driving force in the information era.
  • Arthur is almost a visionary as he states:

    More and more careers will require backgrounds in science, mathematics, and computer science. Fewer careers will be open to the undereducated. Just increasing course requirements, however, will not produce the high quality of education we need. Skills that today are considered higher level, such as problem solving, creativity, analysis, synthesis, critical thinking, and communication, will become essential for many workers in the future.

    Unfortunately our education seems to have continued down the wrong path, even as Arthur identified the problem “In both reading and mathematics, we focus on the skills that are easiest to teach and learn and neglect the higher-level skills - the very skills necessary for our survival.”

    It seems that computer science is going in that direction also sometimes. Not through any teachers intent, but instead through a stagnation of our curriculum while the discipline moves forward in leaps and bounds. When we teach introductory concepts they should be framed inside of larger questions (yes, I have argued for this in the past too). No the understanding of those larger concepts are not part of what is easy to learn or assess from our students, but they do introduce critical thinking as a part of the programming process.

    I think I will leave this post with another quote - this is one of the two things that Arthur believes is important to do so that we can prepare our students for this century.

    We can help students develop skills of reading, writing and computing. While they will need skills in accessing information, information alone is not enough to solve problems. The ability to comprehend that information - to analyze it, synthesize it, and apply it in a value oriented way - is also necessary.

    Tuesday, March 31st, 2009

    The relationship between research and development

    In the paper “Cognitive Tutor: Applied research in mathematics education” by Ritter, Anderson, Koedinger and Corbett the authors talk about the development and evaluation of the cognitive tutor system for mathematics.

    What struck me in the article was a section entitled “The Relationship Between Research and Development”. In that section the authors write:

    In our view, scientifically based research involves more than the demonstration that a curriculum is effective. An esential component is an explanation of why the curriculum is effective. Without a theoretical framework as a guide to understanding the conditions that lead to effective mathematics instruction within a curriculum, we have little hope of replicating success so that we can expand and imporve instruction over time.
    We think of the process of building a research-based curriculum as having four components: (1) basing the curriculum on a solid theoretical foundation, (2) applying the basic theory to the particular domain and objectives of interest, (3) evaluating results, and (4) developing and implementing a methodology for improving the curriculum on the basis of use.

    I think this is one of the things that makes excellent education research hard. Not only do we need to understand our domain in order to do steps 3 and 4, there needs to be a grounding in theory for steps 1 and 2 that is often not part of the standard computer science preparation coursework.

    Maybe this is why we engage in things like the language wars. Seymour Papert in Mindstorms laid out a developmental argument for logo and basic with elementary school children. For our HS and college introductory students our argument moves away from cognitive factors and into “usefulness” or “real world”. Are those the right questions to ask? Yes and no I think.

    More importantly though, what are the research foundations or the basic principles that underlie cognitive science as applied to computer science education. Here are some of the ones that I think about, let me know if you think any should be added to the list:

    Memory: How is memory represented in the brain?
    Models: How do students percieve, retrieve, and apply models they have either inferred or learned? (this could be a model of software, a model of program flow, I think the patterns in programming fall under this category a little, but I have not seen much research into how this aligns with cognitive science.)
    Motivation Theory: What are the underlying processes of motivation as they apply to learning? I’m taking a course in this now and its very interesting.
    More: What other cognitive processes affect how students learn computing?

    We seem to often focus on the intervention and the outcome without always paying attention to the underlying science behind why something should work. I know there are people out there looking at the underlying processes (I’m not saying its not being done) I just think we need more of it :)

    Monday, March 30th, 2009

    Ada Lovelace Day

    Today in celebration of Ada Lovelace Day I am going to write about a series of women who currently inspire me in computer science and CS education.

    Michelle Hutton is currently the president of CSTA and teaches computer science to middle school girls in silicon valley. Despite classifying herself as more of a teacher and less of a computer scientist (something I myself do), I have the best conversations about computer science content and pedagogy with her. She inspires me to find more places and times in which computer science can be shared with everyone. Recently at SIGCSE I met Jill Pala from the Girls Preparatory School in Chattanooga TN. Jill is also teaching computer science to a wide variety of girls and works hard to keep her classes new and fun.

    Chris Stephenson is a role model to me as a change agent in computer science education at the K12 level. The work that she does with computer science teachers and to further the cause of computer science recognition as a real subject at the K12 level is outstanding.

    Kami Vaniea is a graduate student here at CMU in the department of computer science. She inspires me because as one of the next generation of computing specialists she, and all the other grad students here, chose to enter this field and pursue these degrees despite all the stereotypes. Kami is passionate about what she does and it shows when you talk to her about her research.

    To ALL my girls that I taught - regardless of where you are now. The magical powers abound in you. Not only to see you through your education and the path you choose but to also inspire those around you. On the days I did not want to be alive, you brought me back. Sharing the code fish, offering a joke, playing go, and reminding me why I work so hard. You are my true inspiration.

    Wednesday, March 25th, 2009

    Back at the Robot Symposium

    Zach Dodd from Harvey Mudd started the afternoon off with some explorations of using Robots in the CS1 course at the university. They created a lab/seminar type program using the create platforms in order to try and raise participation within his students.

    Dave Touretzky got up and talked about Tekkotsu environment, its a programming environment that is aimed at giving undergraduate junior and senior CS majors the ability to do real robotics (not legos) in context.

    Wednesday, March 4th, 2009

    Pico Crickets

    Robbie Berg from Wellesley is talking about a program they had called Robotic Design Studio - a course where students create interesting robots to show off in a a symposium type structure.

    From there they worked to create the Pico Cricket kits that look fantastic. I wonder how I can get my hands on one to play with - and maybe to recommend to the new SciTech Middle School in Pittsburgh. I think that it would not be threatening to the teachers there, and would therefore have a better chance of becoming a persistent part of the curriculum.

    Wednesday, March 4th, 2009

    Liveblogging the Future of Robots in Educaiton Symposium

    SIGCSE always has workshops the day before the actual conference and I am spending my day mostly at the Future of Robots in Education Symposium. Deepak Kumar is currently giving the Keynote address entitled “What can we learn from Robots?”.

    He is walking us through some of the “getting started” code or directions from several robot platforms (Myro, Tekkotsu, Scratch with Pico Crickets, and others).

    He lists some challenges for Educational Robotics:
    * Design of programming environments, APIs and interfaces
    * Can we make programming with robots as easy as programming with numbers?

    What are the robot abstractions we deal with?
    *Motion Abstractions - forward, turn, move, translate, rotate;
    *Sensor Abstractions - sensor groups (left, center, right), units (mm, cm, ft, robot-units), takePicture, etc.
    * Higher order primitive: perception, mapping, navigation, localization, etc.
    * An innate sense of time: forward(speed, time), while timeRemaining(T):..
    * Parallelism: doTogether(dance(), singSong())

    He has some great ideas about what direction robots need to go in to be useful as an introduction to not only robots but also programming.
    * Can we make robot programming easy and scalable?

    * Can a program be used to control multiple robots?

    Wednesday, March 4th, 2009