Aug
07
2008
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.
Jul
20
2007
noosphere
Main Entry: noo·sphere
Pronunciation: ‘nO-&-”sfir
Function: noun
Etymology: International Scientific Vocabulary noo- mind (from Greek noos, nous) + sphere sphere
: the sphere of human consciousness and mental activity especially in regard to its influence on the biosphere and in relation to evolution
And welcome to my newly born Meta-Cortex. I am finally taking the plunge and starting a wee blog of my own. Most all of my professional content will (eventually) be moved over and available on the static pages of this address. But, in a bit of a change for me, I do plan to offer quite a bit more personal content than I have been used to previously on my own web pages.
Where to begin. I’ll leave lengthy details to my About pages, for those really interested. I am currently an Assistant Professor of Computer Science at Texas A&M University here at the Commerce campus. I suspect, like many other blogs, that most of my personal content will tend towards, and generally be related under the broad category of Techno Geekry. I thought I might, just to kick things off and in no particular order, start with a standard old boring favorites list:
- Favorite Book
- Toughie. Like all academics I can imagine if I were that guy in the Twilight Zone episode, the last guy alive contemplating a life time of solitude in which to catch up on his reading, I too might be deliriously happy (not to mention my eyesight is 20/20 so no worries there). Should I mention Viktor Hugo’s “Les Misérables“, maybe pick Kelso’s “Dynamics Patterns: The Self-Organization of Brain and Behavior“, or perhaps along a similar professional line Hofstadter’s incomporable “Godel, Escher, Bach“? I think perhaps I’ll just settle on something simplier, but probably my all time favorite: “The Tao of Pooh” by Hoff
- Favorite Development System / Computing Platform
- Let see, I grew up hacking 6502 assembly and Basic on an Apple II computer. (I’ve recently been playing around with virtualization on my Fedora Core 7 laptop, I wonder if there are any 6502/Apple II emulators available?) I am pretty much a hard core Unix/Linux developer, Emacs editor, make system , subversion versioning kinda guy. I must admit, though, I sometimes truly pine for my days as a NextStep developer. Nothing yet has quite matched that feel of simplicity and power, especially the GUI development tools, sigh…
- Favorite Fiction Book
- I couldn’t really choose just one book, especially since I am a big fiction reader, mostly Science Fiction by nature. I grew up reading the classics, Heinelein, Sturgeon, Niven, Clark. Currently I am quite fascinated with so called post-humanist or singularity SF. Especially check out Vinge’s “True Names” for a great, and still possibly the best example of the genera. Stross is currently blazing away on my fiction radar. Get his “Accelerando” for what I consider his best so far.
- Favorite Movie
- Wizard of Oz, no wait… Godfather, no wait… Monty Python and the Holy Grail, no wait…
- Favorite Editor
- Favorite Scientist
- Favorite Color
- Blue, no yellow. aughhhh (c.f. favorite movie)