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
5 Trackbacks / Pingbacks for this entry
-
management history » Blog Archive » Software engineering
June 6th, 2009 on 3:41 am[...] High School Computer Science: A Student’s Perspective [...]
-
High School Computer Science: A Student's Perspective - XImplosionX Video
February 1st, 2010 on 6:14 pm[...] 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 | ManaNation.com | Worldwake Blue …PointofLaw.com | PointOfLaw Forum: Roundtable: conflicts of … View the Contact Powered by Video [...]
-
Noya Khobor » Blog Archive » High School Computer Science: A Student's Perspective – XImplosionX
February 1st, 2010 on 6:51 pm[...] Read the original: High School Computer Science: A Student's Perspective – XImplosionX [...]
-
High School Computer Science: A Student's Perspective – XImplosionX « Tech Pinoy
February 1st, 2010 on 7:26 pm[...] Original post: High School Computer Science: A Student's Perspective – XImplosionX [...]
-
IT Corner » Blog Archive » High School Computer Science: A Student's Perspective - XImplosionX
February 1st, 2010 on 10:08 pm[...] 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 [...]
May 6th, 2009 on 5:31 pm
From my strictly uneducated perspective, I completely agree, what you say makes sense.
May 7th, 2009 on 7:17 am
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
May 10th, 2009 on 12:09 pm
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.
May 14th, 2009 on 12:31 pm
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