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

December, 2005

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    The Future of K-12 Blogging

    • 4 Comments

    There are a couple of things that I think should happen with regards to K-12 blogging. I’d like to think that they will happen but the reality is that education does not respond quickly to new technology. We’re still not using computers in the classroom much better than we were when my son was a first grader 20+ years ago. We’re using them much better in school administration, just look at what you can get from a modern Student Information System today, but even there we are behind where we should or could be. But I’m an optimist so maybe by suggesting some things I can help make it happen a little sooner. So here goes.

    1. Every school principal and district superintendent should have a regularly updated blog. Yes I know they will say they don’t have enough time to keep one up but if you made attending school board meetings optional do you think your superintendent would still go? Darn tooting they would! And not just because they were not busy. Superintendents and principals need to realize that in today’s world communicating with the public is critical to their success. Blogs are a low impact (time wise) way of doing that. Blogging fits in the schedule when you assign it a reasonable priority. I suggest that a principal who wants to improve their school needs to have parents and the voting (especially non-parent voters) on their side. Blogging is a great way to do that.
    2. Every computer science teacher should have a regularly updated blog. Actually I would like to see every teacher have a blog but for the short term I will settle for computer science teachers blogging. There are several reasons for this.
      1. We need to build a community of practice in CS education. We need computer science teachers, who are generally alone in their building, communicating with their peers, sharing ideas, and supporting each other.
      2. The technology aware teachers need to set an example for the rest of the teachers. If they don’t use technology why should a social studies teacher?
      3. Most importantly, blogging is a wonderful way to share information with your students and their parents. Post links to extra resources along with a recap of a recent lecture. Give students an opportunity to comment on a current assignment or a recent test question. Expand the discussion and the learning outside the bell delimitated world of the classroom. Teach!
    3. School administrators and technology professionals have got to educate themselves about the Internet. They need to understand blogging, chat rooms, instant messaging, and other forms on Internet communication. They also have to learn the legal issues around Internet free speech, peer-to-peer networking and other related issues. Right now all too many of them are reacting in a knee-jerk fashion to things that come up. They are acting without understanding and that is leading to over reactions, embarrassing news reports and law suits, and missed opportunities to teach students. Any administrator who is forced to admit that their students know a lot more about the Internet than they do should be ashamed of themselves. Really ashamed. In fact they should feel about the same way they would if they had to admit that their students knew more about books than they do.

    Can you see a school board keeping a superintendent or principal who didn’t know how to find things in a library or speak to a large group of people? I don’t think so. Being able to find things on the Internet and to use it for communication is that basic a skill and school boards should demand some level of knowledge and skill in those areas in their administrators.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    LEARNING HOW TO CREATE PORTALS USING DOTNETNUKE

    • 1 Comments

    Brian Scarbeau has an announcement in his blog about a series of web casts he is presenting for high school teachers. It is all about using Dot Net Nuke. Brian uses DNN for his own web site and as a teaching tool in his web design course. Visit Brian's blog for more detail on these webcasts including dates, times and registration information. Brian is a great instructor and I highly recommend him. You can register for Brian's workshop webcast from MainFunction the high school computer science teacher community site.

    Edit: More information about webcasts for high school computer science teachers may be found at www.mainfunction.com/webcasts There are a number of interesting and useful webcast series coming up.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Weed them out or teach better?

    • 3 Comments

    I don't know how many teachers are reading blogs during the Christmas break (or the winter break between now and New Years) but I hope some of you are reading this one. Joel Spolsky has a very interesting entry called The Perils of JavaSchools. No it is not an anti-Sun and/or anti-java rant. Well not in the sense that I might write one. :-) What it is though is an interesting and potentially provocative look at the state of computer science education.

    Two things that Joel believes that CS students need more of are recursion and pointers. While you can do recursion in Java it seems like a lot of students don't quite get it in school. Now the Advanced Placement Computer Science curriculum does require recursion I tend to believe that a lot of teachers don't teach it well. Some of that is because many of us didn't learn it very well ourselves. I confess that I was late coming to an understanding and appreciation of recursion. Now pointers I appreciated early in my career but than I was doing a lot of playing around with operating system internals back in the day.

    Joel argues for these tools not so much for themselves though. Rather he likes them for the way they help people look at things differently. The mental flexibility and mental ability. I really agree with that notion. Tiny is the number of times I really needed recursion and smaller still the number of times (outside of OS work) where I needed pointers. Still the fact that I understood them served me well in understanding other things like who databases and indexes work.

    But I disagree with Joel on the value of "weed out courses." I don't think they are a good idea at all. Well perhaps they can be used to weed out the poor instructors. I happen to think that programming is not so hard if it is taught well. Teaching it well, well ok, that is hard. Joel complains about schools that "fail to train the brains of kids to be adept, agile, and flexible enough to do good software design (and I don't mean OO "design", where you spend countless hours rewriting your code to rejiggle your object hierarchy, or you fret about faux "problems" like has-a vs. is-a). You need training to think of things at multiple levels of abstraction simultaneously, and that kind of thinking is exactly what you need to design great software architecture." I don't think we need to weed out students who can't learn those things because I don't believe there are all that many people who can't learn them. We do need to find better ways to teach those concepts though.

    I do believe that you can teach good computer science with C#, Visual Basic, Scheme, and even Java. I also believe that you need to learn a language like C/C++ at some point if you are serious about computer science. But the basic concepts and the critical thinking skills can be taught with almost any language. What is required though is a focus on the concepts and not on the language. That can be difficult, especially in a first programming course. But it is worth the effort.

    One last thing. Most of my students reported that they learned new languages, as different as FORTRAN and Java, in college very easily because they understood the concepts. Ask them to create a linked list in a new language and most of them could do so fairly easily. If a student finds that they can’t learn a new programming language quickly you have to wonder if it is because they are not a quick study or did who ever taught them let them down?

Page 1 of 6 (16 items) 12345»