Analyzing Data Analysis

On Friday, I introduced the computation part of our data analysis project.  I was very excited about this and created an example using Google spreadsheets.  Even though I think another tool would be more powerful, I stuck with spreadsheets since most of the students are completely unfamiliar with anything else.

What we want the students to do is to take a question from the survey we conducted and break it down not just by how many people answered it a certain way, but also by a piece of demographic data.  So, they might look at the question of whether people expect to have children and see whether more women or men expect to have children.  To to that, you need to make a statement like “if ‘yes’ [to children question] and ‘male'”.  And you have to do that for all combinations. I walked through my example in the class and eyes glazed over.  Admittedly, I went fairly quickly, but these are mostly seniors, and I would hope they would have some experience with formulas in Excel or Google spreadsheets.  But no.  Nothing wrong with that, really, but something I want to correct going forward.  I do know that one of our math teachers teaches some simple formulas during a single class period, but it’s out of context and they never–as far as I know–return to it.

In order for our students to complete this project, they have to use formulas.  Well, they could do it by hand, but that would be so time consuming and crazy.  So I’m thinking I need to run a workshop for the teachers on ways they can incorporate this skill and I need to find out more about where it could be used.

I was talking about this with Mr. Geeky, and he pointed out that most people are not good at this kind of analysis.  They don’t even think to ask questions that drill down into the data, questions like, “What is the income breakdown? Or gender breakdown? Or racial breakdown?”  They don’t know the difference between mean and median and how important looking at both might be.  I often use the classic example of a bar where the average (mean) income of the customers is $40k.  Bill Gates walks in and now the average income is over $1 million.  Now the average income has become meaningless as something that tells you anything about the customers in the bar.  One thing that computing offers is ways to slice data quickly so that you can start to see questions to ask and you can start trying to answer them with the data.  This makes me even more convinced that this assignment is an important one.  I’m looking forward to its outcome.

Counting Computer Science

Day 31: My laptop
Day 31: My laptop (Photo credit: lorda)

Nearly every day, some article crosses my radar about getting CS into schools.  There are articles touting that it should count as a foreign language, that it should be math or science, or that it should be its own thing.  Some articles suggest its career/job training and not a discipline at all.  And those in the field will jump in and say that everything they learned in their CS program is useless, so don’t bother, just learn on the job.

It’s very frustrating to be in a field where a) most people don’t really understand it and b) most people think they do because they use it every day.  So you get the people who think that if a student can navigate Facebook, they’re all good, no need to pursue the field further.  And you get the people who want a specific language to be taught because the people they supervise use that language to code in.  And you get the people concerned about keyboarding.  Or you get the robotics enthusiasts or the app enthusiasts or the web enthusiasts.  And if you could get all these people in a room to talk to each other, they might start to realize that a) they don’t know everything and b) maybe the field is bigger than you think.

One encapsulation of these struggles appeared in a recent Science Friday that left me frustrated, to say the least.  I’m a Science Friday fan, but this is the first one where I’ve been an expert listening and I was frustrated, not by Hadi Partovi and Jane Margolis, but by Ira Flatow’s questions, which seemed so uninformed.  About the only CS “myth” he didn’t pull out was the one about all the jobs being shipped overseas.  You can almost hear Partovi and Margolis’ frustration at having to explain things that should have been evident from just reading either of their websites or any of the many articles that came out during CS Ed Week.   The icing on the cake was when Flatow suggested “computer clubs”.  I wonder if the two guests were thinking, “Hello?! We have those.  The point is to make CS *not* just a club.  That’s why we’re on your show.”  And they did sort of take him to task, suggesting as I have before, that the people who join those clubs are the people who are already interested while the goal of CSTA and Code.org and Exploring Computer Science is to attract students who don’t know they’re interested.

