Archive for April, 2011

The UK’s Register on new MIT Media Lab Director

The announcement of MIT’s new Media Lab Director is a big deal, and is relevant for computer science.  What I found most fascinating about this piece was the blatant contempt that The Register obviously holds for the Media Lab, e.g., referring to Nicholas Negroponte as “The PT Barnum of Science.”  They say, “While real research is about finding new ways of thinking and finding new ways to tackle difficult problems, the Media Lab is really an incubator for media stunts, debasing the idea of research.”  (The MIT Media Lab is the home of Scratch and other great computing education innovations.)

Is this just The Register, or is this a common perception of the Media Lab outside the United States?  Do they see the value of things like Scratch, or do they see the education work as similarly “debasing,” or do they not see the education work at all?

MIT has appointed a new director of its Media Lab: a blogger and networker who found computer science boring, and dropped out of higher education completely after discovering that he couldn’t learn physics “intuitively”. But since it’s actually MIT’s Media Lab we’re talking about, the appointment of dot com socialite and self-confessed dilettante Joicho Ito is really the perfect, perfect choice. A happier marriage could not be imagined.

Ito has dabbled as an entrepreneur, running Japan’s first ISP for a year, and in the last few years helped inflate the Web 2.0 bubble. He has been CEO of Creative Commons, set up a Guild in World of Warcraft, and served three years on the board of domain name quango ICANN. More recently he’s been in Dubai, the lowest tax regime in the world.

via MIT Media Lab appoints college drop-out, socialite • The Register.

April 29, 2011 at 7:01 am 7 comments

Do the Chemistry Profs care about teaching more than the Computer Science Profs?

A couple of weeks ago, Barb and I were awarded Georgia Tech’s Service Award for our work with Georgia Computes!. At the same awards ceremony, across the table, was David Collard of Chemistry who was getting the Professional education award.  He’s been part of an effort (described below) called cCWCS which teaches chemistry faculty how to teach better — and the program has taught over a thousand faculty!

A thousand faculty?!?  I’ve blogged about how hard it is to get CS faculty to come to our workshops, either Media Computation or Georgia Computes.  I’ve talked to other folks who offer workshops to CS faculty, and they say that they have to invite high school teachers, too, or they won’t have enough people to run the workshop.  Why do so many Chemistry professors show up, when we struggle to get CS professors to show up at teaching workshops?

Barb had an interesting insight: Maybe it’s because Chemistry is taught to everyone.  When you teach something to everyone, you have to teach it better, or at least differently than what you’d just teach to your majors who are more motivated to learn it.  If you don’t change your practice, you end up flunking all the students, and that becomes a political problem on campus.  CS faculty, for the most part, teach to our own.  Maybe as we teach CS to more (as Eric Roberts’ post suggests), we too will have to increase our focus on teaching.

What cCWCS does

cCWCS provides support for STEM education dissemination efforts efforts. This takes the form of sponsorship of workshops and symposia, assistance with advertising and webpage development, and formation fo partnerships and networks. Please see our What cCWCS can do for YOU! webpage for more details.

Origins of cCWCS

The Chemistry Collaborations, Workshops and Communities of Scholars (cCWCS) program is the successor to the Center for Workshops in the Chemical Sciences (CWCS).   CWCS was supported for 2000-2010 by a series of grants from NSF Division of Undergraduate Education Course, Curriculum, and Laboratory Improvement program. Over a ten-year period, CWCS offered over 100 hands-on, intentive and immersive five-day workshops for over 1800 participants. These workshops were designed for individuals engaged in undergraduate teaching. They incorporated lots of hands-on experiential learning and provided extensive sets of high quality tested curriculum materials.

Looking ahead

As cCWCS, funded by the NSF TUES program, the schedule of workshops will continue but a much broader set of activities will further engage members of the professoriate networking opportunities. These include both week-long workshops, shorter workshops and symposia at conferences, support of regional initiatives, and dissemination and implementation grants. The development of new web-based communities provides further opportunities to engage the professoriate in professional development activities.

via About cCWCS | Chemistry Collaborations, Workshops & Communities of Scholars.

