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

December, 2006

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    The Problem with Programming


    In a recent interview, Bjarne Stroustrup, probably best known for inventing C++ and currently a professor of Computer Science at Texas A&M University, talks about some of the big issues of program development, C++ and his legacy and other related matters. The interview is full and important and valuable observations. I recommend it as a starting point for discussion about how to create really good (reliable, robust) programs. I'd like to highlight a couple of comments though.

    I think the real problem is that "we" (that is, we software developers) are in a permanent state of emergency, grasping at straws to get our work done. We perform many minor miracles through trial and error, excessive use of brute force, and lots and lots of testing, but--so often--it's not enough.

    What he describes in the paragraph above is how most students program. They throw a bunch of code in, test it and when it doesn't work they try different code. All at break neck speeds with little time to calm down and plan. We, as teachers, like to think we can teach them better and that they will change. Well the first part is true but is the second? Another comment from Professor Stroustrup:

    In theory, the answer is simple: educate our software developers better, use more-appropriate design methods, and design for flexibility and for the long haul. Reward correct, solid, and safe systems. Punish sloppiness.

    In reality, that's impossible. People reward developers who deliver software that is cheap, buggy, and first.

    And there is the rub. People do know better but they are not given the time nor are they rewarded for doing it right the first time. In fact there is a whole school of thought around rapid development and throwing the first few versions out. Frankly that idea scares me. I'm a great believer in many of the things that W Edwards Deming taught. I was fortunate enough to take his famous 4 day course from him. One of the things he really convinced me was that quality results were largely an issue of management.

    It seems to me that the real answer to software quality is going to have to start with management. Oh the right language and the right development methodology can help. But it is the responsibility of management for fist provide the training and then provide the environment (and that includes reasonable schedules) so that programmers can do quality work. Read the interview and discuss the issue with your students. What do you come up with in your class for the answer to "the problem with programming." Let me know what you come up with. Maybe we can get a discussion going here.

    tags: ,


  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    So you think you want to be a professional game developer?


    My friend Brian Scarbeau who teaches computer science at a high school in Florida gave me this link to a discussion of the path one could/should take towards becoming a professional game developer. A lot of students I talk to want to become professional game developers but they really don't have any idea what is actually required to get there. This list gives something of an idea.

    Computer games, especially console games, involve a lot more than programming. There is graphic design, story telling, character development, and much more. The credits for a modern console video game is as long if not longer than that for many movies and most TV shows. But even if you are restricting yourself to the programming there is a lot to know.

    There are libraries, resources (how do you work with images and sounds?) and lots more. I think this discussion at the MSDN Forums is a good place to start thinking about what is really involved. The XNA Game Studio Express is at least a good place to start learning with. Up until now students and hobbyists didn't have a good way to start understanding and developing for console game devices. It's a pretty great time to be learning how to program.


    Technorati tags: ,
  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    New Computing Careers Brochure for High School Students


    I found out today that the ACM, IEEE Computer Society and AIS have gathered a bunch of career information for high school students. They have a web site ( and a brochure that can be downloaded in PDF format.

    From the announcement:

    A new brochure is available to counter the many misperceptions circulating among high school students, their parents, and teachers about computing careers. "Computing Degrees and Careers," prepared by ACM, the IEEE Computer Society, and the Association for Information Systems (AIS) aims to provide more accurate information on what computing is and the career opportunities it offers.

    The web site has a bunch of useful looking links that explain different computing careers, what people in those careers do and a top 10 list of why students should major in computing. I think that the brochure might be a good thing to reproduce and had out before course selection time. And if you have a printer that can make larger printouts it should make a colorful and interesting classroom poster as well.

Page 8 of 8 (24 items) «45678