Wednesday, July 31, 2013

Recursion: Not that hard

In July, I taught Java to about 30 high school students who had little or no prior programming experience. The curriculum was largely set for me, so I won't comment on the choice of language or lots of other things that I might be opinionated about.

In the course of teaching the students about methods, fairly early in their experience, I gave them the challenge of figuring out how to right a program that would print out the first several numbers in the fibonacci sequence. First we worked through the algorithm of how to find out a given fibonacci number: I wrote up a sequence and challenged them to figure out the formula:

nfib(n)
00
11
21
32
43
55
n???

After a few false starts, they figured out that fib(n) = fib(n-1) + fib(n-2) except for fib(0) = 0 and fib(1) = 1. 

Now, to be completely honest, I had forgotten that there's an iterative way to solve fibonacci, because the recursive way is SO OBVIOUS. 

So I told them that another thing about methods, in addition to them being able to take parameters and return values, is that they can call themselves. And thus, they wrote recursive algorithms, without pain or suffering:
if (n=0) {return 0;}
else if (n=1) {return 1;}
else {return (fib(n-1) + fib(n-2));}

And some undergraduates who observed it expressed great concern because recursion is a topic they cover in data structures and therefore obviously complex and advanced and presumably inappropriate for my poor little inexperienced high schoolers. Who, I must say, did not appear confused or scarred in any way from the experience.

Clearly there's lots more about recursion I didn't cover, not the least of which is why this is a pretty inefficient solution. But this experience - where recursion was the obvious solution to a problem and there was a straightforward way to handle it - seemed like a nice little introduction to the idea that a method can call itself. No need for awe and fear. And I wonder, if we just introduced recursion as the obvious solution to a few easy problems and handled the more complicated pieces later when students are more prepared, would it go better? 

I think next time, after I gave the students a day or two to adjust to writing methods, control structures, parameters and return values, I'd return to the idea of efficiency and why some solutions are more efficient than others in different ways. 

Wednesday, March 14, 2012

Interview

There's an interview with Laura Blankenship that I've been ruminating on. Laura teaches computer science to middle schoolers at an all-girls school and blogs at Geeky Mom.

I like her blog a lot, so it doesn't seem like I have a problem with Laura. I do seem to have a problem with the interview, which I haven't quite pinned down.

Part of it is probably the quote, "8th graders hate everything." That hasn't been my experience at all! Middle schoolers like to whine, but they're also frequently engaged and excited and passionate. I think Laura would agree, so it feels like picking nits, but at the same time, the quote really bothers me, maybe because it's at the very beginning of the interview, so it sets the tone.

There's something else about it too. Maybe the generalizations about what kids can and can't do. I find huge variation between students. But I'm not really sure why I keep coming back to it. Maybe because it's so short and poses a lot of questions without a lot of context or solutions.

I'm usually not surprised when students can't do or don't know about something complex that they've never been taught or never been asked to think about before. Have you ever thought about the electricity that powers the devices in your house? Or do you just plug things in and expect them to work? I think the web is like that for kids - unless we point out that there's a huge infrastructure behind things and that the devices (websites) they use can be deconstructed and that they could make their own things, why would they think about it? The web is just there, it's always been there, like electricity or (for those who are young enough) TV. Like electricity, we need to decide what is important enough for students to learn.

Monday, August 29, 2011

The Age of Cassandra

Kristen Marhaver is a PhD student studying coral biology who wrote the absolutely fascinating Ecosystems in the Age of Cassandra in the May 5 Science Progress. She cites Adam Cohen's New York Times editorial wondering why policymakers do not react appropriately to scientific warnings of impending disaster such as the Hurricane Katrina flooding, September 11th attacks, and Bernie Madoff fraudulence.

Marhaver suggests that the problem is the difference in pace between science, which takes years to research and verify, and news, which doesn't spend more than a day or two on a story, especially one about scientific research or predictions. She has a number of notable suggestions for indicating to publishers and policymakers which research is really, really important and making research findings openly available.

