Computer Science and Theater: Learning by Engagement

In a recent Edutopia article “Stage Craft: Taking Cues from Theater Class to Help Make Math and Science Fun, Why can’t a classroom have the passion of drama or sports?” by Carl Engvall there are some great comparisons that can be made to sports and drama that computer science also embodies.

Carl gave six reasons why students get engaged in sports (he used football as an example) that he also believed motivated students to be interested in drama as well. The six reasons were:

* players are considered active participants rather than passive recipients.
* the unexpected happens all the time, so there’s no time to coast or be unfocused.
* a player can let the team down.
* there’s no such thing as “good enough”; we’re always asking players to excel.
* the adults who participate are genuinely interested.
* a public performance is expected.

I think that these six items are also key cornerstones of good computer science programs as well. The first two are definitely applicable to computer science. We give our students programming tasks to complete with real time feedback (compiler results and on screen results of running test data whether it be through unit tests or just through example cases). If that feedback tells you something is wrong, you are EXPECTED TO FIX IT!!! unlike other classes in school when you get back a paper (perhaps a few days after you turned it in) and you get something wrong, you just shrug, put it away and continue with that day’s activities. In computer science you need to fix things in your program that are wrong in order to complete the assignment.

Letting the team down - Whether you believe in pair programming or not, I love to give my students assignments where the part that they work on plugs into a larger piece and the whole thing needs to work.

The fourth statement - “there is no such thing as good enough”, I have been a strong proponent of that for a long time. I give assignments that are often not worth full credit without at 5-10 point “make it better” clause. This serves not only to drive students to think creatively and reflect on what they are working on, but also to tap into the higher levels of bloom’s taxonomy and encourage them to come up with additions that they can make that are relevant to the assignment as well as functional.

The adults are interested - Most computer science teachers (especially the good ones) are interested in the assignments they give. Contrary to some math classes (not all - I know of some exceptional math teachers) we as a discipline put our heart and soul into the assignments we create. Very rarely do students encounter a program assignment that teachers have the similar investment as a page of algebra problems.

Public Performances - While this doesnt occur with every program assignment I give, there are few where there is not this potential. Many times I do ask a student to share code with the class if they have a creative solution. I not only praise them personally but let them know their contributions are valuable because they thought about something in a different way. I used to have students post in a class discussion board the creative “make it better” solutions they thought of for 2 points as a part of the assignment as well. I think robots are also so popular among educators because of this as well.

Well, I encourage you to reflect on your own practices, how do you incorporate these 6 ideas into your classes? If you have one I didn’t mention please share with the group :) I am astonished at how the readership of this blog is growing, and I think that while I have things to say, by no means do I know it all.

October 5th, 2008, posted by Leigh Ann

The “Smartness” of a generation

A recent article in Education Week, “Are the ‘Millennials’ the Smartest or Dumbest Generation?” by Andrew Trotter made me think not only about the skills that students are coming into my classroom with, but also about what my expectations for them are.

Last year I read a great book “Everything Bad is Good For You” by Steven Johnson. (I recommend you add it to your reading queue if you have not yet read it and you are a CS teacher) It talked about how TV, Video Games and the media are actually working to increase peoples IQ and working memory through training them to deal with complex situations on a daily basis. Now just because I thought the book was great doesn’t mean I agree with all of the author’s premisis - lets just get that out in the open, but I thought it made me think as I was reading it and that in itself is a vote for good :)

So, why does that affect me as a computer science teacher? Well, I have certain expectations of my students not only when I meet them at the beginning of the year, but also throughout. No these are not based on their prior CS knowledge or computing skills, but instead based on their logical reasoning and ability to decompose problems. Maybe I subscribe too much to the theories that Johnson and Trotter are highlighting.

Do I make explicit for my students how to decompose a complex situation into the sub parts or tasks? Do I make assumptions about their inherant ability to think digitally? I dont know. What makes a person smart? and how does that affect the learning outcomes of my course and my intrinsic learner profile?

