Archive for August, 2008

Aug 07 2008

How to Think Like a Computer Scientist

I have become more and more convinced that trying to teach beginning programming using a production language like C++ or even Java is really just a horrible horrible mistake. I am just wrapping up teaching our Programming II course this summer. We use C++ for our intro courses (as do many other institutions), and continue on with it for the core courses of our undergraduate curriculum. My experience this summer has been the same as in the past. We spend so much time on the minutia of the syntactic complexities of the C++ language that there is no time for any of the big picture. And worse, many students just see this seemingly impenetrable mass of complexity and it often just stops them cold. C and C++ are powerful languages, and they must, in my opinion, be learned at some point as part of a complete CS education, but…

So I recently saw this free creative commons published book How to Think Like a Computer Scientist. What first brought it to my attention was that I saw MIT was actually using it as part of their intro to programming course, and it showed up on their most recent OCW course curriculum. Now I am a big fan of the Python programming language, as those around me will tell you, so I may have some bias. But seeing how it is being used and praised in all kinds of cutting-edge domains, like not only this MIT OCW course, but for example Google uses it heavily, and it is really beginning to take off among researchers and scientists in the scientific computing community, replacing Perl in many cases, I would venture to say that I am not the only one that sees the power and advantages of Python.

So, a) I really do need to renew my own effort to see if we can get our department to rethink some of its choices of the undergraduate curriculum; b) in the meantime, any undergraduates that might stumble upon this who are about to take or have just taken our intro programming courses, I would recommend that looking at this book might help you to get a better understanding of programming, and maybe see some of the big picture issues that we might not get to you clearly in the current courses, and c) the book also works great as just a Python tutorial. I have been recommending this book as well to my graduate students who will be taking my AI: Collective Intelligence course this fall, as a good tutorial for learning the Python language.

No responses yet

Aug 06 2008

How our culture keeps students out of science.

Published by Derek under Politics, Science & Technology

Not my title, but that of an article in most recent Chronicle of Higher Education here.

As an educator and scientist in higher education I see what the author is talking about first hand all the time. I have little luck in convincing the American undergraduates I work with of the joys and benefits of pursuing higher education in the scientific and technical fields, while our graduate programs are brimming with foreign nationals. As the author says, I have nothing but admiration and respect for our graduate CS students, and greatly admire many of them in their determination and effort. My beef is with the American students, products of our American educational system. Will all of those undergraduates really find themselves as satisfied and fulfilled as their counterparts a few grades above them in the years to come? Some additional points to add, in no particular order:

  • Self-esteem and all, as the author points out is greatly overrated. Self-confidence without a basis of real achievement and struggle is hollow at best, and will lead to a similarly hallow life.
  • And conversely, there is nothing quite like the feeling of perspective one gets looking back on a long journey of constant (slow, steady, sometimes yes even agonizing) progress and accomplishment towards a difficult goal. The authors term is “arduous intellectual ascent”. It is not always arduous, there are many small joys and wonders on the slow long journey, mostly sufficient to counter the setbacks, dead-ends, frustrations and wanderings that will inevitably occur.
  • I don’t know how to begin to (re)emphasize this type of personal and intellectual achievement and self-discipline as cultural ideals. But I know it is essential that we recapture it somehow as a cultural imperative and core educational perspective
  • I knew the thrust of this topic was triggering some association, and now I just recalled that Covey’s 7 Habits of Highly Effective People makes some similar points, much better than I argue here, along the same lines in his introductory chapters. I’ll have to dig that up and reread to refresh myself on some of his points, but check it out, I highly recommend the book.

No responses yet