Some legislators are on board with the spirit of this idea that everyone should have some exposure to CS, but after that, it goes a little awry.  Some (Kentucky, New Mexico, and the US House) want to make it a foreign language requirement.  Their hearts are in the right place.  They recognize that students have little room in their schedules for anything else and so, if you make CS a language requirement, they might be able to squeeze it in.  The problem is, it’s not a language.  The French I learned through high school and college is still the same French they speak today.  And the Latin I learned in grad school hasn’t changed.  And both continue to help me with vocabulary and sometimes, communication with others.  But the BASIC I learned in high school, no one codes in that anymore.  Ira Flatow mentions FORTRAN.  No one uses that anymore either.  CS is not about the programming language you use.  It’s about solving problems.  It’s about figuring out a puzzle, using the tools available to you.  Since I took CS, I’ve learned at least a little of 7 different “languages” and used countless tools to solve problems.

Math and Science teach foundational ideas that can be used in many disciplines.  CS is the same.  There are foundational ideas in CS that can be used anywhere, something Partovi and Margolis were trying to get across in their interview.  CSTA, Code.org, and other organizations argue it should count as a Math or Science.  Better yet, of course, it should count as its own thing, and it should be required for all HS students in addition to foreign language, Math, and Science, not instead of.   Logic, one of the underpinnings of Computer Science, was one of the original disciplines.  We spun that out into Philosophy and Math instead of CS.  Maybe we should go back to our roots.

Enhanced by Zemanta

Middle Schoolers and CS

I did something many of us are not always brave enough to do.  I surveyed my Middle School Students about how they liked the class.  We’re on a trimester system where I get a new group of kids every trimester, and yesterday was my last day with 8th and 6th grade and today was my last day with 7th grade.  I surveyed 7th and 8th grade.  I felt like my 8th grade class was a disaster.  One thing about trimesters is that I get to change things up sooner rather later, so if something didn’t go well, I can fix it.  And boy, do I have some stuff to fix–at least in 8th grade.  While in 7th grade, not everyone is convinced they should take computer science later, they generally liked the class. In fact 13 out of my 14 students said they would recommend the class to friends.

In both classes, I use Calico and we go through several projects.  In 7th grade, I use a Scratch-like language called Jigsaw.  In 8th grade, we’re using Python, taking advantage of the various libraries included in Calico.  In both classes, I think I need to vary what I do more.  While I like Calico a lot, I think I’m going to have to mix things up a little.  Both classes said they would like to create a mobile app.  I’m pretty sure I can’t do that in the time I have, but it’s something to keep in mind.  Both classes also said they liked working in groups.  I do group work but I also do one individual project.  I think I can let that go and just do all group projects.

So 8th grade. First, the class is too big.  I have 22 students (public school teachers, you can stop laughing now, I’m sorry). In fact, a majority of the students, in response to “What would make the class more enjoyable?”, said that the class should be smaller.  I had some major classroom management issues.  I was well aware of the talking and general carrying on and tried to mitigate it in various ways, and decided to focus on the majority of the class that was engaged rather than spending all my time disciplining the kids who really didn’t want to be there.  But, I need to think about what to do about that.  My 2nd and 3rd trimester classes will be just as big.  I have a few ideas–and some of the students actually had good ideas. So I’m going to try some new things on that front.

But, if your material isn’t engaging, then no classroom management technique is going to fix that.  And that’s where I think I failed more than on whether I can manage a room full of 13 year olds (which I admittedly sometimes need to work on).  So while I don’t think I can do everything they asked for, I do think I can vary what they’re doing.   We might do some things from Codecademey or some other tutorial sites.  I have this sense that letting them be a little more self directed might help.  Basically, I think I’m going to do a “choose your own path” route, but do a little more foundational work about how that works than I did previously.  I need for the classroom to be orderly, but I need it to be so not because they fear punishment, but because they have interesting tasks to complete.

One of the things that’s disappointing to me about having a class that doesn’t go well is that I’ve added to the negative perception of CS.  Almost half the class said that their least favorite thing about the class was learning about programming (that’s the 8 answers on the left of the pie):

What was your least favorite thing about the class?
What was your least favorite thing about the class?