April 28, 2011 at 9:54 am 20 comments

PyCon 2011: Python and Robots

An interesting video on using the IPRE approach to teaching high school robotics.

Combining Python with inexpensive robots is a very effective way of teaching programming at the middle and high school levels. Since Python is easy to understand a constructivist approach is possible – students learn by creating and running simple programs, observing the results, and then modifying their code to fix bugs and add functionality.

via PyCon 2011: Python and Robots: Teaching Programming in High School – PyCon US Videos – 2009, 2010, 2011 – blip.tv.

April 28, 2011 at 9:37 am Leave a comment

The PhD factory

This article from Nature has been leading to a lot of discussions where I’m at.  It relates to the CRA’s call for more discussion about post-docs.  Are we producing too many PhDs?  Or should we preparing more PhD’s for non-academic jobs?

In some countries, including the United States and Japan, people who have trained at great length and expense to be researchers confront a dwindling number of academic jobs, and an industrial sector unable to take up the slack. Supply has outstripped demand and, although few PhD holders end up unemployed, it is not clear that spending years securing this high-level qualification is worth it for a job as, for example, a high-school teacher. In other countries, such as China and India, the economies are developing fast enough to use all the PhDs they can crank out, and more — but the quality of the graduates is not consistent. Only a few nations, including Germany, are successfully tackling the problem by redefining the PhD as training for high-level positions in careers outside academia.

via Education: The PhD factory : Nature News.

April 27, 2011 at 8:03 am 5 comments

Mark visits with the CSTA Sock Monkey

Chris Stephenson took my picture at the meeting to launch the new Partnership to Advance Computing Education:

Today, CS Sock Monkey launched an important initiative to support and promote computer science education in K-12.

In this role, Sock Monkey will have the opportunity to meet with many leaders in our community and to provide key insights on CS K-12 issues.

Here, sock monkey is congratulating Dr. Mark Guzdial, Professor, College of Computing, Georgia Institute of Technology on winning (along with his wife Barbara Ericson) the Karl V. Karlstrom Outstanding Educator Award from ACM.

via Computer Science Teachers Association.

April 26, 2011 at 3:18 pm 1 comment

The best-researched CS textbook ever

When I visited Carnegie Mellon University a few weeks ago, I got to spend some time talking with Ken Koedinger and Albert Corbett about the early cognitive tutors research on Lisp, Pascal, and Prolog.  Albert told me that, at one point, they tried to teach Lisp, Pascal, and Prolog, all in one class.  At first, they taught it for maximal transfer, i.e., teach the same/similar production rules close to one another.  So they’d teach assignment in Lisp, Pascal, and Prolog; then conditionals in Lisp, Pascal, then Prolog, then…you get the idea.  It was, as you might imagine, a disaster.  Then they taught the three languages in sequence, and it really worked!  Albert said that that’s when he realized how much programming novices bind their knowledge to surface-level features.

Ken told me that the way that they taught Lisp (which mirrored the order of material when taught Pascal and Prolog, to get the most possible transfer) was then put in the book Essential Lisp by John R. Anderson, Albert T. Corbett, and Brian J. Reiser.  I had to get myself a copy (less than $6 used, including shipping).

Cover of Essential Lisp

The introduction includes references to the six, now famous and often-cited, journal articles that describe the research that informs this book.  I realized that I was holding probably the best-researched CS textbook ever — not in the sense of evaluating it afterward, but in the sense of having a lot of really good evidence at the design stage that this was a good way to teach computer science.

Some of my immediate observations from flipping through the book.

Start out slow, and progress slowly.  Here is the first exercise in the book, from page 5. “Write a LISP function call that adds the numbers 3 and 2. You should call a particular LISP function with the arguments 3 and 2.” Second exercise: “Write a function call that will divide 6 by 2. Do this just as you did in the previous problem, but use the function that divides numbers.”  If you can’t do this, please re-read the first five pages of the book, which contains all these answers.

