Friday, November 14, 2008

Putting Research to Work

Two interesting topics are Growth Mindset (vs. Fixed Mindset) and Stereotype Threat. I will put in a post about at least Growth Mindset, but probably both, soon. Right now I need to reboot, but will put in this placeholder link with a poster and handout and information from the Center for Research on Girls:   http://www.laurelschool.org/about/CRGProductsandServices.cfm

Idea

What if high school or college CS teachers ran summer camps for middle school students and hired high school girls or freshman/sophomore college women to teach them?
  • It would provide role models for middle school students, to encourage them that CS could be for them.
  • It would encourage the high school/young college students that they are worthy along with reinforcing what they know
  • It would give some interesting skills to middle school students that they can not necessarily get in other places like school or after school programs
  • It can serve as community service for the high school students. 
I did this once. An alum approached me and asked to run a one-week Java class in the summer as her senior service project. She created the curriculum, I got the students, and she taught it for two hours a day over a week. It went great!

I would trust most of my alumni with most of my students. They don't want to look stupid, so they're motivated to do well. They wouldn't agree to do it if they didn't know the material well enough. Anyone who can pass AP CS knows more than enough to teach Java to middle schoolers. I can help them think of fun activities that will engage the students. And it's summer, so there's no academic pressure. 

Thursday, November 13, 2008

Catherine Didion Keynote

I'm attending some meetings and Catherine Didion from the National Academy of Engineering just gave a great keynote about girls and engineering.  Here are my notes:

“Rising above the gathering storm” – NRC report

  •  Assumptions and stereotypes about who does science and engineering still exist – Time mag front page, 
  • Assumptions and stereotypes about women - Newsweek “What Women Want” cover Sept 22, 2008
  •  Assumptions about who will be the future leaders in science and technology impact students’ choices – example full page ad in Feb 17, 2006 CDG

www.implicit.harvard.edu Science Implicit Association Test

Girls of color are much more interested in sciences than white girls, but they are very underrepresented at the undergraduate level.

How do we keep them away?

  •       Lack of integration of STEM courses with other parts of the curriculum
  • Contributions of women and minorities are virtually invisible – no role models – the instructors there may not be who the students want to be   
  • Much of the science and engineering work seems devoid of any social relevance
  •       Constrained curriculum with many critical paths 

Busch-Vishniac and Jarosz, “Can Diversity in the Undergraduate Engineering Population be Enhanced Through Curricular Change?” Journal of Women and Minorities in Science and Engineering, Vol 10, 2004

What Engineers Tell Young People:

  • Engineering is stressful and challenging
  • Stress the importance of SUPERIOR math and science abilities
  • “It’s not easy – but if you’re the type who when faced with a problem some would call impossible is even more driven to move mountains to find a solution, then you might have it in you to be an engineer”

IEEE is training engineers who go into classrooms, “first do no harm” – they have a webinar

www.engineergirl.com Most popular part – ask an engineer

Imagine that! is an Engineering contest

Zits Wednesday, October 15, 2008

Help and allow students to communicate through technology they use – You Tube (Large Hadron Rap), Facebook groups, iTunes science section

High School: Non-white girls (41%) are more likely than white girls (~21%) to say that engineering is a “good career” (Study by WGBH)

Message Testing:

For girls one of the strongest messages was: Live Your Life, Love What You Do. 42% of girls & 41% of boys rated this very appealing and 8% somewhat appealing. Tope tested message among non-white girls (44%).

Other top messages were: Creativity Has its Rewards and A World of Difference

Our traditional messages are not about risk-taking or being part of a group. Reinforce what students think they want to do. Military is doing this now.

Take the 10 best and 10 worst behaviors of students and use them in your marketing

Parents are an important constituent group – kids listen to their parents

For girls, older girls are important sources of information. Popular personalities are not

Engineer Your Life  - www.engineeryourlife.org  Totally open source – you can throw your name on it, download it, use it!  Includes PPT for use with guidance counselors!!

“A lot of the work we’ve done is to change people’s perception of the potential of the students"

www.engr.psu.edu/awe

 "Help students try on careers the way they try on clothing. Help them get comfortable and see what they are. They have a lot more control"

Sunday, September 28, 2008

Is programming necessary?

I think Mark Guzdial is really smart and really neat. So when he talks, I tend to think hard about what he has to say. Mark recently said some things that I would (VERY) roughly interpret to mean that programming is central to computer science. I also think Robb Cutler is really smart, and I know he disagrees. Robb thinks we could teach introductory CS at the K-12 level without any programming at all. This left me with a lot to think about, but finally I hit upon an analogy. 

Programming is to computer science as experiments are to chemistry (or other sciences). It is THE central tool to the discipline. Being able to do it is an important skill. But it isn't actually central to the K-12 introductory experience. You could teach intro chemistry without doing any hands-on experiments. In some ways, the students would have a lesser experience, but most of them would be able to learn all the relevant concepts without actually doing them. Similarly, I think you could easily construct an introductory CS course that didn't have programming. 