Additionally, their responses about their attitudes on programming weren’t very positive:

I would say that programming is . . .
I would say that programming is . . .
Hard 9 16%
Fun 4 7%
Cool 6 11%
Important to learn 5 9%
Interesting 8 15%
Something I see myself doing 1 2%
Something I never thought I’d do 5 9%
Something boys do 1 2%
Something I wish I knew more about 7 13%
Boring 7 13%
Easy 2 4%

Many thought it was hard and boring.  There are some who said it was interesting, cool and something they wish they knew more about, but compared to the 7th grade class, there were more negative responses here.  In 7th grade, no one said it was boring, though just as many said it was hard. More thought it was interesting in 7th grade.  More than half of the 8th graders said they were Not likely at all or Unlikely to take CS in Upper School while in 7th grade more than 50% said they were somewhat or fairly likely to take CS in Upper School. No one in 7th grade was at either extreme, Not likely at all or Very likely.  I’ll take a “well maybe” from a 7th grader.

All this means to me is that I have some work to do–and fast! Second trimester begins after Thanksgiving.

 

Fantastic Week!

This was a week that reminded me of why I teach.  And why I teach computer science.  My CS I students started the week very confused by functions.  Then I handed out robots.  Now they are beside themselves with delight and possibility.  They’ve named their robots George and Percy and Harold.  They asked if they can play with them at home.  Do extra work? Sure!

Meanwhile, my physical computing students are exploring 3D printing.  We successfully printed a box and a cake, and we’re now working on printing a mini-version of one of the students.  Wednesday’s class, everyone was doing their own thing, but everyone was working.  I documented it in pictures here.

In 7th and 8th grade, students are working on Choose Your Own Adventure Stories in two different environments, Python and Calico Jigsaw.  They’ve actually got the logic figured out.  I saw some crazy nested if statements, and I saw some students going over the logic to make sure everything was right.  Just fantastic!  Also, as I was going over something else yesterday in 7th grade, I asked, “Who can tell what I have when something is in quotes.”  One student enthusiastically raised her hand and said, “A string!”  7th graders who know what strings are is a good thing in my book.

Also, we had robotics yesterday with a packed classroom of students, some of whom I wouldn’t expect to be there.  While they probably only worked on robotics for 30 mins, they still seemed excited. And today, I’m talking to the Academic Committee of the Board about our computing curriculum and ways to expand it.  It’s really an exciting time to be a Computer Science teacher.

I don’t know what I’m doing

That’s what I told my Physical Computing class today (hi guys if you’re reading!).  Because it’s kind of true.  I haven’t made a lot of things.  My cat tracking project was the biggest project I completed.  It didn’t take too long, and I certainly figure it out after some trial and error, but I do not hold all the answers.  Of course, I never do.  The thing about teaching almost anything is that students invariably ask questions you don’t know the answer to.  Often they ask complex questions, exactly what we want them to do!

And even though I’m pretty comfortable saying, “I don’t know” and/or failing in front of my students, it’s still unnerving.  It actually feels a little like going to a new place for the first time or riding a roller coaster.  You know something interesting awaits you, but you have no idea exactly what it is.

Despite my not knowing what I’m doing, the students seem pretty psyched.  I can’t wait to see what they create.  They’ve already started tossing around ideas.  It all sounds exciting.

Friday Tabs

I have to say, I find these lists kind of fascinating.  It’s kind of like seeing what I’ve been thinking about over the course of a week.  There are certainly things that stay open for more than a week, but generally, I collect slightly different things each week.  It’s clear the Internet is one big research library for me.

Rebuilding my Eco-System

Newsblur Care Package
Newsblur Care Package (Photo credit: Zack Fernandes)

The last few days, I’ve been reading and collecting a lot of information.  Once upon a time, as I mentioned a while back, I had a system that allowed me to very easily share items I’d collected to a web site.  I used Reader plus Delicious and then Javascript to embed.  Delicious had a tool for that, but that went away when Yahoo sold it.  Ever since, I’ve been trying to replace my system with something new. So far, I haven’t found the perfect thing.  I’ve signed up for Newsblur. So far I like it, and there are lots of sharing options. I think I’m going back to Diigo, which allows me to post items on my blog automatically.