Mutable variables are no big deal.  I know that people worry a lot about mutable variables in functional languages these days.  I am told that that’s why Structure and Interpretation of Computer Programs avoids them for so long.  I know of no evidence that shows that mutable variables really are a problem for anyone. Setq is introduced on page 13 of Essential Lisp.  Parameters to functions are introduced on page 23.  That may be an accident — I don’t see any references to studies that show that that’s the best way to do it.

Iteration before Recursion.  Essential Lisp teaches iteration (with loop) on page 94. Recursion starts in the next chapter.  This is very purposeful.  The introduction references a 1986 paper by Kessler and Anderson (“Learning flow of control: Recursive and iterative procedures” from Human-Computer Interaction) where they explored recursion first, then iteration first.  I looked up and read that paper, then the follow-up paper by Susan Wiedenbeck (1989, International Journal of Man-Machine Studies).  Bottomline: If you are going to teach both, always start with iteration.   The explanation from the Kessler and Anderson was supported in Wiedenbeck’s studies.  It’s not that recursion is harder, it’s that iteration syntax is so complicated.  If you learn iteration well, the pieces of that syntax that you use in recursion are pretty obvious.  If you learn recursion first, it doesn’t really help in dealing with the more complex syntax of iteration structures, and knowing one way to repeat seems to conflict with learning a new way to repeat.

I’m having fun reading through the book, and then using that as a guide into the research literature.  I don’t believe that this is the best and only way to teach computer science.  But here’s a great example of using research to inform the design of education.

April 26, 2011 at 7:39 am 4 comments

Supporting Creativity but maybe not Creation

The cited blog post is critiquing Apple for having wonderfully creative technology but not well supporting software creation — and what does that mean for the future of computing, as Apple becomes the copied model.  Apple’s tools are used often by professionals in the creativity profession, but too often, those professionals aren’t also involved in creating new technology, even if just for themselves, and Apple isn’t really helping them make that move.  We saw a form of that in Brian Dorn’s dissertation work, where graphics artists had wonderful tools for creating digital media, but fended for themselves in learning to create software.

The concern voiced in this blog is that so-goes-Apple then so-goes-the-industry. This does seem to be a problem in our industry (is it true for all industries?) that ,when one company pulls ahead into a virtual monopoloy, everyone else adopts the approaches and strengths of the front-runner.  How many “next Microsofts” or “next Googles” or “next Facebooks” have you heard about?  The strengths and weaknesses of that company’s approach becomes the model that everyone copies.

Apple’s abysmally, disastrously worst ideas will be mindlessly copied along with their best.  To some extent this is already happening.  And if current trends continue, there will come a time when nothing resembling a programmable personal computer will be within the financial (or perhaps even legal!) reach of ordinary people.

The user-programmer dichotomy will be permanently cemented in place – even now, most computer owners don’t think of the expensive space heater on their desks as something programmable.  But in the future it won’t even occur to a curious child that the behavior of his, let’s say, schoolpad can be altered in ways unforeseen by its makers – the essence of the creative act we call programming.  We will be stuck with computers – machines which, within certain limits, are capable of literally anything – which have been deliberately – artfully! – crippled into being far less meaningfully-modifiable than our cars and houses.

via Loper OS » On the Still-Undefeated Tyranny of Apple..

April 25, 2011 at 8:17 am 8 comments

Python MediaComp book is #2 in CS1

I just got a report from my publisher who told me that I can share these stats.  Our Python Media Computation book is now #2 in sales in the US among Python CS1 books — Zelle’s book is number one.  The Python CS1 market grew 36% this last year (down from over 40% the previous two years).  I know Greg Wilson was wondering, and they told me that I can report the number this year: The size of the market is around 24,000 sales.

I wonder if that number is actually wrong for our book.  I bet that most schools using our Python book are not using it for a traditional CS1 (i.e., introductory course for students entering the CS major), but for a CS0.5 or a non-majors course.  But I don’t think that the publishers have a category for that.  So those CS1 numbers might be inflated, covering these other cases as well.

April 22, 2011 at 8:10 am 4 comments

Computer science enrollments rebound, up 10% last fall – Computerworld

This is clearly the report that Eric Roberts was referencing in his recent (very popular) guest post (over 20K page views!):

