Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
is in my opinion, this: The Perils of JavaSchools. Courtesy of Mr. Joel Spolsky..

His thesis boils down to this statement from the post: "I've seen all kinds of figures for drop-out rates in CS and they're usually between 40% and 70%. The universities tend to see this as a waste; I think it's just a necessary culling of the people who aren't going to be happy or successful in programming careers." The reason for those dropout rates?

"You used to start out in college with a course in data structures, with linked lists and hash tables and whatnot, with extensive use of pointers. Those courses were often used as weedout courses: they were so hard that anyone that couldn't handle the mental challenge of a CS degree would give up, which was a good thing, because if you thought pointers are hard, wait until you try to prove things about fixed point theory."

A sensible course of study in any subject starts with basic concepts and moves by steps to the most difficult topics. The monastic metaphor of reflects the idea of helping individuals move forward. One makes progress initially by mastering the basics and a process of trial and error. Naturally, more difficult topics are likely to take longer to master. I'd be willing to bet that there are any number of monks who are happy and successful in programming careers who didn't bother with a jaunt through an institution that espouses Spolsky's elitist views on higher education.

In my view, the inability of a student to master a subject can be as much a failing of the teacher as of the student.

Edit by GrandFather - removed gratuitous br tags.

2006-04-03 Retitled by planetscape, as per Monastery guidelines
Original title: 'Worst blog post ever on teaching programmng'

Update: jeffa and dragonchild's comments about the need for colleges to manage class sizes are reasonable. To me, the way to handle the problems they raise can be solved in a different way than making an entire class obscenely difficult. In a lower division physics course that I took, the course materials and routine assignments were doable by anyone who put in the right amount of time. However, the final exam as it was designed presented several problems that had aspects that had not been discussed in class. The result was that you had to use both your class knowledge plus your problem solving skills to complete the exam. I thought that was a fair way to stratify the grading curve and thus provide the faculty with a way to set a cutoff point for admission to the higher division. The point being that the faculty expected that everyone in the class could learn the basic material.

With respect to brian_d_foy's comments, I carefully re-read my phrasing and I want to clarify that I don't think of Spolsky as an elitist generally. I was simply referring to his views on CS education. Plus, after re-reading the blog post, I think it is at least partly tongue-in-cheek.

Spolsky mentions "all-Java" schools. I certainly hope there is no such thing. Students should certainly be exposed to more than one programming language in a degree program.

I have changed the title of this from "Worst blog post ever on teaching programming." I admit, that was a little over the top. Hopefully, the new title is more reasonable.

In reply to Problematic post on teaching programming by Scott7477

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others chilling in the Monastery: (8)
    As of 2014-10-02 07:16 GMT
    Find Nodes?
      Voting Booth?

      What is your favourite meta-syntactic variable name?

      Results (49 votes), past polls