And what do I want EVERY student who graduates from the 8th grade to know? From the 12th grade? And what is my role in that larger picture? And it may be as small as making my CS program accessible to all who want to take it and at least visible and understandable from the outside to those who choose another course. Where do you stand?

October 1st, 2008, posted by Leigh Ann

Internet Meme..

I dont do a lot of these, but this one I couldnt resist.


NerdTests.com says I'm an Uber Cool Nerd God.  What are you?  Click here!

September 29th, 2008, posted by Leigh Ann

Graduate Reading

Investigating the Viability of Mental Models Held by Novice Programmers Ma, Ferguson, Roper, Wood, SIGCSE 07

A very interesting paper where the authors assessed the mental models of variable assignment and categorized them as either Inconsistent, Consistently Inappropriate, or Consistently Appropriate. Students were then given the final exam and the results were graphed based on which of the three categories they fell into. The consistently appropriate group performed significantly better in the final exam.

You may say, so what? Obviously the students with better models of something as simple as assignment should clearly do better in the long run in the course, right? This leads me to the next paper…

Constructivism in Computer Science Education Ban-Ari, SIGCSE 1998
An excellent paper - I highly recommend reading it to any computer science teacher!!! One of the statements made in the paper is that “According to constructivism, a teacher cannot ignore the student’s existing knowledge; instead he or she must question the student in order to understand what models the student possesses and only then attempt to guide the student to the ‘correct’ theory.

I would say that we do a pretty good job of assuming that our students come to us a black boxes when it comes to computing instructions. Yes we do ascribe some knowledge to the students who have programmed on their own, but how much do we actually devote to finding out what student’s mental models are BEFORE they are given our instruction?

The author goes on to talk about some points of why CS education runs into problems with its students. He states:

* The construction of CS concepts is haphazard (as shown by research cited), because sensory data from class must be integrated into a student’s existing framework that is too superficial.
* Frustration and the perception that computer science is ‘hard’ is due to the fact that models must be self-constructed from the ground up.

* The reality feedback obtained by working on a computer can be discouraging to students who prefer a more reflective or social style of learning.

He also states that “The science-teaching literature shows that performance is no indication of understanding”. I find that to be absolutely true. We are finding students who are working much more with black box rather than glass box models of the computer [mayer, 1981]. Even though some of these papers are quite old by computing standards, the cognitive psychology in them is absolutely correct.

