As I continue my efforts towards understanding the intent of the new Computer Science Curriculum, I’m starting to focus on the difference between the University and College level of the courses.
The Grade 12 University Course is entitled “Computer Science” whereas the College Course is called “Computer Programming”. Similarly, the Grade 11 courses are called “Introduction to Computer Science” and “Introduction to Computer Programming”. As indicated in yesterday’s post, both ask the teacher to address the concept of the Environment which is significant. In this day and age, that’s a really refreshing approach.
In particular, I’m looking at the Grade 11 course to try to get a handle on what the difference is in content delivery between Computer Science and Computer Programming. Each of the courses has a strand entitled “Programming Concepts and Skills”. Within this strand, there are three sections. In both courses, there is a section entitled “Data Types and Expressions” and “Control Structures and Simple Algorithms”. Within each, there are the basics that must be covered in any programming environment or language. i.e. things like integers, strings, floating point numbers, Boolean values. This is good. You’re not going anywhere without a grounding in these basics. Boolean operators – of course. Everyone needs to know that.
It gets interesting to know the extent of where students are headed. In the Computer Science course, in addition to the above, students are expected to understand the notion of one-dimensional arrays in their problem solving. That’s missing from the Computer Programming course. While the basic requirements to create a program exist in both courses, the level of abstraction is evident in the university course.
The final section in both courses (4th in Computer Science and 3rd in Computer Programming)
Image via Wikipedia
is so crucial to the study of computer program development. It’s a section that addresses Code Maintenance. Why didn’t they have this stuff when I was in Grade 11? Our technique was “Program doesn’t work? Go fix it.” Now, we’re going to provide students with the tools, techniques, and knowledge to quickly zero in on problems during development and then the ability to go back in and update code when a change is needed. This is very good.
The university course adds one additional section. Students will be expected to use existing and write their own subprograms. This is a significant skill that students absolutely require for sophisticated program development.
As I’m working my way through this, I’m continuing to be impressed with the thoughts and efforts that have gone into the design of these courses. They will serve the students of Ontario well in their future endeavours.
Powered by ScribeFire.