For the third year computer science enrollments have increased, ending the precipitous decline in enrollments that followed the bursting of the dot-com bubble in 2000-2001.

When that speculative bubble burst, the subsequent shakeout and unemployment in the tech industry sent enrollments plummeting, raised concerns that the U.S. competitiveness would suffer in the long-run. Enrollments are arching up, but are still well below the peak reached nearly 10 years ago.

The Computer Research Association (CRA), which tracks enrollments and graduation rates for computer science students, says enrollments in computer science programs were up last fall by 10%.

via Computer science enrollments rebound, up 10% last fall – Computerworld.

April 22, 2011 at 8:05 am 2 comments

Why should African-American men take the AP CS?

I’m working on our NSF CE21 proposal due next week.  Part of every proposal is a report on what you got done with your last NSF funding.  So, I’ve just gone through a process of reviewing how we’ve done with “Georgia Computes!”

One of the failures of “Georgia Computes!” has been our impact on African-Americans in Georgia.  We’ve had impact on raising women and Hispanic student numbers in CS, but almost no impact on African-American students.  Below is a figure from the draft proposal showing the number of Black AP CS test-takers in the state (in blue), and the number who pass (in Red).  GaComputes started in 2006.  There’s a clear but small upward slope to the number of passers, but the number of test-takers from 2006 (66 students) to 2010 (68 students) is virtually flat.

What’s important to note in these results was We Had Access. 45% of the teachers in our professional development workshops were Black, 8% Hispanic, and 39% White. 56% of our teachers (across ethnicities) teach in schools that are mostly minority students. (44% of our teachers teach in schools that are economically disadvantaged.) Just getting to the minority and minority-serving teachers isn’t enough.

I met yesterday with Betsy DiSalvo who created the Glitch Project. She has been explicitly teaching AP CS content in Glitch lately, and encouraging her game-testers to take the AP CS and we’ll pay for it.  She says that probably five of her kids are excellent and would pass the test.  She says that maybe two of them will take it, but she’s not sure about even those.  She says that they see no value in taking the test.

They’re not confident about the test — they don’t think they’ll do well on it.  What’s more, they see no benefit if they pass.  She says that her Glitch kids plan to go to college in Computer Science, but the idea of skipping the first class or taking some other class instead has no interest for them.  “They don’t think like that about college,” she said.  (She also said that moving the test to 10 am instead of 8 am would make a big difference — these kids will travel 40 minutes to the test site, and those two hours would make it much easier.) So the tradeoff is embarrassment if they fail, and no real benefit if they pass. You can see why there’s little attraction there.

I asked Barb how she explained our numbers.  (And got her permission explicitly to say here in the blog, “Here’s one place where Georgia Computes failed.”)  She says that it just takes so long to create a program where no program existed before.  She told me the story of one high school teacher who has been taking Barb’s professional development workshop for years.  First the teacher taught Computing in the Modern World, then Beginning Programming and Intermediate Programming.  This coming Fall, the teacher will offer her first AP CS class.  “Her students are going to rock the test!” said Barb.  “She’s a great teacher!” But it took a long time for that teacher to feel confident at each level before she could teach AP CS, and building that content confidence in the teacher is critically important.

I still think that the AP CS:Principles effort is the right thing to do.  I firmly believe that our first step has to be to get well-trained CS teachers into schools, and that’s the goal of the new AP and the CS10K effort.  It’s going to take a long time to grow all those teachers.  We also have to figure out the argument for the minority students to take the test.  What’s the value-added for them?

April 21, 2011 at 9:29 am 16 comments

Adviser loses job over research-vs-teaching arguments

Interesting — this issue of whether tuition and other university resources are being spent on research rather than teaching, is becoming more heated and (of course) more political.  This piece makes it sound like it’s a conservative issue, e.g., that professors are highly-paid to do research of dubious value.