The comments are worth reading as well, especially for people who want to make their message heard. One journalist remarks on the importance of a story - protagonist, antagonist, beginning, middle, end. People respond to research written with a narrative theme. They respond to the stories of individuals too - "the death of one man is a tragedy, the death of millions is a statistic" (misattributed to Stalin).

There are systemic problems leading to a failure on our part to heed important warnings. Research reports written for peer-reviewed journals aren't necessarily appropriate for lay people, even when the information is crucial. And researchers who are embedded in their own little world may miss the forest of the larger world for the trees of their own point of view.

Scientists must find ways to choose the message and frame it in a way that important audiences can hear and act on. Policymakers have many competing interests. So does industry. So does the public at large, so do teachers, so do students, but they aren't all the same interests. It's important to figure out what messages are crucial and which can be heard and by whom. Then we can hope for success in making the world a better place.

Wednesday, August 10, 2011

Computer Science Around Programming

Alfred Thompson posted Computer Science Before Programming, where he starts by considering the new trend of courses that teach introductory CS without relying on programming-first. He quickly moves into a discussion of different levels of programming languages and focuses on the question of whether "post-syntax" languages such as Scratch, Alice, and Kodu expose the right concepts, such as how loops work.

I think that even when we focus and try hard, we all too often fall into the trap of thinking that the big ideas of programming are synonymous with the big ideas of computer science. We all learned CS through programming first, and it's our mental model of how it works. Changing such an ingrained mental model, especially when nearly everyone around you is reinforcing the model, is hard.

I believe that programming is to computer science as experimentation is to other sciences. It is the work of professionals in the field. It is how we develop new ideas. And it is a skill that must be learned before it can be used in a meaningful way.

We don't make students experimentally derive all we know about science from first principles - we tell them the formula for acceleration, the value of the force of gravity, the periodic table of elements. We don't make them figure these things out, and it's a good thing because usually they don't have the skill or tools to accurately measure these known quantities.

Now, some people will be saying, "but we TELL them about conditionals and loops and parameters and abstract classes!" Those are big ideas of programming. Not of computer science.

Here are some of the big ideas of computer science:
  • The design of things is impacted by the assumptions and experience of the people who make them.
  • The computational devices we use affect our society. And related: there are ethical implications to computational tools.
  • What is computing good for and what is it bad for?
  • How do we abstract details to model problems and find solutions?
  • What does it mean that computers run on binary when we have beautiful user interfaces?
I can teach every one of those, and lots of others, with no formal programming languages. Programming would only get in the way of what could be a rich discussion and deep understanding.

Students should experience programming - it's empowering and fun and an important part of computer science. But we shouldn't confuse the skill of programming with the concepts of computer science.

Wednesday, March 24, 2010

Ada Lovelace Day

I think people who work at the intersection of computer science and other disciplines do some of the most interesting work there is. In particular, I think there are women doing amazing work at the intersection of the social sciences (like linguistics and sociology) and computer science.

Jane Margolis is my hero because she has looked critically at the culture of computer science and not only found ways in which it is unwelcoming to some groups (notably girls and minorities) but has also worked passionately to change it. In particular, her work with the Computer Science Equity Alliance is inspirational. Jane is energetic and thoughtful and perceptive, and she constantly works to make the world of computer science better.

Jane introduced me to another of my heroes, Justine Cassell. I first learned of her because of the book From Barbie to Mortal Kombat. I had the opportunity to talk to her briefly at the Hopper conference this fall and was so impressed by her analytical mind and energetic presentation. Justine has also done a lot of interesting work on gender and technology.

Finally, the researchers of ABI and NCWIT earn my respect every time I talk to them. Catherine Ashcraft had the most interesting observations about gendered behavior and how it is different from sex, which convinced me she's brilliant. Lecia Barker and Caroline Simard produce consistently fascinating research.

This post was produced for my Ada Lovelace pledge. Two other posts on this subject I found inspiring today were "Why Care about Gender?" and "The Impact of Positive Female Role Models"

Saturday, March 20, 2010

Mental math

