Friday, November 06, 2009

Almost end of 1st quarter update

The kids are doing quite well in Java. The fraction calculator project is well under way. It's interesting to see the moment that something clicks in their mind. They'd be struggling with the whole concept of StringTokenizers and after two or three days, you can see that little light going off. It's pretty cool.
Also, nothing beats actually getting them up on the board to write code to make everything absolutely clear.
Right now, trying to get them to factor out chucks of code in their main method into actual reusable methods.

Monday, October 05, 2009

Scratch as a beginner language in high school

So we spent the first 4 weeks of school learning about CS using Scratch. I think for high school, 3 weeks would have been perfect. The last week, we weren't really learning any new concepts, but just making the projects more complex.
We have started Java, and it is a lot easier to explain a bunch of CS concepts by referring to their equivalents in Scratch. The for loop was an easy one after the students used the repeat if function in Scratch. Same goes for setting variables and conditionals.
Sadly inputs in Java and parsing will be much harder to deal with...

Wednesday, September 30, 2009

Back in teaching

I am now teaching CS part time, and the course is intended for high school students. It is actually divided into 2 parts, which I have only done as a Teaching Fellow, Scratch to get the kids understand variables, conditionals, loops, message passing, and next week, Java! We'll see how that goes.

Saturday, April 25, 2009

CS education (literacy) through the school system

Getting a CS literacy curriculum through the state / district level is the most obvious, and probably the hardest way to get CS into kids' hands.
First of all, changes to the state curriculum is no easy task.  California, of all places, home to the world's 8th largest economy and silicon valley, has no CS curriculum requirement for graduation.  The amount of bureaucracy to get this done will be huge.  The state and school districts will have other priorities, and will face big challenges from teachers unions, parents, other competing programs (the arts for one) for money.  
Working CS in the state curriculum guideline is one thing, then there's the implementation of it at the district level.  Current district level technology directors (if they have one), is more of a position where the objective is to integrating technology into education, not technology education itself.  
Teachers Unions will obviously have a say in this matter as well.  A whole certification program will have to be spooled up.  Guidelines for hiring, and evaluating CS teacher, and people with enough expertise to do so.  Indeed, there will also be a problem of teacher supply.  Imagine during the dotcom bubble, how many CS teachers would have taken the scale instead of jumping ship to industry.
Parents will have many different opinions on this as well.  Perhaps money spent on CS would be better spent on another science, band, art, auto shop.  A whole host of voices saying that why computer science instead of X.  Textbook choice will yet be another matter, which one?  Do we want kids to memorize, or go with constructivism?  Parents will have an opinion on this.  Especially parents in the tech industry.
Well, why would this be a good idea?  The entire infrastructure will already be there for teaching kids CS.  Just add teacher and curriculum.  Once in the state curriculum, every student will have to go through the class for graduation.  That is a huge plus.  There will be standardization, assessment, state funding, etc...
The long range goal for CS education will have to be this.  Despite record number of H1B visas, and ever fewer number of CS grads (economy has something to do with this), the push for STEM, there just isn't a national push for this.  There's no single huge moment like when Russia launched Sputnik that spurred the country on.  

Wednesday, April 22, 2009

Getting CS education into kids' hands, so to speak...

What's the best way to get our school age kids technology literate?
Should we just kinda let it happen through their everyday interactions with it outside the school system? As if by osmosis?
Should we do it in after school programs?
Should we try to get industry to push it into schools though sponsored extra curricular clubs?
Should we try to push it into state wide curriculum?
All of these will have pros and cons, meet various resistance, and constraints.
I have thought about this quite often, and have not come up with a good solution. I will try to break each down in the next few weeks.

Tuesday, April 21, 2009

Why relevance in STEM education matters

This cartoon simplifies the issues a little bit, and somewhat stereotypes, but you get the idea...
It's not about the theory, but the application right?

$125,000 teacher salaries

Looks like the founder of the Manhattan GMAT Prep Services founded a school where they pay middle school teacher as if they were b school grads. $125,000 a year, plus $25,000 bonus. The hiring process looks at the teacher's GRE/GMAT scores!
Adjusting for cost of living, $150,000 in NYC is about $120,000 in Seattle. That is two and half times the salary of a new teacher.
The high salary would be able to keep stellar teachers who would otherwise leave teaching for financial reasons, especially if they scored above 90% on the GRE/LSAT/GMAT.