However, I have a slight problem, which I think can be fixed with iftt.  For the newsblur iPad app, where I read a lot of my feeds (I like the size and convenience), Diigo isn’t available.    But I think I can go to an intermediary and then post to Diigo, which will then post to the blog.

Here’s the thing.  I like reading things on my iPad.  It is really built to be a very nice consumption machine.  But taking those things that I consume and remixing them is really hard on the iPad.  There’s no having multiple tabs option.  Most of the stuff that’s built in for sharing isn’t for sharing to a blog and then adding commentary.  Heck, it’s even hard to post to Google plus where you have more than 140 characters.  I guess Facebook does too, but *shiver*.  Maybe the iPad needs to get better at this, but I think the rise of the iPad explains, in part the decline in blogging and creating.  I blame Facebook and Twitter, too.  The world has moved to a consume and tweet it world.  God, I sound old.  I’m actually okay with some quick sound bytes.  I use Twitter and Google + a lot.  But I don’t always want to limit myself to reading and writing 140 characters, and that’s what I feel like some of the apps on iPads encourage.  Read this article, then post it to FB or Twitter, sometimes without allowing even a comment.

If you’re wondering if software matters, it does.  The way interfaces are designed can determine how we interact with information, whether we’re going to be consumers or producers. No one should just accept what comes with your machine.  Hack it to be the way you want it.  When I get some more time, I might create a better system from scratch, but that’s a summer project.  For now, as they used to say, “small pieces, loosely joined.”

Enhanced by Zemanta

Time Passes

How does two weeks go by–just like that?  I’ve had the busiest two weeks, and there’s more to come.  Honestly, I don’t see a break until spring break.  It’s all good stuff, but I really wish I had some time to sit back, think, plan (I’m currently planning classes at night because there’s no time in the day), and reflect.  I pulled out my to-do list yesterday, and sitting there are 3 or 4 long-term projects that I’d hoped to plug away at, but which I haven’t touched.

On the plus side, I’m giving a talk in a couple of weeks at our big national conference.  I also had another talk accepted at another big national conference that happens over the summer.  And I am spearheading a couple of things at school that are starting to come to fruition.  Which takes work, but it’s good work.  I had another robotics competition this weekend, which my Upper School students won (with the help of the boys school down the road, but they did some really good work).  We’re gearing up for another one in a couple of weeks.  I started another club that’s focused on programming, and we have 6 or so students coming.  I’ve helped a student land an externship, written a letter for another to do a programming camp, and I’ve presented my classes to all the grade levels.  Rumor has it that enrollments are going to be up next year.  We’ll just have to see how the schedule falls out.

I’m both excited and nervous most of the time.  I’m excited by all the good work around computing that’s happening at my school, and for myself personally.  But I’m also nervous about living up to expectations.  Stupid imposter syndrome.  But I’m plowing ahead, taking one day at a time.  I hope to be writing here more often.  I miss it.

Assessment, Group Work and other vexing issues

Last week, Gas Station without Pumps had a post about the problems with group work.  I just did a group project in my CS class which I didn’t think went quite the way I wanted it to.  It wasn’t horrible, but it wasn’t great either. In part, it’s my fault for not setting better parameters for how the group project should go, but I think it’s also just really hard for students to do group work in a real sense.  They’re too worried about how they’re going to be assessed to contribute in an authentic way.  Stronger students often take over or the work gets divided up in ways that aren’t really useful; it’s just convenient for the students, especially for the assessment piece.  I plan to do some further research about how to make this work better.  I believe in group work.  I think I just need to include the right kinds of assessment tools to recreate the authentic experience one would get in a work situation.