I believe in growth mindset - the idea that you can get better at things by working at them. It can be a hard thing to live at times - we all seem to have certain places where we have blinders about our ability to improve (or our students' ability to improve!)

With that in mind, I have been working on my mental math abilities. I've been playing a game where I keep track of changing numbers by adding and subtracting. The numbers are pretty small - usually less than 10, though not always, but the running total can grow fairly large.

I am sure that it's good for my brain to play this game, that I'm improving my ability to do mental math.

Here's what I wonder, though: does it matter if I get the right answer? I have discovered at times that as I keep track of the running total, I have made computational errors - not particularly surprising, since it isn't something I'm particularly stellar at. My sense is that it's the activity of trying the math rather than getting the right answer that's important, especially since I doubt that I'm reinforcing bad math by occasionally adding numbers incorrectly. However, I can believe it would be a problem to form neural pathways to bad computation. I don't know of any studies that have looked at this, so I'm not sure we know the answer.

Wednesday, March 3, 2010

Encountering the Other

I've been thinking a lot about constructivism and constructionism and Freire and diversity lately. I can believe that almost totally open-ended discussions and activities can be engaging and educational. (Almost totally open-ended! Not totally open-ended! Though there's a good point in A Mathematician's Lament that anything one doesn't stumble across in 12 years of thinking about a topic probably isn't all that important.)

I am thinking of knowing the kind of activity you want kids to engage in, but allowing them to propose all the particulars. Let them figure out what the important parts are. Say you want them to learn how to write a program. Ask them what kind of program they want to write. What kind of problems do they have that could be solved with a program? Then let them figure out (with support) how to write the program - they figure out the constructs, you provide the syntax. It's just-in-time teaching. At an extreme, you might even be able to let them figure out what they wanted to learn at all in the context of your class, but without them knowing something about the context it seems like proposing problems is a better way to start.

I have a hard time believing this way of teaching is scalable - how can you get all the thousands of teachers in this country to be that open-ended? It's hard and you have to have an incredible grasp of the material to be able to guide students gently. (Or perhaps you could pull it off if you knew nothing, with teacher and class learning it together, but that's not comfortable for most teachers!) That said, as I have practiced open-ended teaching more and more, I've become better at it, which makes me think it is teachable, which means it might be scalable. It would require a sea change in how we think about education - we might not get to all the standards this way.

The extreme educational theorists believe in this way of teaching because of its respect for students' culture and experience. And I haven't ever questioned that, except to contemplate that the historical role of education in the US is to inculturate children into the dominant value set and that if we take underprivileged students and fail to give them that clue, we do them a disservice when they have to compete as adults in the dominant culture. (I am a terrible teacher because I will regularly point out to underprivileged students how to fly under the radar like the privileged kids do.)