Monday, April 20, 2009

US First Robotics on KUOW

This is a refreshing take on the US First competition from the point of view of a proud Mom.
I participated in the competition my final year of school, when the entire thing was just getting off the ground. It's grown quite a bit, I'm very happy to see it so popular.
It's a great example of outside influences helping engineering education in high schools where otherwise there would be none.

Tuesday, April 14, 2009

Use Assassin's Creed 2 to teach art history

If you've read my previous posts, you know I'm a fan of art history, and I'm always looking for a more fun way to teach it.
Assassin's Creed 2 is a sequel to a very popular, and somewhat violent game, that takes place in Renaissance Italy. I remember one of the hardest things to do in an art history classroom is to visualize space and architechture without actually being there. AC2 fixes that for a fairly large chunk of art history curriculum.
There's gonna be Da Vinci, Florence, and Piazza San Marco, I mean look at the screen shots. You can walk around, kill things, and appreciate the architechture. Sure beats Rick Steves (and I like Rick Steves). This is a much better teaching tool than old slides from architecture books.
Even better, Venice looks like what it should have looked like in the time period.

Sunday, April 12, 2009

CS theory, application, and education

I always knew that UC Berkeley has a great CS department, and it was theory heavy.  Apparently the latest US World News rankings agree.  So what does that say about the CS students that Berkeley unleashes into the wild?  I have heard certain knocks about Berkeley EECS grads.  I think mostly it has to do with the purpose of the EECS education.
As great and challenging as the engineering education I received at Berkeley, I feel there are two classes that should have been mandatory for all EECS students (the ones on the CS track anyway).
1.  CS169: Software engineering.  This class should be expanded and perhaps made into a 2 part series.  The real world requires working in project teams that's a part of an even larger group.  We needed to learn the entire software product cycle.  From requirements gathering to complexity and risk management to support and sustained engineering.  
2.  CS160: User interfaces.  No EECS student should be able to graduate without a course in HCI, plain and simple.
I think the Berkeley EECS program should take into consideration that a majority of the graduates will be going into industry rather than aiming for a professorship down the line.    

Thursday, April 09, 2009

Teaching a hard choice for CS grads

I have often wondered whether computer science teachers should be treated like any other teachers when it comes to pay.  I think the lack of interest in AP CS is not just the lack of student interest, it is also a lack of willing and qualified teachers.
The average teacher salary in the Seattle area is $41,137 according to MSN Careers, for a software developer, $73,774.  The difference more is startling in Palo Alto, $43,361 vs $92,804.  The data here doesn't differentiate between elementary and high school teachers, so I think the numbers are a little low, but not by much.  Likewise, the developer number in Palo Alto might be more senior, and therefore skewed on the high side.  
If averages aren't your thing, here's two more concrete examples from 2006.  The first is a link to the pay scale at Cupertino Unified, the hometown of Apple Computers.  The second is the general pay scale at Microsoft, Level 58/59 is where most new hires start.
As you can see, a new computer science teachers gets paid $51,071, while his college classmate who ended up at Microsoft earns $75,000.  That's not quite the whole story, add to $75,000 about $5,000 in stocks and bonuses, and you're looking at $80,000.
The real problem here isn't the starting salary, it's the raises.  To get to his friend's $75,000, the teacher will have to get a masters and teach for 10 years.  To get to the highest pay grade at $95,000, it takes the teacher 27 years, and his friend at Microsoft 4 years to get to Level 61 at around $90,000.  

If you had an average student loan of $20,000 when you left engineering school, it'd much easier to pay it back if you went into industry.  In fact, the difference in accumulated earnings is $90,000 in just 3 years.  That's a Porsche Boxster S in 3 years after taxes, or pay off your student loans and a BMW 3 series.  I like to use cars at this point since it's a little more tangible than just a number.
Add to that, a house in Cupertino averages 1.2 million, if you want to live where you teach, that's gonna be almost impossible.  In purely monetary terms, as a CS teacher, sooner or later, it becomes a very hard to choice to stay in education.  
It's good to know that none of us with engineering degrees went into teaching for money.

Tuesday, April 07, 2009