Both of these papers are going to help me structure some things over the next couple of months. I do recommend that anyone who teaches go and read the second paper - it is indexed in the ACM digital library (http://www.acm.org) you can download and print the pdf from there.

September 24th, 2008, posted by Leigh Ann

Alignment on many levels

First let me start by saying that I believe I have a more varried experience and perspective than many others. (I’m not considering myself unique in any way, just in a minority) I have taught at the K12 public level in an inner city as well as affluent suburb. I have taught at community college, a large city college (CUNY Baruch), an evening/professional program attached to a major university (NYU Continuing education program), and also in a major university (CMU).

With this in mind I feel strongly that there is an EXTREME misalingnment between what our K12 educational environment and implementation of stated goals and the pervasive view of college professors as to the prerequisite skills (not knowledge) that our collegiate population has. As a high school teacher I was placed in situations where if I did not attend to each child’s specific lack of participation in class (especially as in missing homework) in an immediate fashion (rather than just waiting for grades to come out) it was MY FAULT if the child did not succeed, because I did not provide the student and parents the feedback that would enable them to correct the inappropriate behavior (of not turning in assignments).

This kind of hand holding at times seems ridiculous to me for that level of student. As a high school student we are not holding the students accountable for their actions, and also fostering a belief that they do not have to be self reflective of their own behavior. Students at that level (10-12 with increasing responsibility as they progress to 12th grade) should be self aware enough to understand that their lack of action has consequences. Right?

When I transitioned from a high school student to an undergrad I had to learn many new things. I had to set my own schedule for eating, sleeping, homework time, etc. Thanks to my teachers in high school however I had already developed a sense of self awareness where I knew how to attack an unknown problem to reach a solution (I credit that largely towards the math proofs from 10th grade) and how to organize myself so that I could take notes and do homework (from the little assignment book I had to carry in HS that my parents checked every night in 9th grade, and then backed off). The learning skills were already there so that I could deal with the major life shift with grace.

I really believe that providing too much support for our high school students and not allowing them to fail in low risk situations is setting up a lot of the larger failures that colleges are witnessing.

Yes this was prompted by something. This article at Teacher Magazine hints at a misalignment in curriculum. I believe that there is a larger misalignment. The misalignment is in expected skills at life. Just as a few years ago we saw a major debate over who was responsible for the moral education of young america (something that has almost always been in the hands of the parents, but with families where every parent is a working parent … it becomes an issue for the schools), there now is a problem founded by the fact that we are not giving our students life skills. They dont know what it means to fail and so they also dont know environments where they need to try and work hard.

Just a rant, sorry to the regular readers..

September 16th, 2008, posted by Leigh Ann

Its not just the workers we are importing now..

We are also importing the science and math teachers. See this article… If we dont teach our kids to like science and math … the results could be devastating.

September 12th, 2008, posted by Leigh Ann

Maryland and Tech Literacy

So the people in the computer science field are constantly asking “Where do we fit in terms of technology literacy?” Some believe that every student should have some programming experience, while others believe that it should be selective students that get that instruction. (how we select is a whole different argument)

Maryland has adopted learning.com’s Tech Literacy assessment according to this article in order to gauge how well their 7th grade students are doing in acquiring 21st century skills. If you go to the TechLiteracy assessment modules page you can see the core skills they are working on.

Its a good extensive list in terms of applications usage, but is lacking in the more conceptual knowledge (except the social and ethical tabs). Lets consider what would happen if we added another box: Computer Science. What 1 sentence description would you provide for the module? What elementary and middle school examples of computer science skills would you want all students to have? (answer one or both, doesn’t matter - I’ll post my own ideas later in the comments to let people think about what they value before they see what I do)

September 11th, 2008, posted by Leigh Ann

To all who like robots..

Lego Education has come out with their new platform called WeDo which looks kind of interesting. Not as limiting as the old mindstorms programming application (apparently).

I would love to get my hands on a kit with some time to play :)

There is an article about it here.

September 11th, 2008, posted by Leigh Ann

An amazing resource

If you are not aware of it the National Science Foundation has put together a resource entitiled “NSF and the Birth of the Internet”. It has video interviews with many of the early builders of the internet as well as more recent wizards.

The website can be found here: http://www.nsf.gov/news/special_reports/nsf-net/

As you click through each decade you get more videos and the number of internet users and baud rate monitor on the lower right increase as “time” goes by. Awesome site for a history report or project, or just to show in your class as a 5-10 minute warm up on mondays (show one piece each week and watch as the story unfolds during the whole school year).

Enjoy!

September 9th, 2008, posted by Leigh Ann

A technology high school…

… you would think would be the perfect place to integrate computer science into the curriculum. Offering the course at least. In my recent browsing of the web (through google reader) I became aware of the “New Technology High School : Napa” which is a high school that opened in 1996 whose mission is to “prepare students to excel in an information-based, technologically advanced society.”

I admire their project based learning approach and I think that in this century it is the way to provide authentic learning tasks to students. The students create digital portfolios for themselves and to demonstrate their fluency with technology. Many of the portfolios I clicked through (admittedly about 1/10 of the class of 2008) indicated that fluency with word and power point was enough to qualify them as completely literate. Most also mentioned or included graphics from a Digital Media course they had taken as sophomores.

There was no computer science. Anywhere. I’m not saying that all students should take it, but in a “technology” high school shouldnt it at least be offered? How have we failed as CS educators (and I would argue as ambassadors for our discipline) if a school devoted to producing technologically literate graduates does not even offer CS as an elective?

Maybe someone should offer to teach Alice to the digital media teacher (as a non threatening introduction to the power of CS).

September 9th, 2008, posted by Leigh Ann