Archive for July, 2008

What would Computer Science Barbie look like?

A recent article in Teacher Magazine highlights the result of a study that shows boys and girls are performing equally well in Math at all levels.

In addition to the good news that this fact has now been scientifically validated, the article comments on the fact that 16 years ago Barbie (the toy) said that math was hard. In 1992 apparently Mattel changed that, but while Barbie now has a variety of careers including whole categories of medical and military service, there are still no engineering or computer science Barbies.

So I ask, what would Computer Science Barbie look like and come with? We could start by giving her a laptop (of course), dress her in jeans and a funky t-shirt (college student clothes) with extra outfits to deal this different aspects of career - business casual type stuff.

What other accessories to you imagine? And what games would be on her website?

Sunday, July 27th, 2008

Amen and Hallelujah rings out from the choir…

Raymond Lister from the University of Technology in Sydney published a paper entitled “After the Gold Rush: Toward Sustainable Scholarship in Computing” which I feel is a MUST READ for anyone who teaches or is interested in teaching Computer Science.

He deals with his own personal experiences as well as references to cognitive science and learning theory from a variety of disciplines. READ THIS!!!! dont just let me distill it for you.

My favorite parts of the paper are about folk pedagogy and what he calls Marco Polo papers. So often as educators we “believe” we see results from years of experience that we claim that its the best way of teaching from our perspective. We as a discipline also discuss teaching in the same way. I love his “years of experience” dichotomy between teaching and research.

The most frustrating forms of intimidation from colleagues are those prefaced with, “I’ve been teaching for N years, and …” where N>= 10….Whether it is intentional or not, academics who preface a statement this way are denying legitimacy to the views of their junior colleagues….In our research lives, we never justify our position by citing the number of years that we have been researchers. To do so would invite ridicule. Consider your own reactions to the following two assertions:

* “I have been teaching programming for 30 years, and I tell you students must learn procedural programming before they learn object oriented programming”.

* “I have been researching cosmology for 30 years, and I tell you the steady state theory is right”.

He is right. How many times have you been involved with a discussion with a colleague and the “I’ve been doing it longer so I know better” rule or the “They learned better when we used to teach it..” statement. Sometimes I just want to say, “And when gas cost $1 a gallon we could drive more too”.

Our society is changing, our student’s prior knowledge and interests are changing. I would even argue that the way they perceive their world is very different from when even I was growing up. We need to open the lines of communication among educators and do away with the “personal evidence” argument. We need to STUDY and RESEARCH using sound methods the learning of computer science and how THE CURRENT students would best be served by our curriculum.

This challenge I send to cyberspace - Next time someone makes the N>=10 argument, ask them to listen to the person in the room who just got shut down. Involve your classes in larger studies and look for the people having the conversations about new directions. And go and read the paper linked above.

Thursday, July 24th, 2008

The causality of correlation..

So the NY Times article titled “Report urges change in Teaching Math” is a great example of correlation driving educational goals.

Someone did a study and found that students who completed algebra II were more than twice as likely to graduate from college. The inference then was that the more students we get to take and complete algebra II, the more students we will have graduating from college.

Lets step back and look at this for a second. Who are the students who are completing Algebra II? First of all, they are the students who have completed 3 years of high school math (the graduation requirements for most states is 2 years - or the equivalent of Algebra I and Geometry). They have been successful enough that their teachers recommended them for Algebra II and though they could handle the abstract reasoning that such a course required.

Is it of any surprise that these students who have been successful in our education system up to this point continue to be successful at the collegiate level?

I do not disagree with the other premises of the report, that our curricula need to contain less breadth and more depth for understanding. I think this is true even in computer science. We are continually packing more and more into the first classes, rather than expanding the larger program as a whole for those who will need to understand everything in great depth. Maybe the colleges need to start looking at the structure of the courses needed for their majors and ask, what can come out of the first couple of courses that the non-majors dont need to know?

Anyway, just a rant as my google reader distracted me from putting together workshop materials for next week.

Wednesday, July 23rd, 2008

The Beauty and Elegance of Computer SCIENCE

So with summer workshops fast approaching and the curriculum writing I am hoping to do for the fall I have been asking myself over and over again “What makes a great example?” and “What makes a great exercise?” I truly believe that there is a difference between the two (example = something you do in front of, or with the students, exercise = something the students do alone).
Examples and Exercises both share certain salient features:

* It must contain content or representations of the topic or idea that is your main learning outcome. (it wouldn’t be helpful to have an example for arrays that didn’t contain an array)
* It should be interesting or engaging in some manner - students should want to follow for the context and/or perceived usefulness as they do for the actual mechanics of the code writing.
* It should be complete. A promise of a really cool ap or example that only gets 1/2 done is not always a motivator.

