/usr/lib/info -- hacker/librarian haven
Front Page News Features
Software Events Standards
Ask Anything Opinion Diaries
Reviews . MLP . Everything
Take (informal) programming course together?

By dchud, Section Ask Anything
Posted on Fri Jun 7th, 2002 at 08:38:28 AM EST
It is often said that if you really want to learn to program, you should learn lisp (or scheme etc.). I've had a start or two at The Little Schemer and Structure and Interpretation of Computer Programs, but never got too far on my own, in a vacuum. Would anyone want to try working through one of these (or another) classic hacker-howtos collaboratively? Read on for a proposal...


It's nearly impossible to learn how to be a programmer without writing programs that do something useful to you... surely many of us librarian/hacker types got our start from a handful of oreilly animal books and reusing somebody else's ugly cgi stuff. Several years of picking up an equal lack of proficiency (just enough skill to _really_ get into trouble) at several languages have made it clear how much of a craft good programming is, a craft that requires solid fundamentals, a rigorous attention to clarity, some talent if you're lucky, and much honesty, most of which can be learned given an appropriate setting and some guidance. But who has time to go back to school and get a CS degree?

From a few years of twittering around others' code I've become able to spot and learn some things from good (and readable) code, and run away from the opposite, but I'm not sure I've really gotten any better myself. I'd really like to take a more formal stab at working through a course of "how to program well", and find others wanting to do the same thing, and find a way to do both (1) at little or no cost, other than time, and (2) in a way that gives me a chance to interact with other folks going through the same process.