Mr. O’Donnell, a former executive director of the Colorado Department of Higher Education, had made no secret of his skepticism about the work being done in universities. In 2008, he wrote a paper for a conservative think tank questioning the value of much of the research conducted in universities. He also worked for three years for Jeff Sandefer, a business educator and major donor to Rick Perry, Texas’ governor. Both Mr. Sandefer and the governor, a Republican, have been pressuring universities to focus more on teaching and less on research.

On Monday, Mr. O’Donnell wrote a letter to Wallace L. Hall Jr., a Texas regent, in which he said that, as part of his job with the regents, he asked university and system officials for data “that would inform task forces how student dollars and taxpayer money were being spent.” He said the university system refused to release the data, which he said would have shown that a growing amount of public money is going toward professors and administrators who do little teaching.

via Controversial Adviser to U. of Texas Regents Says He’s Been Fired – Administration – The Chronicle of Higher Education.

April 20, 2011 at 1:50 pm Leave a comment

Intercultural Computer Science Education

Thanks to Sarita Yardi for these. Talk about CS Unplugged!

April 20, 2011 at 11:52 am 1 comment

How other countries develop their teachers

Wow.  This blog post from Linda Darling-Hammond really paints an amazing picture.  Could you imagine doing this in the United States?  Can you imagine how much higher-quality our education would be, if we developed and paid teachers like we do doctors (which is how I read the below)?  Imagine telling future high school CS teachers that they have to get the equivalent of an undergraduate degree in CS to teach before starting their teaching preparation — but they’ll be paid as well as a CS undergraduate entering industry.  That could make a difference!  It’s certainly an issue for our Operation: Reboot teachers, to have the same skills that they had as IT workers, but now receiving a teacher’s salary.

The contrasts to the American attitude toward teachers and teaching could not have been more stark. Officials from countries like Finland and Singapore described how they have built a high-performing teaching profession by enabling all of their teachers to enter high-quality preparation programs, generally at the masters’ degree level, where they receive a salary while they prepare. There they learn research-based teaching strategies and train with experts in model schools attached to their universities. They enter a well-paid profession – in Singapore earning as much as beginning doctors — where they are supported by mentor teachers and have 15 or more hours a week to work and learn together – engaging in shared planning, action research, lesson study, and observations in each other’s classrooms. And they work in schools that are equitably funded and well-resourced with the latest technology and materials.

In Singapore, based on their talents and interests, many teachers are encouraged to pursue career ladders to become master teachers, curriculum specialists, and principals, expanding their opportunities and their earnings with still more training paid for by the government. Teacher union members in these countries talked about how they work closely with their governments to further enrich teachers’ and school leaders’ learning opportunities and to strengthen their skills.

via Darling-Hammond: U.S. vs highest-achieving nations in education – The Answer Sheet – The Washington Post.

April 19, 2011 at 8:18 am 5 comments

Show Me The Code

One of our graduating seniors shared the below blog post with me, and I shared it with all the faculty who teach the lower division courses in Georgia Tech’s College of Computing.  Andrew makes the strong statement in his blog post: “Students shouldn’t be able to graduate with a Computer Science degree from Georgia Tech without being able to read and write production quality code.”

My sense is that most of the faculty who have responded agree with Andrew.  Our students should know how to read significant code (e.g., walking through the whole Linux kernel in OS course).  One of our professors talked about the value of watching his own code be rewritten by a professional, expert programmer — it was stunning how much better the code got.  We could teach more about reading production code at the University, but I’m not sure that we could teach enough about writing production code at the University.  As Bjarne Stroustrup pointed out, faculty don’t build much these days.  Programming well has much in common with craft and art, and it’s not something that the University does well.

If the University could not teach reading and writing production code well, where should students learn it?  One answer is, “On the job.”  Craft is often taught as an apprenticeship.  I worry that the computing industry has given up on its professional development responsibilities.  We talk about people being lifelong learners.  Is that entirely an individual responsibility?  When I was at Bell Labs and Bellcore, there were dozens of classes that I could (and did!) take. Where has that gone?  Is everyone a contractor these days, or does industry have a responsibility to develop its human resources?