Examples contain a few different ones:
* It should be representative of the difficulty level for which you expect the students to complete exercises.

In addition I would argue that examples allow you to set up an additional learning concept separate from the code. It gives you a chance to talk about a broader feature in order to satisfy the motivation behind the application.

Heres an example I use. When I teach Arrays and I want to do an example where students need to use the index values to access the array out of order, I generally use the example of “teaching” the computer to play blackjack. The actual program is short. It involves an array which initially contains indexes 0-21 all assigned the value of 0.5, the computer then runs a loop where it randomly draws two card values and based on the value stored in the array for the sum of the two cards it decides to either “hit” or “stay”. If the computer hits and loses, it adjusts the value so that it will be less likely to hit in the future, and so on.

This example is in a very very small way an example of machine learning. It sets up a great 10 minute discussion in class about what is machine learning and how it impacts our lives. While I would not expect my students to be able to code any quality ML programs, they can talk about where it would be useful in a variety of fields.

As the AP Computer Science community looks at the A exam for what to add, I ask - what about these kind of ideas? Why not add content about what the different fields of computer science contain? Its easy to make multiple choice questions out of the content that are computer SCIENCE and not just programming (often peoples complaint about AP) and they can also be used to frame free response questions to provide motivation for the snipits of code that students need to write on the exam.

Any thoughts out there?

Tuesday, July 22nd, 2008

Ok, so I need to add to the repository too..

In addition to blogging about this resource I am also going to head over and add it to the CSTA repository as well. (I have a whole list of things I’ve talked about this past year)

A while ago on the CSTA blog I blogged about the Federal Resources for Educational Excellence, and the One of their newest additions is Encouraging Girls in Math and Science.

This site contains some research results, a guide to understanding the basics as determined by the research and recommended practices and templates for teachers to use in their classes. There are some great videos for teachers and they have managed to simplify the research practices into five main ideas.

What are your favorite ways to encourage girls? What do you do on the first day that gets people involved?

Thursday, July 17th, 2008

Calculator Controlled Robots

So, now that I’m back to work and reading my RSS feed again… theres lots of posts to be made. :)

One of the coolest things I came across this afternoon (in addition to FINALLY setting up twitter - user: lsudol) was the new link on FREE (Federal Resources for Educational Excellence) - http://free.ed.gov/resource.cfm?resource_id=2063

This resource links you to a book with activities for hands on Math and Science explorations using a TI calculator and a robotics platform. It combines CS in that you need to do some programming on the calculator with math and science activities! For middle school!!!

To all the CS teachers out there looking for interesting ways to integrate yourself into math and science classes and “recruit” here you go! Order a couple of platforms and go down to your middle school, or get into your 9th grade classes and do a 1-2 day lesson. Find a day when a colleague is going to be out or away and has put together sub plans. Ask if you can “sub” for the class and give your own classes a “work on your programs” day. (Still only charges the district for one sub and you get the chance to put on a little show for potential students)

The platform for the robot is created by Norland Research and their website is here: http://www.smallrobot.com/scimath.html

For university and college people looking to do outreach - why not make one or two of these activities part of your outreach package? Find a faculty member who has fun with this stuff and go to Math and Science classes to show off what programming can accomplish! Why limit it to CS classes?

Because its programming the calculator (which is very non threatening to math and science teachers) they may pick up the activities and start doing them on their own! Schools have whole classroom sets of calculators and with just a few robot platforms for students to share and test on, you can involve the whole class.

Enjoy!

Wednesday, July 16th, 2008

The glass is half full..

So, this is inspired by a RexBlog posting about “How the internet is like a half-empty or half-full glass of red wine”. In the posting Rex reaches the conclusion that

The Internet is like red wine. Despite all the studies proving it’s good for you, drinking too much of it constantly can make you stupid and addicted.

This made me wonder about my current understanding and beliefs about teaching programming and a conversation I had about teaching in computer labs this morning. Could teaching through examples have a similar prognosis?

When I am teaching introductory computer science I try and find a balance between writing enough code in front of and with my students so model the creative process, and giving them examples and activities that stretch beyond what I have taught them. I find that its often “too easy” as a teacher who is measured by success rates to create examples that just “have the numbers changed” (sorry - a reference there to my old math teacher days) but are essentially the same problem.

We keep talking about how computer science fosters creative thinking and problem solving. Are we modeling that for them? Are we giving students the opportunity to reach out and truly create something new?

I am constantly drawn back to Blooms Taxonomy and making sure that I am reaching those upper levels of the pyramid.

As all teachers do, we take part of the summer off to re-energize and rejuvenate, but at some point, as you look forward to your classes next year, I challenge you - for each example that you do, reach out and find the challenge part of it, the creative thinking aspect. How can you get them to make it their own and walk away with a sense of half full.

Wednesday, July 16th, 2008