XImplosionX

High School Computer Science: A Student’s Perspective

by Patrick Godwin on May.06, 2009, under Technology

Computer Science curriculum has always been a hot topic for discussion, but in the last few years I have seen more in more debate over how Computer Science should be taught. All the time I hear different School District Higher Ups and Teachers trying to come to some sort of agreement on a good plan. From what I have seen, most Computer Science classes are teaching the wrong ideas at the wrong time.

I’ve seen this first hand in Port Huron Area Schools. Don’t get me wrong, I love my programming classes. But there is no set curriculum for our District’s Computer Programming Class. How can a Computer Programming class exist without a curriculum. This forces the teacher to teach what the majority will understand the best while the more advanced students have to focus on their own skills. That isn’t a huge problem, but there should still be some sort of guidelines for teaching the class.

Another issue I’ve noticed with our Computer Science curriculum is the definition of a Computer Science class. When did a Computer Applications class become a Computer Science class. One of the Counselors at Port Huron Northern has gone around telling students that “It looks good to have a Computer Science class on your Transcript. I suggest you take Computer Applications”. Last time I checked “This is how you use Microsoft Powerpoint” was not acceptable as a Computer Science class.

Now I’m sure this is not the same around the country, but this is the main issue I’ve noticed. I also think, from glancing at the AP Computer Science course outline, we’re teaching the wrong things in introductory Computer Programming classes. Style is something that should be emphasized from day one. Button1 or Div1 are never acceptable if you ask me. They then spend the first few weeks of a class going over the introduction to a language, then move on to working on projects. In reality, they should begin by teaching theory. Students should learn how a program flows rather then jumping head first into a programming language. I learned this the hard way when I decided to pick up VB.NET as my first language. I made multiple design mistakes, spent many hours browsing MSDN for guidance, and used silly variable names like Button1 or TextBox2. If only I had understood good style or even the basic concepts of If/Then, For/While Loops, and Switch Statements.

According to the AP Computer Science curriculum, the first part of the course should be spent teaching Object Oriented Programming. This I support. But on closer examination, they recommend introducing Object Oriented Programming. This is ridiculous. If the student has taken a pre-AP Computer Science class, they should be introduced to the basic concepts of Object Oriented Design. If half the class is spent teaching a concept, then the second half is spent teaching the concepts in a language like Java, there is something wrong with that class.

Now these are just my thoughts, but I’m sure man people agree with me. Anyone else have an opinion on this? Your thoughts and comments are always welcome.

Thanks for reading,
Patrick Godwin

4 Comments for this entry

  • Ryan Serazin

    From my strictly uneducated perspective, I completely agree, what you say makes sense.

  • Bill Genereux

    Hi Patrick,

    You raise some interesting questions here. When I was your age, ALL computer courses involved programming. There were few off the shelf applications to learn like we have today. If you wanted to study computers, you HAD to study programming. With the rise of Microsoft & others, it made sense to have students start learning these applications. But you are correct, it’s not Computer Science, it is Office Technology.

    There has been a long debate about computer science curriculum at the college level. Do you teach breadth of knowledge first (theory)? Do you teach depth of knowledge first (projects)? Should you teach objects first or constructs such as decisions, looping, etc? So what you are asking hasn’t been resolved, even in higher education.

    Personally, if you are doing any programming at all in high school, you should count yourself fortunate because you are among a small minority. We usually make no assumptions of prior experience when you get to a college computer science program.

    If you are studying and learning on your own (as you are doing) then you should count yourself among the elite, who will actually be successful in computing and information technology. Every computing professional I know who is good at what they do is an ongoing self-learner. This is perhaps the most difficult concept to teach.

    I’m not trying to excuse a teacher or curriculum that doesn’t challenge you, but it is a fact that this style of learning is good career preparation for you to be exploring and learning on your own since that is what you will continually be doing throughout your career.

    Good luck & keep working hard. You’re going to be great!

    Bill Genereux
    Assistant Professor
    Computer Systems Technology
    Kansas State University at Salina

  • ndupes

    Very insightful. I do not take any of the programming classes offered. But, I do agrees with what you’ve said here. The changes you suggest seem logical and I am left wondering why they have not already been addressed. Keep up the good work.

  • Al Nobile

    Patrick,

    You’ve shed light on something I’ve wondered about for a long time. My first computer was a Commodore 128. I took my first computer class in 1985. I taught myself DOS. The internet (we called it USEnet back then) was accessed via 9600 baud AIM modem.

    Back in 1985, our class covered (to my recollection) hardware, machine language, binary and hex coding, and processes, i.e., clocks, registers, etc. The only routers I saw in my school were over in wood shop! For what computers did at that time, the course was adequate.

    What I’ve wondered about over the years as the internet boomed and Cisco became the first of many missed investment opportunities, is what does an intro computer class look like today? My suspicion is that the elites Mr. Genereux refers to, and whom I’ve worked alongside, are almost entirely self-taught. They went to a trade school, got their Microsoft, Novell, Cisco certs, and carved out some comfortable careers for themselves.

    This is not to bash the schools. The technology has evolved so quickly that most could not stay ahead of the changes under the best circumstances. It’s time for curriculum managers to consider that evolution and revisit what is meant when we speak of computers and computing. In any event, I certainly agree that we need to standardize the basic elements of a computer science class so that it better reflects the state of the industry.

    Kudos on your thought-provoking post!

    Alfonse Nobile
    Communications Dir.
    The V.I.E.W. Program
    http://www.viewprogram.org

5 Trackbacks / Pingbacks for this entry

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

    Archives

    All entries, chronologically...