So it was with great interest that I read Siobhan Curious' latest post: Encountering the Other about the role of literature in our lives. Specifically, she has a quote from a Harper's article Dehumanized: When Math and Science Rule the School:
Happily ignoring the fact that the whole point of reading is to force us into an encounter with the other, our high schools and colleges labor mightily to provide students with mirrors of their own experience, lest they be made uncomfortable, effectively undercutting diversity in the name of diversity.
One is wise enough to think one should tread lightly on a discussion of valuing diversity vs. valuing the dominant culture (as though one can't value both!) So one will stop writing now other than to wonder what you think?

Tuesday, February 23, 2010

Cultural and Gendered Values

I can't remember when I first heard about the work at Georgia Tech on African Americans and gaming. Maybe it was in a post of Mark Guzdial's? Anyway, I thought this post by Latoya Peterson was very interesting. My favorite quote applies to far more than just African American males:
Hacker culture is privileged in the CS learning environment, meaning that many students are drawn to the program because of their existing skills. This marginalizes many students who decide to enter at the college level, and do not have years of experience experimenting with programs on their own. CS programs also tend to trend toward the strongest programmers in the class, encouraging a DIY approach to learning, and leaving behind students who are new to the discipline.
On the one hand, we want to value diverse cultures, and I know that many people who succeed in this culture feel marginalized in the broader culture. And isn't it true that in many programs, particular skill-sets are valued? On the other hand, it certainly gives me pause that it's so difficult to enter the discipline as early as college, especially given that many students have no access to computer science before they get to college. Look at how many other (related, even) disciplines are welcoming to students who have no prior experience, even at the graduate level - information science, education, and business being obvious examples.

We keep talking about how to increase the pipeline and have more graduates. I think a major part of the problem is the culture. Computer science is not a welcoming culture. Wouldn't it be great if instead of being denigrated, newcomers were encouraged and supported?

I see that Mark has a new post up pointing out especially the comments relating to the class aspects brought up in the comments, along with a link to another post about this topic.

Sunday, February 21, 2010

Public Service Announcement: CS & IT Symposium

For years, I have maintained that the very best day of professional development in my year is the day of the CSTA CS&IT Symposium. And since I've always wondered if it was just me, I have been gratified both to see references to other people posting this thought on the web, and one notable year when in the symposium feedback I found out that someone wrote, "Wicked Teacher of the West said this was the best PD day of the year and she was right!" So you can take it from many anonymous strangers on the web that it's great!

For K-12 computer science teachers, this is a full day of PD just for you, with options whether you teach IT applications, AP CS, or anything in between - and not just high school either, there are sessions applicable to lower grades too.

The symposium gets better and better every year. The keynotes are thought-provoking, and the breakout sessions are full of ideas to take right back to the classroom. In fact, my biggest complaint about the day is that there are always multiple sessions I want to attend at the same time! And finally, the lunch is excellent - it's worth the price of admission for the great food and chance to spend time with other teachers!

Registration for the symposium is now open. It will be held on July 13 at Google Headquarters in Mountain View, CA. The registration is limited to 200 people and last year they did 'sell out' so I'd encourage you not to procrastinate. Registration information and more details are at the symposium website. (www.csitsymposium.org)

If you want to make it into a vacation, not only are there mountains, sun, the Pacific Ocean a short drive away, but Mountain View is a mecca for geeks, particularly the Computer History Museum, the Tech Museum in San Jose, and the Exploratorium in San Francisco.

Monday, January 18, 2010

Taking a break

I've finished nearly all of the grading - enough to think of myself as done, although I have four extra credit projects still unassessed. Fortunately they'll be easy because any kid good enough to have done extra credit is likely to have done it well. Also they're unlikely to change my assessment of those students - kids motivated enough to do extra credit have usually been doing well all along. I will of course look at the projects tomorrow.

Before I go to bed, I want to post a few articles I've come across but haven't felt the luxury to form complete commentary on. The articles are good enough to stand alone; you should read them!

The Atlantic looked at Teach for America's upcoming report on What Makes a Great Teacher? I hope to take the ideas, especially about constant re-evaluation and changing what doesn't work, and implement them this semester.

I have thought Lisa Damour was fabulous ever since I heard her speak about Growth Mindset and Stereotype threat. I think the things she is looking at are important and I think she's smart and able to explain things in a way that are easy to understand. So I was pleased to see her article about teaching girls to tinker in Education Week. And that was before I knew she mentions computer science!

Clay Shirkey's Rant About Women is getting a fair amount of play. I *really* want to know what Sarita Yardi thinks, since I can tell she has strong opinions but so far I haven't seen them. I'm willing to overlook the strong language and think he has some very good points. I'm sure my opinion is informed by the fact that I've been trying to do some self-aggrandizing writing lately and I'm not very good at making it sound like I'm all that.

I'm trying to be more positive in 2010. So the article from Teacher Magazine about having better classroom management by focusing on the positive was nicely timed. I'm not seeing stuffed animals in the classroom in my future, but maybe I can yell less.

Friday, January 15, 2010

Looking for the motivation fairy

I'm supposed to be writing grades, but I'm having an impossible time settling down and getting anything done. When it became obvious that working from home wasn't working, I came to school. So far that has prompted me to open my gradebook, which is a step in the right direction, but more of a baby step than a meaningful step.

I'm not even engaging in structured procrastination, just kind of noodling around.

Please, motivation fairy, show up soon!

Friday, January 8, 2010

Who Are You?

During the holiday break, I attempted to declutter my craft closet. The craft supplies are organized by craft in boxes in a closet, but the closet was stuffed to the gills, making it hard to get to many of the boxes, which is a major barrier to doing the crafts. It was time for some of the supplies to go.

I weeded the contents of boxes, getting rid of supplies I don't really like and won't use. In some cases, I weeded crafts, emptying out whole boxes.

I got stuck when it came to one craft. I have nice supplies. I like them. They're well organized and fit nicely into the space they're in, so getting rid of some of them is harder than getting rid of none or all. I realized that I am not ready to let go of my vision of myself as a person who does that craft.

We have a lot of visions of ourselves, labels we apply. Most CS teachers I know think of themselves as programmers. Few think of themselves as computer scientists.

I wonder how this affects our students. Are our labels accurate? Are you a programmer, if you know how to program and do it sometimes, but not often? Are you a programmer if you love to program but almost never do it? Does it affect how you think about curriculum if you think of yourself as a programmer but not a computer scientist? Do the kids pick up on your attitudes about yourself and what you do?

Wednesday, January 6, 2010

Dear people: you can change

Although I am quite sure there are cultural influences at work keeping women and other underrepresented groups out of computing, I have not been all that excited by the recent reports about Geeks Drive Women Out of CS. I think the research being reported on is important and valid, but I am underwhelmed by the reporting itself, starting with the headline.

However, a blog post by the same name with recommendations for girls, boys, and teachers, aimed at getting more girls into CS classes was entertaining, accessible, and way better than the articles I've read. Yes, some of it relies heavily on stereotypes. But I'm delighted by a slightly snarky attitude that suggests resilience and demands welcoming attitudes.

Go read it. Really!

Saturday, January 2, 2010

Resolutions

I don't like New Year's Resolutions.

First, they seem ill-timed to me. I read a line in the last week or two about how terrible a time of year this is to make resolutions, especially weight loss ones. It's dark all the time, so you don't want to get out and exercise. It's winter so there's no good fresh produce. "I resolve to do something that will be nearly impossible! Yay!" For me, like many teachers and students, the new year begins in September.

Second, I don't really like the word 'resolutions'. I like the word 'goals'. Goal leaves more room to not succeed without actually failing.

I have found that I do better when I let goals just happen to me, rather than making them. I feel like making some change, so I make it, without waiting for the new year or forcing myself to make a change because it's the new year. It means I change when I'm ready to change, which means I'm more likely to be successful.

However, I am intrigued by the 6 Changes approach to creating new habits. I like the parts about making something a habit (not a resolution!), it's based on triggers, and you don't have to change everything at the same time. I don't like the part about breaking it into baby steps.

What I need to do is figure out a system for keeping my to do list. Don't know how to break that one into baby steps!

I also need to get my head out of vacation mode and back into school mode! I have tests to grade, paragraphs to write, and lessons to plan. But it's been a relaxing couple of weeks.

Friday, December 25, 2009

Leaving Some Children Behind?

As seems wont to happen at family gatherings, today I got into a political discussion with some family members. We discussed performance-based pay, and the discussion moved into performance-based pay for teachers.

Personally, I'm a fan of performance-based pay for teachers IF it truly reflects the performance of the individual teacher. If students took a test at the beginning of the term and at the end, and the teacher's performance was based on students' mastery of material, gained during the time they were taught by that teacher, then okay. According to an article by Malcolm Gladwell, "Eric Hanushek, an economist at Stanford, estimates that the students of a very bad teacher will learn, on average, half a year's worth of material in one school year. The students in the class of a very good teacher will learn a year and a half's worth of material." However it is that Hanushek is figuring it out, if we used that measure and it's accurate, that sounds good to me.

The negative reaction I got was mystifying.

First, I was challenged on whether it is possible to actually judge performance. It is true, we don't currently have instruments that judge student performance in all disciplines, only in the ones that are currently part of the "core". However, tests could be developed that would measure what we say we're teaching. Standardized tests that test the curriculum aren't always bad - teachers should be teaching the curriculum, and if they shouldn't then the curriculum should be changed. (I'm not discussing school-based bonuses where all teachers are paid based on student performance on core standardized tests, I'm arguing individual performance.)

The example given? PE. Apparently it's impossible to test how far or fast a student can run at the beginning of the term and test it again at the end of the term to see if there's a difference. Or if it's possible then it isn't fair because, apparently, motivating students to perform or otherwise getting them to do the curriculum is more than a teacher should be responsible for.

I suggested that good teachers are able to get their students to learn the material. Period. That's what makes someone a good teacher.

I was told that I'm unrealistic, because I work in a private school. I don't understand what it's like to have a classroom of 40 kids (largely true) who have varying ability and interest (untrue). It's not possible to support the low kids and help them rise while at the same time boosting the ones who are already above grade level. (You know, like by differentiating instruction and assignments.) A teacher should not be held equally responsible for a kid who is low and truly unable to grasp the material and for one who is low but highly capable.

I am venting here, because Christmas is so not the time to get into a huge fight with a close family member who is being... um... argumentative, but to say I was dismayed is an understatement.

I kept thinking about a master teacher I know. The thing that makes this teacher great is that he believes that every student can master the material. For some kids it's easy, for others it's a challenge, but he knows that every kid can do it. He doesn't teach easy stuff either, and I've never seen him dumb down material - he has high expectations. But he is willing to go the extra mile, help students who need it, and believe in them. He lives growth mindset.

I don't think teachers should be held responsible for students' prior knowledge nor should they be held responsible for what happens to a kid outside of school, and both those things do impact the student who shows up in class. But a teacher should be held responsible for how much knowledge they impart to students in their class. All students, not just the polite ones, not just the likeable ones, not just the ones who are at grade level. It does a disservice to the rest to ignore them and refuse to be responsible for teaching them too. Why would a teacher be okay with leaving some children behind?

Sunday, November 22, 2009

Not as hard as you think

My students are working on a project right now, where they have to digitize three-dimensional objects by specifying points in an x,y,z format. They then have to describe quads which have four points.

This is really good for the students. It's part of our unit on digitizing data, so it's good for them to understand how real-life objects get mapped into and modeled by the computer. But even better, it's good for them to practice spacial skills. Spacial skills are the one area (of math) where girls really do fall behind boys in brain development, so practicing is good for their brains. Yay for neurogenesis!

Not surprisingly, many of them find this task difficult. The task is unlike most they've performed before, so understanding it is a challenge. Then keeping the x, y, and z dimensions straight is a challenge. Keeping track of the points is a challenge, especially for the ones with messy handwriting and other organizational challenges. And the class has been battered by swine flu and other absences; even with me posting video of the classes they miss, it isn't the same as being there.

However, I had two conversations last week that made me laugh - and made me wonder how often students psych themselves out about tasks they shouldn't be so worried about. I explained the task to two students who had been absent and were confused. I had them practice creating points and quads so I would be sure they understood what to do. The first one looked at me and said, "That's ALL?" She'd expected it to be so much harder. I think it was harder when I first introduced it a couple of weeks ago, but even with the absence, her brain is more ready now.

The second conversation was more troublesome. It was with a smart student who is insecure about her knowledge and occasionally very disorganized. I went through the material and she showed me she could do the task. We talked for a couple of minutes about the assignment. Then she said, "but I still don't get it." I asked what she didn't get, and she described general confusion with the task.
I asked, "do you know how to figure out a point like you did a couple of minutes ago?"
"Yes"
"Do you understand how to make a quad out of four points like you did a couple of minutes ago?"
"Yes"
"That's it. That's all there is to the assignment. Get the points, make the quads, and type it into the computer."
"But I'm confused!"

At that point the light bulb went on. So I looked at her and said, "No, you're not. You think this is supposed to be hard. So you're worried that you don't understand it because it doesn't seem as hard as you think it's supposed to be. Stop worrying and get to work."

Thursday, November 19, 2009

Selling classroom materials

Interesting followup to a Times article about teachers selling classroom materials.

I fall squarely on the side of the capitalist teachers. As long as they're not violating their contracts, I don't think they have any moral obligation to go unpaid for their work.

I have written curriculum for pay before, and I consider it to be owned by whoever paid for it - be it via contract for an outside group or through a summer curriculum development grant at my school. Curriculum I develop on my own for use in my classes is a different story.

I can see an argument that developing curriculum is a part of a teachers' job, akin to being in the classroom teaching and assessing student work. In my case, my administration has made it clear that they don't really care if I change the curriculum; if I want to do so, it's on me to do it on my own time. Work I do on my own time appears to be my own, not of shared ownership with my employer. This is complex and revolves around a reasonable workday, summers off, and all kinds of "what is a teachers' own time?" questions. Hopefully few reasonable people truly believe that every moment of a teacher's life from September to June is owned by the school.

Like copyright protection, if capitalism is leading to improved curriculum, then that's good. If making money on it is motivational and teachers refuse to write new curriculum and stick with the crummy old thing just because it's easy, that's not good for the students.

I should note here that while I have substantially revised my curriculum this year, I have no plans to sell it. I simply think it's acceptable for teachers to do so.

Tuesday, November 3, 2009

Being Lazy

This week I'm teaching in a camp-like setting. I have ten students learning game programming, three hours per day. All of them chose to be here. I've never taught Scratch or game programming before.

After a first quarter that went at breakneck speed and after finally turning in grades midway through last week, I'm really tired. I also have a towering list of projects to finish. So while I'd like to give my all to teaching game programming, there's just not a lot of 'all' to give. Also, it isn't assessed and I'd like to save more of my all for my real classes.

So I'm being a lazy teacher. I always tell my students that the best programmers are lazy programmers - they look for ways to program that don't require a lot of effort. Thus, things like efficiency are important. Recursion is just an excuse to be lazy - do the least work possible and hand off the rest.

In this case, I gave them an overview of Scratch yesterday in about 90 minutes and I've handed them lots of resources to use in making their games (like the Scratch reference guide and Scratch cards). They know what games are, they have lots of ideas, and mostly what I'm doing is getting out of their way.

It's fascinating to watch them. First, they hate listening to me, so me not doing a lot of direct teaching is working for all of us very nicely. They're all engaged in what they're doing. And their styles are completely different. One is going methodically through all the handouts, following instructions and listening. One couldn't pay attention for the whole 90 minutes yesterday - by 10 minutes in she was taking the game and pushing it to the limits of her imagination. One student couldn't wait to get started on the game she'd thought up (Halo. For Scratch. By a girl.) Another one is spending huge amounts of time working with sounds.

I love camp because I don't care much about the outcomes. No standards, just lots of time for the kids to explore and learn what they like. And they're learning tons, all of it individualized. It isn't a good replacement for regular school, but it's a pretty nice change from the daily grind. And I'm glad to be reminded that when I'm lazy, the students rise to the challenge.

Friday, October 23, 2009

Success

It's been a long couple of weeks; we're definitely into the fall weather with the rain and the gray and the outrageous behavior and the cranky. (That would be outrageous behavior on the part of the students, with me playing the part of Cranky, but you probably knew that.)

Two things happened in the last couple of days that made me feel great.

One, it feels good to know where to find what you need. A friend of mine is doing some teacher professional development. He's been looking for examples of great technology use across the curriculum, specifically looking for a high return on the time invested. I brainstormed a few ideas with him, but it's been a couple of years since I've really thought about this topic, so while I still find it fun to think about, I don't have a lot of great fresh ideas.

Last night I decided to invest an hour to see what I could find. I started with twitter, and thankfully, @dougpete had just posted the link to his daily links blog post. Even if I didn't already adore Doug, he's now my short-term personal hero because his blog, Off The Record, is a treasure trove of resources. I was able to compile a bunch of ideas for my friends just by stealing from Doug. (Thanks Doug!)

Incidentally, the very, very best thing I found was the Learning Science community. WOW. It is a collection - with annotation - of great resources for learning science. From tools like a huge stopwatch applet to online, video-enhanced games about stoichiometry to an interactive model ripple pool, it is awesome.

Second, it is fun to feel smart. Yesterday I briefly hosted a woman from Citizen Schools who wanted to know more about my school. The way it worked out, she observed part of my class rather than just getting the tour-and-discussion. The kids are working on digitizing color pictures, so she asked about it. I ended up explaining digitizing, run-length encoding, compression, and number systems to her. I feel kind of bad, because I should have been giving her an overview of what the school is about, which is not really run-length encoding, as you might guess. But I surprised myself with how much computer science I know. (Stop laughing.) It was fun. I think it was even fun for her.

Tuesday, August 25, 2009

Perception

Atul Gawande's article, "The Itch" is an interesting look at the mechanism of itching. My favorite part, though, is this:
A new scientific understanding of perception has emerged in the past few decades, and it has overturned classical, centuries-long beliefs about how our brains work—though it has apparently not penetrated the medical world yet. The old understanding of perception is what neuroscientists call “the naïve view,” and it is the view that most people, in or out of medicine, still have. We’re inclined to think that people normally perceive things in the world directly. We believe that the hardness of a rock, the coldness of an ice cube, the itchiness of a sweater are picked up by our nerve endings, transmitted through the spinal cord like a message through a wire, and decoded by the brain.
In a 1710 “Treatise Concerning the Principles of Human Knowledge,” the Irish philosopher George Berkeley objected to this view. We do not know the world of objects, he argued; we know only our mental ideas of objects. “Light and colours, heat and cold, extension and figures—in a word, the things we see and feel—what are they but so many sensations, notions, ideas?” Indeed, he concluded, the objects of the world are likely just inventions of the mind...
Although the article goes on to make it clear that this isn't complete, doesn't it sound like perception is just based on mental models?

I've been thinking a lot about simulations lately, and this article makes it seem like even fairly poor simulations could be surprisingly realistic if they abstract the right things or if people are able to get past the perception that what they're experiencing is a simulation:
The images in our mind are extraordinarily rich. We can tell if something is liquid or solid, heavy or light, dead or alive. But the information we work from is poor—a distorted, two-dimensional transmission with entire spots missing. So the mind fills in most of the picture. You can get a sense of this from brain-anatomy studies. If visual sensations were primarily received rather than constructed by the brain, you’d expect that most of the fibres going to the brain’s primary visual cortex would come from the retina. Instead, scientists have found that only twenty per cent do; eighty per cent come downward from regions of the brain governing functions like memory. Richard Gregory, a prominent British neuropsychologist, estimates that visual perception is more than ninety per cent memory and less than ten per cent sensory nerve signals...
The account of perception that’s starting to emerge is what we might call the “brain’s best guess” theory of perception: perception is the brain’s best guess about what is happening in the outside world. The mind integrates scattered, weak, rudimentary signals from a variety of sensory channels, information from past experiences, and hard-wired processes, and produces a sensory experience full of brain-provided color, sound, texture, and meaning. We see a friendly yellow Labrador bounding behind a picket fence not because that is the transmission we receive but because this is the perception our weaver-brain assembles as its best hypothesis of what is out there from the slivers of information we get. Perception is inference.
The article goes on to talk about the use of mirrors for phantom limb syndrome and other more interesting things. The idea is to reset the brain, so it stops thinking it is getting sensations that it isn't.

As always, I am thrilled when (a) computer science shows up in real life and (b) I guess right:
Researchers at the University of Manchester, in England, have gone a step beyond mirrors and fashioned an immersive virtual-reality system for treating patients with phantom-limb pain. Detectors transpose movement of real limbs into a virtual world where patients feel they are actually moving, stretching, even playing a ballgame. So far, five patients have tried the system, and they have all experienced a reduction in pain. Whether those results will last has yet to be established. But the approach raises the possibility of designing similar systems to help patients with other sensor syndromes. How, one wonders, would someone with chronic back pain fare in a virtual world? The Manchester study suggests that there may be many ways to fight our phantoms.
I wish the article was accessible to my students; it would be interesting to talk to them about perception and simulation. I might still try, or use the article for differentiation purposes.