Language learning via MMORPG

This is another HGSE project prototype where we explored what kind of educational game you'd get if you combined WoW with a Berlitz class.  We initially went the Carmen Sandiego route a little bit, but we realized that it didn't really have enough interaction with fellow language learners.  The final prototype was a semi-interactive Flash proof of concept.

Responsive Room

Responsive Room was a project for the Tangible Media class at the Media Lab.  It is designed to make reading a more immersive experience for kids.  It uses speech recognition and AI to determine the mood in the room, in our case, reading a story out loud.  You can also imagine this being used in any scenario where there's speech.  Based on the mood, the room changes color and provides appropriate music


What's the best part about visiting a museum? The museum shop of course! This was a project I did for Shari Tishman's museum education class. We found out that a lot of the informal learning actually takes place in the museum shop, and visitors often takes something meaningful home with them.
Our group actually dipped our toes into retail, and mocked up a concept museum store where shopping and learning get together.


This is a project I did for my HCI class back in the Berkeley days. We need to think back to 2001 before everyone had a smartphone.  The handheld computers back then did not have any connectivity without a very expensive WiFi card.  No Bluetooth, GPS, and very limited storage.
The project was aimed at making the museum experience more interactive.  Our solution for location based awareness was to bar code objects, and have content tied to that bar code.  We had videos, a central comments server (visitors can comment on a particular piece), and ability to send all the info and links to their personal email account. 
These are a couple of slides from the class presentation.


Since my old HGSE blog was wiped out on SpyMac, I'm trying to recall what I posted.  
This is one of the projects I did for my software engineering class at Berkeley.  My project group got to use CS to solve an issue that has been plaguing art history profs and students alike for years.  For every lecture, the prof (or TA) has to go into the slide library and manually put slides into the Kodak Carousel (yes, I watched that episode of Mad Men), and then have to post whatever reproductions in the art history library so students can see them whenever they want.  
We created ArtBanc to move the entire process online.  A portal where instructors can upload, categorize, and generate PowerPoint presentations, and a student portal where they can see the art when and where ever. 

The first image is a UI prototype, the second is a screen shot from the working portal.  This was all back in 2001.


The State of Technology Education in the US

I just saw some interesting stats from the 2007 AP tests.  It is distressing how far computer science lags behind the other sciences.  In order of number of students who took the tests.  

1. Biology 145,000
2. Physics 100,000 (B, C Mech, C Ele& Mag)
3. Chemistry 97,000
4. Computer Science 20,000 (A & AB)
In comparison, US History had 311,000, and Calculus had 290,000.  

This is in a world where high schoolers are all about being on Facebook, XBox, and PodCasts.  Yet when I started teaching in 2002, the State of California, home to the high tech industry, did not offer a state certification for computer science teachers.  I would even argue that most of these AP CS test takers mostly came from private schools that have seen the need for such education for their students.
We have seen our IT industry leaders testifying before Congress asking for H1B Visas.  The long term request from the IT industry should really be making computer science a required science subject in American high schools. 

Friday, April 03, 2009

Second Life vs World of Warcraft

There's been a lot of hubbub in the education community about Second Life. There are two camps who are very excited about it. One I kinda agree with, the other not at all.

The first camp is distance learning. I sort of agree, there's a great interview with Rebecca Nesson here: I see that it puts the distance learning model of online forums, and structured LiveMeeting / WebEx type web conference into a 3D MMORPG space. It eliminates some of the issues of text / bulletin board model, but I'm not sure if it is better than the hybrid forum + web conf model for certain content / classes. Be interesting to find out which one is better.

The second camp is the group who are trying to use SL as an educational gaming platform. That one I don't get. Most gamers I know don't play SL, this is evidenced by size of the user base, around half a million. World of Warcraft, on the other hand, has about 12 million. If educators are trying to use a platform that appeals gamers and kids, WoW is it. SL is much more generative than WoW, but I think why are we making something that most gamers and kids aren't interested in into an edutainment platform? Of course I have no idea whether Blizzard ever plan on opening up WoW to educational content, but it seems that the "tainment" part is pretty important if we want to keep the learners engaged.

Blog moved

Looks like my old blog for when I was at Harvard Ed School on SpyMac is gone...
This seems like a more permanent space for the blog.