Patrick Godwin's Blog-O-Rama!

Developers, developers, developers!

High School Computer Science: A Student’s Perspective

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 many people agree with me. Anyone else have an opinion on this? Your thoughts and comments are always welcome.

Thanks for reading,
Patrick Godwin

16 Responses to “High School Computer Science: A Student’s Perspective”

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

    Comment by Ryan Serazin — May 6, 2009 @ 5:31 pm

  2. 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

    Comment by Bill Genereux — May 7, 2009 @ 7:17 am

  3. 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.

    Comment by ndupes — May 10, 2009 @ 12:09 pm

  4. 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

    Comment by Al Nobile — May 14, 2009 @ 12:31 pm

  5. [...] High School Computer Science: A Student’s Perspective [...]

    Pingback by management history » Blog Archive » Software engineering — June 6, 2009 @ 3:41 am

  6. [...] High School Computer Science: A Student's Perspective – XImplosionX Tags: alone-as-other, always-been, few-years, hear-different, higher, local-organisations, more-debate, school, time ExoPC Slate tablet computer takes on iPad with Windows 7, Flash …Abu Dhabi-Owned Flash Entertainment Purchases Minority Interest in …Computer Aid: now taking unwanted gadget gifts | ElectricpigFolder comparison takes very little time with Compare Suite …Compare Suite makes file comparison fast and easy | Compare and …beauty101: dress post. for reals.“FACE” and the Human Spirit « Learning from DogsThe Report Card's best month yet! – Michael Salmonowicz – The …MTG – Magic the Gathering post | | Worldwake Blue … | PointOfLaw Forum: Roundtable: conflicts of … View the Contact Powered by Video [...]

    Pingback by High School Computer Science: A Student's Perspective - XImplosionX Video — February 1, 2010 @ 6:14 pm

  7. [...] Read the original:  High School Computer Science: A Student's Perspective – XImplosionX [...]

    Pingback by Noya Khobor » Blog Archive » High School Computer Science: A Student's Perspective – XImplosionX — February 1, 2010 @ 6:51 pm

  8. [...] Original post:  High School Computer Science: A Student's Perspective – XImplosionX [...]

    Pingback by High School Computer Science: A Student's Perspective – XImplosionX « Tech Pinoy — February 1, 2010 @ 7:26 pm

  9. [...] is the original:  High School Computer Science: A Student's Perspective – XImplosionX « Blog for Fun: History of Computer Virus – Part 2 Onsite Computer Repair & Services [...]

    Pingback by IT Corner » Blog Archive » High School Computer Science: A Student's Perspective - XImplosionX — February 1, 2010 @ 10:08 pm

  10. [...] College Zip Code MBA SchoolsWhat Should I Do No College Offers My Majors? Please Read What I …High School Computer Science: A Student's Perspective – XImplosionXPGMA cites relevance of technical and vocational education to …Science Leadership Academy: A new [...]

    Pingback by Computer Science Vocational Schools — February 10, 2010 @ 7:13 pm

  11. [...] graduating with computer science degrees in 2008 were the fewest in number in the past decade. …High School Computer Science: A Student's Perspective …High School Computer Science: A Student's Perspective. by Patrick Godwin on May.06, 2009, under [...]

    Pingback by computer science perspective — March 31, 2010 @ 6:05 am

  12. I agree completely. There needs to be a whole revamp of the entire system but these things take time. Thanks for the article.

    Comment by Emma Christensen — July 16, 2010 @ 4:25 am

  13. 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.

    Comment by ali0482 — August 14, 2010 @ 12:25 pm

  14. I totally agree. “Computer Science Courses” are labeled incorrectly all the time.

    Comment by Computer Science Courses Online — September 14, 2010 @ 2:12 pm

  15. Even though computer science curriculum has evolved a lot in the past few years, the concept remains unchanged. What the students need to learn is about the concept of the computer language. Once you get a hold of the concept, it can be applied to all of the computer languages in the world. It doesn’t matter whether you study C++ or Java programming, the concept basically remains the same.

    Comment by Computer Science Careers — November 24, 2010 @ 7:54 am

  16. Nice article on a computer science related topic. Programming is hard at first but gets better over time.

    Comment by Nicola — July 15, 2011 @ 6:25 pm

RSS feed for comments on this post. TrackBack URL

Leave a Response