Professional Development Activities

Tuesday, October 30, 2007

Silicon Valley Code Camp
27, 28 October 2007 - Saturday and Sunday
Foothill College Campus
http://www.siliconvalley-codecamp.com/

This was another "unconference", meaning that it is volunteers organizing and speaking, and fully free to attend. Unlike the other unconferences, this one is all about code, virtually no sales/marketing talks and very little UI design or project management discussions.

This is the second year in a row that Code Camp has been held at Foothill, and everyone seemed really happy to be here! They scheduled the talks with very long breaks in between, and Microsoft generously provided lunch. This encouraged lots of networking. It was great to see current and former students here too.

"The XO Laptop" laptop.org
There was a man at Code Camp with this amazing little plastic laptop made especially for children in the developing world. Starting Nov 12, you can spend $400 to get two of these laptops: one for your child and one for a child in the developing world. There are lots of high fliers on the board of this organization, called "One Laptop per Child". Given a tool like this, the creativity of a child is endless and would definitely change the world.

"JavaScript: The Good Parts" by Douglas Crockford
Over two hours about how to write a good quality program using this poor quality language. Crockford is definitely a JavaScript guru, and he gave us some great advice that I can apply in other languages as well:
-always use break with switch
-always use {} with control statements, even when not necessary
-don't line up {}, instead use K&R style
-never use ++ or --
In general, he said to never be clever. Instead write the most clear and simple code, best comments, and don't cut corners to be cute. It's not worth it!

I need to study:
  • Flanagan is Crawford's favorite JavaScript book.
  • lambda is his favorite feature of JavaScript
  • I need to understand more about closures
  • "arguments" is an array of all arguments passed into a function
  • JSlint.com has a great debugging tool
Crockford echoed another genius programmer's pronouncement that "It's REALLY hard to write good JavaScript programs!" I see that he has a lot of good tips on his website:
http://crockford.com/

"KML Google Maps Mashup" by Van Riper
KML is a flavor of XML that allows you to plot points on a Google map overlay. I have created Google maps in JavaScript before, but I never knew that plotting points was as easy as writing an XML file. I wish that he had gone into how to plot routes, but he didn't. There is a KML support group, and an active community of users that are anxious to share their information. This would be useful for the bike route maps that I discussed on my previous post from the ATE conference.

"Software Engineering Best Practices for the Web 2.0 World" by Joseph Kleinschmidt
This was all stuff I had heard before. I am just happy to know that practices like test driven development, well written documentation, and serious code reviews are no longer considered radical.

It was very difficult for me to go in to Foothill on the weekend, but it was worth it! Sitting in rooms listening to lectures also gave me a lot of sympathy for my students, and hardened my resolve to get my students to be active learners, solving problems and working on projects instead of just listening to me talk.

Tuesday, October 23, 2007

Trip Report
National Science Foundation (NSF)
Advanced Technological Education (ATE) Conference
Washington DC, 17-19 October 2007

All researchers funded by NSF's ATE attend this conference each year, and the cost to attend is paid for by the grant. This was my third year here at the Shoreham Hotel.

I am co-principal investigator on a grant entitled "Scenario-Based Learning in Technological Education." This is funded through a section of NSF that is charged with educating the technicians of tomorrow. Since most technicians have two-year degrees, most of these researchers are from community colleges, and most of the research is around teaching. Our group creates curriculum in different subject areas that places students in real-world scenarios (such as "entry level programmer in a consulting company") in order to engage them in active learning in a practical context.

Keynote
The keynote was about how we need to change the perception of "technician" in our society; the NSF may fund a marketing campaign that hopes to get young people interested in technological careers. It is agreed that the current lack of interest in these careers is damaging the US competitiveness in the global economy.

Workforce Study
I took this opportunity to read a 2007 report on the "InformationTechnology Workforce Skills Study." The authors interview many employers to find what skills they desire in their employees. Though the study was aimed at the Boston area, their findings are applicable nationwide. Nothing new here, though lots of proof of what we know already: employers require team players, good communicators and good problem solving skills. The ability to use a particular software product or to write in a specific programming language is secondary. Interesting quotes from hiring managers:
• "Technical skills get you the interview - soft skills get you the job"
• "I ask 'Can I spend 4 hours in a car with this guy?'"

I would be happy to send you a copy of this informative report in pdf format, just send me an email.

Google Map of Bicycle Paths
The many convenient paths that are accessible only to cyclists or pedestrians are very difficult to find and appear no place on the web. There has been talk on the email list for the Silicon Valley Bicycle Coalition that we need to create one. At the ATE conference I met Allison Lenkeit Meezan who teaches GIS at Foothill. She said that she could find some students to help in such an effort. This could be the beginning of an internship program for students, and could result in valuable contacts at Google.

Web 2.0
There was a presentation on how instructors could use Web applications to interact with their students. Even though I teach this stuff, I found out the following new information:
• A free, simple Wiki is called PBWiki.com
• If you create a spreadsheet with Google docs, it can contain a cell whose formula looks up a value anywhere on the web.
• A blogger can use a product called "clustrmaps" that shows where in the world your readers are coming from.
• A good site is pbs.org/cringely/nerdtv that will keep you up to date.
• YouTube offers non profits a free "channel".

Regional Centers
In order to facilitate the sharing of information and the centralization of resources, ATE has a number of Centers, some of which specialize in specific technologies. City College of San Francisco is applying for a grant in networking, and our grant will be using other centers to assist in proliferating our work. Because we don't have a center close by, I had forgotten this important resource.

The Spy Museum
The day after the conference, I visited the Spy Museum with an old college friend. I have to mention this because they had an "experience" called "Operation Spy" In a team of 15, we were spies looking for a nuclear detonator, interrogating a double agent, picking a lock, disabling surveillance cameras, and more, all in one hour. I was struck by how this scenario got most of us going, feeling the adrenalin, working in a team. It was almost like being inside an episode of "24". Our leader, the museum employee, never stepped outside of his role. It made me think that when I place students into the scenarios I have created, I should strive for more realism like this.

The rest of the museum is more traditional, watching videotapes of interviews with real spies telling stories of their work, and displays of evidence and details of real espionage, mostly during the cold war. My friend and I may have learned more from the more traditional part of the museum, but the scenario may have been deeper learning that will persist longer within us.