I’m constantly struggling with assessment.  I’ve been teaching for over 20 years, and it’s this issue that I always get hung up on.  I like project-based learning, and for the most part, it works for me, but then I also want to include ways of testing for concept understanding.  What’s happening to me a little bit is that students rely on me and the textbook or other materials to complete their projects.  They’re copying a lot of code and altering it.  That’s not a bad thing necessarily, but then I’m never sure if they really understand what they’re doing.  So I have started having tests to make sure they really get a concept.  But I’m not sure that works that well either.

Last year, I mentioned that I was primarily focusing on the creativity in the projects.  The more explicit I was about that, the better the projects were, and the less “code copying” the students did.  So, often, my issue with assessment is really an issue of me not laying out the guidelines.  Of course, creativity is a subjective thing, and I hate turning something like that into a rubric (though I do for middle school).  Basically, I want them to create projects that make me say, “Wow, that’s pretty cool.”  But I can’t put that on the assignment sheet.  Sigh. I’d love to hear from others about assessing projects or even assessing inquiry-based learning, which is something I want to do next year.

Projects for girls

A week ago, Alfred Thompson was musing about CS projects that might be interesting for girls. I commented on the virtual pet program my CS II students are working on. Honestly, finding things all girls are interested in is difficult. I have all girls in all my classes, so I’m always leaning in the direction of “girl-specific” projects, but mostly, I keep it general and let them pick. So, in my 7th grade Scratch class, I tell them to create a story, and the guidelines I set out are technical (change backgrounds, change costumes, have your characters talk) and contextual (your story must have a plot). What I don’t say is what the story has to be. So I got stories about princesses and cats, rock stars and aliens. Recreating fairy tales was by far the most popular thing to do. Now they’re working on games, where going through mazes seems to be the most popular choice.

As I’ve written about before, I’ve always struggled with engaging 8th grade. Infographics seems to be working. The key is I let them pick their data. So, I have broadway plays, Starbucks drinks and favorite vacation spots.

To teach lists last year, I told students to create word games. We ended up with trivia games, boggle, jumble and lingo. Graphics is always a huge hit with my students. Graphically representing anything adds to the fun. So when we were learning about files and data structures, they created infographics (it’s a theme for me this year). Objects is the same way. Though it’s a challenge to add graphics, they like visualizing their objects, so we have virtual pets and haunted houses. For final projects last year, we ended up with pong and snake, fun games with easy to generate graphics.

I think the key is to offer several examples. For the objects project, I suggested everything from a book being sold online to a student registration system. While the latter might be more real world, they tend to gravitate toward things that are more fun. Choice is key. Many of the CS classes I’ve taken have students writing code for a single purpose. Write a poker program or write a program that reads in this file and spits out this data. Those lack creativity because one has no choice. I’m actually assessing creativity, which I can’t do if students have no choice, if all I’m looking for is good code. For the record, the harder the projects get, the messier the code. If I graded just on whether the code was organized, my students would fail.

Creative ideas and solutions to problems are more important to me than neat code. And girls seem to want to come up with creative ideas and don’t want to focus so much on neat code. All I ask is for no errors. If the code doesn’t quite do what you had in mind, fine, we’ll deal with that later. I don’t get hung up on things they don’t need to know until or unless they become professional programmers. Things like comments or even public versus private methods I leave for another time.

Most of my projects, I come up with myself, but many I get from books. The virtual pet project I got from Python Programming for the Absolute Beginner, 3rd Edition. I often modify them or let the students modify them. We discuss what might be appropriate and fun before we start. Familiar projects might be easier for a teacher, but I’m betting the concepts don’t stick with the students if they don’t find them compelling.

Ultimately, I think compelling projects will work for boys or girls, but I find girls often need more suggestions than boys. The industry right now is all about boys so examples of games, for example, come readily to boys. My girls turn to friv, which offers dress-up games and other kinds of girly games, for example. I do worry about stereotyping for some of these games, but if creating a dress-up game will draw in one more girl to CS, I can address the stereotype issue later (which I always do). Just ask girls what they’re interested in, and then try to turn it into a project. That usually works better than trying to come up with your own ideas.