Thursday 21 May 2009

Courses

I have been thinking about the courses that we are running at school for our students and where the need was 5 years agao, and where that need is now.

This blog post today started because of a post from Alfred Thompson's blogs where he asked for ideas about a First Computer Science Course:

http://blogs.msdn.com/alfredth/archive/2009/05/15/a-first-computer-science-course.aspx

In this blog he mentions a couple of aims that a Computer Science course should offer students:
a) get students interested in computer science and
b) give them some basics so that when they get to college/university they are ready to start if they have the interest

Yes, at the moment our courses are catering towards this, giving the students some basics/intermediate skills towards programming and the social issues of computing and Information Technology.

One of the comments from the post, looks at what makes up the three major topics that a Computer Science Course at High School Level
1. Computer Apps - how to use popular software to its fullest.
2. Computer Technology - the basics of hardware, networking and how to fix things when they go haywire.
3. Programming
Of the three the first is by far the most critical to a HS student. If they do not understand Office, job opportunities just go away. Is that technically CS though? It has the computer part but I am not sure about the science part.

I agree with his statement on the compute part, but we need more of that problem solving and thinking.

Computer Tech is kind of handy. To be able to walk in to a store to buy a computer and understand what the salesperson is saying is a useful skill. To be able to hook up a wireless network in your house is kind of nice. I have had several of my students get jobs at college computer help desks because of their knowledge from just those two classes.

Programming, on the other hand, I consider more of a specialty or industrial art like auto shop or wood shop. It teaches a skill as opposed to knowledge that is useful day to day. I teach programming to 8 – 11grade kids. I like the argument that it teaches logical thought processes, etc, etc. Of course, after having taught it off and on for 25 years, I am beginning to suspect that sophomores are not capable to logical thought. I think Computer Science should be more on how to make a movie using a video camera and software than programming. If we are going to attract kids to CS I do not care what language you are going to use, programming is not the way to do it.

A first course in CS should be a combination of software applications and a watered down A+ course. This would be the most useful to all students.

2 comments:

Alfred Thompson said...

Of course the question becomes is "an applications and watered down A+ course" really a computer science course? It is a computer course but computer science? I'm not so sure it is. I do think that students need those skills but perhaps they should already have them when they get to high school.

Patrick Godwin said...

Being a sophomore CS student myself I can safely say that the definition of what a Computer Science class is has been way too skewed. A+ and Computer Applications should fall under the category of Information Technology, not a science. Computer Science, as defined by Wikipedia, is "the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems.". Unfortunately, this definition has been broadened to allow Office, Networking, and computer repair. While all these are important skills to know, they are not a part of the theory. We need to keep irrelevant subjects out of computer science courses.