Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

January, 2008

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    A Fine Arts Degree in Computer Programming


    The first thing I think we have to get out of the way is that programming and computer science are not the same thing. They are overlapping but clearly computer science is a lot more than just programming. Often times that means that programming doesn't get the respect that it deserves. To me programming has always been something special though.

    As long as I have been programming (about 35 years now) a common, recurring, and never ending discussion though is how to categorize programming as a discipline. Is it:

    • A science (fully in computer science)
    • An engineering discipline (software engineering)
    • An art
    • A craft (close to art but not quite the same thing)

    There are arguments for all of the above. Personally I don't think it is really a science though it is clearly dependent on science and science is dependent on it. I wish it were engineering but the engineering training in me believes that the lack of reliability in software today precludes us saying that we've made it there yet.

    I am between an art and a craft. To me art creates something beautiful and requires a special talent. A craft requires some talent but training can do more for a lack of talent than it can with an art. It is with that argument in mind that I read a really interesting post by Joel Spolsky yesterday. In this post Joel makes a case for a BFA (Bachelor's in Fine Arts) in Software Development.

    The real problem is that these schools are not doing anything positive to attract the kids who are really interesting in programming, not computer science. I think the solution would be to create a programming-intensive BFA in Software Development--a Julliard for programmers. Such a program would consist of a practical studio requirement developing significant works of software on teams with very experienced teachers, with a sprinkling of liberal arts classes for balance. It would be a huge magnet to the talented high school kids who love programming, but can't get excited about proving theorums.

    It is an interesting idea. I can hear people yelling "but that is just a glorified trade school" but I don't think that is fair. I think that there is a real art (and a touch of science and engineering) in creating outstanding software. Real trade schools focus on the tools of the hour much more than the concepts of all time. A BFA program could, should and probably would spend a lot of time on concepts.

    I wonder if Neumont University's program is like this? In any case it would be interesting to see a mainstream college/university adopt the BFA idea. What sort of interesting projects would they produce? As Joel points out universities used to be known for cool and important programming projects but we don't see much of that anymore. And that I think is a sad thing.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Why do schools need a computer teacher


    I love to look at the logs of this blog to see how people are finding it. It looks like close to half the traffic here comes from search engines. Now I wish there were lots and lots of people who subscribed and read every post that I make of course. At the same time I like to think that people searching for information on the Internet are finding it when they get here.

    The other day someone arrived here after searching for "why do schools need a computer teacher" The post that showed up at the top of the search page was one I wrote back last April called "Do We Really Need Computer Applications Classes?" In it I discussed some of the ways beyond dedicated computer applications classes that we should be teaching students how to use computers.

    I've been thinking about this question in a broader sense lately in the context of the One Laptop Per Child program. The question I have been thinking about is why do children need teachers? Much of the idea behind the OLPC program is that children will teach themselves and each other. The computer as a tool will enable them to to overcome a lack of well-trained teachers. Heck of a theory.

    Of course some students do teach themselves a lot. Most of what many students know about computers they learned on their own or from friends. And I've known a good number of students over the years who have gone far beyond what they learned in school in many subjects through self-study. Having a computer makes that sort of thing a lot easier. But is it enough? For most children I think not.

    How would you have done in school without a teacher? Could you have gone to the library and immersed yourself in books and learned what you needed to learn? Are the videos and other media one can find on the Internet enough? For some, sure, but for everyone?

    Now don't get me wrong - I am much more afraid of the consequences of the OLPC programming failing than I am of it succeeding. I desperately want to see technology used to improve education everywhere in the world. Not just in the third world but in the US as well. There are lots of indications that it can do that. It's just that the idea of not training and equipping teachers to have and to share knowledge scares me. The idea that kids are motivated enough and discerning enough to learn enough on their own flies in the face of my own classroom experience. As much as I believe in technology I believe in good teachers more. They must (in my opinion) be an important part of the equation.

    My fear if the OLPC program does not live up to expectations is that a failure will set back the continued introduction of technology into education. That would be a catastrophe. So I hope they succeed. I just wish there was more emphasis on training teachers so they could better "kick start" kids along the learning path. Lets give the kids every advantage we can.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    How To Teach Your Child to Program


    Randy Guthrie is a member of my team out west who used to be a professor of Information Systems. He's a very knowledgeable guy and a very good teacher. Recently Randy's son asked him to teach him about programming. Well it's hard to turn down a request like that so Randy has started.

    He's started his son off with some web development and HTML work. That's a pretty common and popular way to begin. Randy is blogging about the experience in hopes that others can learn from his experience. I suspect that other parents who get the same request (or who wonder what they will do if/when it does come) will find Randy's blog particularly interesting and valuable.

    BTW if you are interested in other resources for teaching your or anyone's child how to program I have a list of beginner programming languages and other resources at a post I wrote in December. You may want to check it out.

Page 1 of 8 (24 items) 12345»