My research interest is more in the computing that everyone needs, and in that sense, I agree with Andrew, but without the word “production.”  I fear that we focus too much on having students write code, and not enough time reading code examples.  Worked examples are a powerful approach to learning that we simply make too little use of in computer science. We emphasize so much that computer science is about “problem-solving” that we only make students solve problems, as opposed to reading solutions and learning to learn from reading.  I’m preparing my CE21 proposal now, and spending a lot of time learning what educational psychologists know about how to write examples that students learn transferable knowledge from — research that we pretty much ignore in computing education.

Literacy is about being able to write and read.

As I come closer and closer to graduation, I’m looking back at the Georgia Tech Computer Science program, the things it did well and not so well.

One piece I feel is missing in the curriculum is having students read good, high quality code.  We’re asked to code alone and code in groups, code in labs and code in dorms, code on paper and code in IDEs.

It seems like the administration and professors think this skill just magically appears with practice.  I disagree, and I think we can do better.

via Andrew Ash › Show Me The Code.

April 18, 2011 at 10:32 am 20 comments

New Draft K-12 Model CS Curriculum Available for Comment

The below announcement was posted by Dr. Chris Stephenson, Executive Director of the Computer Science Teachers Association (CSTA), on the SIGCSE-Members list.  This is really important — the whole Running on Empty report came from a comparison of state curricula to the current model curriculum.

I am glad that the draft is available for comment and encourage everyone to review it.  I’ve read through it once, and don’t quite understand it.  Why is it part of computational thinking that all high schools know how to convert between decimal, binary, octal, and hexadecimal (page 23 and 60)?  Is it really necessary for all students to learn how to program mobile devices and write client- and server-side scripts (page 23)?  I like the bullet about representation and trade-offs on digital information, but I would have liked some specifics on what students will learn, like the kinds of error that occur.  The current draft seems tied to current technology and not to big ideas or principles. (Are most K-12 standards like this?  The AAAS standards aren’t, but maybe they are the anomaly.)

I’m planning to re-read it, because I might not have got the big picture.  I strongly encourage all of you to read and comment on it.

Since it was first released in 2003, the ACM/CSTA Model Curriculum for K-12 Computer Science has served as the national standards for pre-college computer science education. This year, CSTA formed a committee of specialists (co-chaired by Allen Tucker and Deborah Seehorn) from all educational levels to review and revise these standards.

Based on the following definition of computer science:

Computer science is the study of computers and algorithmic processes, including their principles, their hardware and software designs, their applications, and their impact on society and includes the following elements:

 • programming,

• hardware design,

• networks,

• graphics, 

• databases and information retrieval,

• computer security,

• software design,

• programming languages,

• logic,

• programming paradigms,

• translation between levels of abstraction,

• artificial intelligence,

• the limits of computation (what computers can’t do),

• applications in information technology and information systems, and

• social issues (Internet security, privacy, intellectual property, etc.).

The K-12 Computer Science Standards provide learning outcomes for students in grade K through 12. These learning outcomes are divided into three levels:

· Level 1 (grades K–6) Computer Science and Me

· Level 2 (grades 6–9) Computer Science and Community

· Level 3 (grades 9–12) Applying concepts and creating real-world solutions

o Level 3A: (grades 9 or 10) Computer Science in the Modern World

o Level 3B: (grades 10 or 11) Computer Science Principles

o Level 3C: (grades 11 or 12) Topics in Computer Science

The learning outcomes within each level are organized into the following strands:

· Computational Thinking

· Collaboration

· Computing Practice

· Computers and Communications Devices

· Community, Global, and Ethical Impacts

CSTA invites you to review and submit comments on the review draft of the new CSTA K-12 Computer Science Learning Standards: Revised 2011. A copy of the document is available for download at:

http://csta.acm.org/includes/Other/CS_Standards.html

This site also provides access to an online form that will be used to collect all reader comments and suggestions. The review process will be open until June 15, 2011.

Allen Tucker

Deborah Seehorn

Chairs, CSTA Standards Task Force

April 15, 2011 at 8:21 am 7 comments

Older Posts


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,185 other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,060,309 hits
April 2011
M T W T F S S
 123
45678910
11121314151617
18192021222324
252627282930  

CS Teaching Tips