I agree with Robb that frequently the programming gets in the way of understanding. Kids get so caught up in debugging that they don't really understand the logic of the program. They lose sight of the problem that the program is supposed to solve because the problems that they're focused on are of the "it won't compile" variety. Who knows if the proposed solution (the program) is a good solution to the problem, we can't tell if it won't even run! (Okay, we the experienced programmers can tell. But the student can't.)

I was a biochemistry major and I took two years of high school chemistry (thus the root of my analogies!). I was a junior in college before I understood WHY you do experiments. It was all cookbook to me until then, completely disconnected from anything we learned in lecture. I figured they made you do it so you would have the experience of having done it so you could get a job following those kinds of instructions in the future. "Oh yes sir, I've done many titration experiments." I became a chemistry teacher and despite my experience, I advocate for having students do experiments. 

There are many reasons for students to run experiments. It gives them lab skills which they can't get any other way - reading about titration is very different from actually having to work a stopcock correctly. For kids who are kinesthetic learners, or ones who need to SEE to understand, it helps them understand the concepts discussed in class. It can help them understand the scientific method in a different way and can help them understand the very nature of science research. (One of the reasons that I hated experimentation is that there's experimental error. It's all so beautiful and perfect in theory.) It's the same with programming and computer science. In introductory science classes, we use experiments judiciously, allowing students to gain the benefits but recognizing that there's a lot of material to cover and much of it is not best comprehended through direct experimentation. We should do the same with programming. 

We should introduce students to programming as a tool without having it be the focus of introductory courses. Have them do it some, sure, but not at the expense of understanding the big ideas - most of which aren't about programming at all. Help students understand that programming is a tool, not an endpoint. 

Crafty and CS-y

Over on Learning Curves, Rudibecka Hirta has a post about knitting and CS, complete with annotated pictures! (I can't figure out if it's overly friendly to call her 'Becky' or overly formal to call her 'Rudibecka') It reminds me of a SIGCSE a few years ago, when I was working on a not-very-complicated lace pattern during a luncheon, using a chart. Dave F got very excited about the pattern because it is digital. He couldn't get over how cool it is that knitting is digital. 

It makes me both wonder how many really random intersections there are between hugely different ideas, and wonder if the reason why a lot of geeks I know are crafty is because there is a significant overlap in the kind of thinking between CS and crafts like knitting and quilting. 

Friday, September 12, 2008

Big Ideas in Computer Science

I'm at a meeting where I was asked to determine the big ideas in computer science. Big ideas are defined as the things students will internalize and remember long after a course is over. An example in calculus is that I remember what a limit is, even though I don't remember how to calculate one.

Here are the four big ideas I thought of:
  • Computer tools are designed and the design affects what they can do.
  • Computers precisely execute instructions created by humans.
    • This would include abstraction – what the instructions look like and how they are translated between layers.
    • It includes algorithm creation and predicting what the computer will do given a set of instructions.
    • It can include flow of instruction.
    • It MAY include programming.
  • Computers are used to solve many problems across many disciplines.
    • Ideally here students would design algorithms to solve various problems such as traffic flow, databases…
    • It would probably include the limit of computing – what problems are computers not good for solving and why.
  • Computing has a role in society
    • Ethics,
    • Use of the tool,
    • History of computing and how society has changed based on computing technology…

Friday, May 16, 2008

Motivating Students

Because of a session on remaking the Image of Computing, there were a bunch of famous people at the NCWIT meeting this week. Perhaps the one of most interest to me was Kate Starbird. Not as much because she is a retired WNBA player (though that's pretty cool!) but because she's really smart, really nice, and really articulate. She pointed out that she was the only person there to talk marketing who also had a background in CS.

Remind me to tell you about the argument she and J Strother Moore got into.

But first, I want to consider the question of inspiring students to learn about computing at a deep level. When I Googled Kate, one of thetop links is to a great blog post she wrote. Here's an excerpt:
Like many of my generation, I grew up on a computer with little or no content, and if I wanted it to play, I had to be creative. I had to make it do what I wanted it to do. I went on to study computer science in college and graduated with a BS from Stanford in 1997.

My youngest brother Michael followed me there, and majored in CS as well. He works for Microsoft now. By the time Michael was nine our family had a game console for our TV and fantasy adventure games with elegant graphics on our Apple IIgs. He grew up playing Nintendo and Bard's Tale. He had an email account before he was out of high school, and knew how to browse the Internet long before I did.

Unlike me, though, Michael didn't write a single line of code until college. Michael was an extremely creative kid, but he didn't bother spending that energy creating loops, routines, and functions.
This is in line with a thought I had last summer about learning curves vs. quality of output.

When we were kids, computers were pretty limited in what they could do. You could write a program in BASIC that was almost as good as the programs you could get on floppy at those game swap events on Saturdays. You could buy BYTE magazine and laboriously type in the programs, seeing exactly how the program was put together. It was reasonably straightforward to create programs that were engaging, that your friends would say, "oh cool!" (or the 1982 equivalent) if you told them or showed them.

The world has changed a lot. A kid in the basement couldn't have written World of Warcraft or the Sims. In some ways the tools we have make it easier than ever to create interesting content - Dreamweaver making HTML and PHP at the click of a button, drag-and-drop programming in Flash or Alice, image manipulation with iPhoto or Photoshop - those were all inconceivable back then.

But the increased complexity under the hood - the higher computational power in home computers, the embedded systems throughout our lives - have also abstracted away our ability to tinker. Imagine taking apart your iPod to see how it works. Similarly, kids are so used to interacting with fun! neat! systems, that the introductory programs they're cognitively ready for aren't impressive enough. Hello World just doesn't cut it in our in-your-face media-rich world.

My students struggle with some of the ideas of CS. That a variable contains a value is a new idea for them. They're smart, capable, and they figure it out, but there are developmental issues - their brains aren't ready for all the deep ideas. Yet they will get turned off if it seems like too much work for too little payoff, if they can't make things that make their friends say, "oh cool!" (or the 2008 equivalent).