So here's the proposal:

  • Get at least four or five people to
  • choose a textbook or online resource
  • set up some communication forum (list, wiki, /usr/lib/info story, etc.)
  • set a schedule
  • dive into the meat of the material
  • actually work on all the exercises, helping each other and posting and trying out results
  • enforce (in a friendly way!) our schedule, and stick to it
  • get through the material, and see where it gets us
  • What do you think? Is anybody interested? I think critical factors for success would include:

  • picking a doable instructional resource to start
  • having at least one group member with formal programming training (i.e. a degree, or at least more than the one class in java here, another class in algorithms there, etc., like i've stapled together over the years) willing to help us through rough spots
  • keeping it fun, not stressful, but steady and on schedule to focus on getting through the process
  • Because it doesn't actually involve hands-on coding, and because it's a fun read that seems doable, I'd propose starting with The Little Schemer. If we could get through that, reevaluate and take a stab at SICP, or Learning Python, or something, we could end up with a little hacker/librarian book/support group that ends with all of us learning at least something tangible.

    Anybody interested?

    < MARCXML released by the LOC (3 comments) | OAI Servers & Setups (2 comments) >

    submit story
    create account
    recommended reading
    editorial guide

    Make a new account

    Related Links
    The Little Schemer
    Structure and Interpretation of Computer Programs
    More on
    Also by dchud

    View: Display: Sort:
    Take (informal) programming course together? | 14 comments (14 topical, 0 editorial, 0 pending) | Post A Comment
    Thoughts on responses... (5.00 / 2) (#8)
    by dchud on Mon Jun 10th, 2002 at 09:54:19 PM EST
    (User Info) http://curtis.med.yale.edu/dchud

    ...so far as I can tell, ksclarke and jfru are signing up, so that makes three. Maybe we can coerce one or more of tholbroo, artunit, and pate to join us. That's probably enough to start, perhaps others will join when we get going.

    A clarifying point: obviously, everybody who's spoken up already has some hacking chops already (I can say that because I know y'all, save for pate, but I'm assuming you don't become kaitiaki without some skillz :) I'm mostly interested in doing this because my chops are self-taught, not classically trained. And I'd really like to step back from the specifics of any of the "real" languages most of us use regularly (perl, java, python) and think a little more in the abstract about the craft of it. Which is why I'm leaning so heavily toward lisp, especially given all the advice you can find suggesting that "you should do this sometime, just so you really start to Get It."

    I'll propose that we start up the week after ALA (knowing several of you will be there, and that you'll need a few weeks to find the book). We spend five weeks, two chapters per week, group-reading The Little Schemer, since Kevin seconded it. So the deadlines would be:

    by June 21: get the book!
    by June 28: chpts 1, 2
    by July 05: chpts 3, 4
    by July 12: chpts 5, 6
    by July 19: chpts 7, 8
    by July 26: chpts 9, 10

    To facilitate the process, we start a listserv, allowing anyone to subscribe. To record group findings, we start a wiki somewhere. To record individual experiences, we add diary entries here.

    I think the best things about starting with this title is that it's fairly short, and that there's a follow-on text (The Seasoned Schemer) if we want to dive in further when we get through it.

    So who's up for this plan? Respond to this comment if you are, or want to suggest specific modifications.

    I can start an oss4lib-reading list over at sf to get us going, unless one of you already has a mailman instance running somewhere so we could avoid the sf ads... hmm, would it be a good idea if we explicitly advertise somewhere else, like on oss4lib, or otherwise invite folks to participate?

    [ Reply to This ]

    Great Idea (none / 0) (#1)
    by jaf on Thu Jun 6th, 2002 at 08:41:14 PM EST
    (User Info)

    'nough said - let's do it. I would love to get involved with this. I imagine it would be best to focus on 1 language to start. My initial preference would be something like Java, but I'm open to anything from assembler to LISP to Prolog(!) to even, ugh, C/C++.

    Another idea for this - if a group of us does this, we should make an effort to record our progress in our u/l/i diaries, and to make notes of what was most useful (and what wasn't). If this proves to be a success, I bet others would want to try - and we would then have a better framework for the course to give them.

    [ Reply to This ]

    I agree, great idea (none / 0) (#2)
    by ksclarke (ksclarke @ stanford no spam dot edu) on Fri Jun 7th, 2002 at 08:25:10 AM EST
    (User Info) http://www.stanford.edu/~ksclarke

    I'd like this too. I'd vote for The Little Schemer to start... I've heard great things about the book but never read it myself. I'm also interested in Scheme (though I think the specific language isn't as important as the principles). Recording experiences in our diaries (for future librarians considering whether such a group would be a good idea) sounds like a good idea too.



    Out, out brief candle!
    ... it is a tale told by an idiot, full of sound and fury,
    Signifying nothing.
    [ Reply to This ]

    LoTY is doing this (none / 0) (#6)
    by pate (pate <at> eylerfamily <dot> org) on Fri Jun 7th, 2002 at 01:03:59 PM EST
    (User Info) http://pate.eylerfamily.org

    The Pragmatic Programmers are doing this right now in their Language Of The Year (LoTY) project. This year they're working on Haskell. You can peruse their Wiki or the project home page for more details.

    [ Reply to This ]

    Python (none / 0) (#7)
    by art on Sat Jun 8th, 2002 at 08:35:00 PM EST
    (User Info) http://www.uwindsor.ca/library/leddy/people/art

    Python hits a lot of good bases for programming, a nice blend of OO with scripting sensibility and a good quota of XML smarts. When I took CS the language that was supposed to change the world was Modula-2! Lisp seemed pretty liberating at the time but it's amazing how many quality languages are now available. Programming in a team environment and mechanisms like code reviews are often used in third and fourth year CS courses to sharpen coding skills so a group approach is definitely a good idea.

    [ Reply to This ]

    Here is good website (none / 0) (#14)
    by Anonymous Hero on Tue Feb 22nd, 2005 at 11:46:45 PM EST

    Here is good website I will introduce it to my friends website imiquimod pic bbs Article links sitemap sitemap2 links add Health links all Article hpv net freewebpage1 seocn googlecn aakkfree healthcn hpvcn szseo stds ccctvxxyyzz aaccoo xbcnorg aakkorg google aakkorglink 1 2 3 4 5 6 7 8 9 10

    [ Reply to This ]

    Take (informal) programming course together? | 14 comments (14 topical, 0 editorial, 0 pending) | Post A Comment
    View: Display: Sort:

    Powered by Scoop
    All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest 2002 The Management

    front page | submit story | create account | faq | search