1. Current understanding of the Manitoba Computer Science Curriculum
I think that the Manitoba computer science curriculum is a good guide for teaching computer science at a Senior level as we see it offered in the senior streams in Manitoba. I believe that the curriculum was designed to support exactly the needs of the existing structure. A structure where computer science is not mandatory and only offered at senior levels.
The goal of teaching computer science is for students to learn how to solve problems, to accomplish tasks, and to express creativity, both individually and collaboratively. Students are encouraged to learn programming techniques and the syntax of one or more programming languages and thus, students will learn to adapt to changes in programming languages and learn new languages as they are developed.
Although students ideally advance from Senior 2 Computer Science(20S) level, followed by Senior 3 Computer Science(30S) and to Senior 4 computer Science (40S), it can easily be started at any senior level.
The framework starts with more general SLO like ethical behaviour and documentation in Senior 2 and then progressively introduces more computer science-specific SLO’s such as the use of a structured model for solving problems, pseudocode, to debugging, control-structures, and data-structures to actually programming algorithms.
2. Based on your knowledge do you think this seems to be a good guiding document?
As mentioned before, I believe that the curriculum was designed to support exactly the needs of the existing structure. However, in comparison to the UK National Curriculum, our computer science curriculum can feel overwhelming to some teachers.
It seems to me, given the existing structure, that for a teacher with a computer science background or computer science degree such as myself, the curriculum makes total sense, it is straight forward and very precise about its outcomes.
However, since most teachers who teach computer science in Manitoba do not have a computer science degree or background, I can see that the document may be overwhelming and intimidating. I would not recommend this document for anyone who starts teaching computer science without a computer science background.
3. What needs to be added/ removed?
There are many reasons why we need to teach computer science in the classroom.
If the goal is to support the system that we have right now, and if you have a computer science background, in my opinion, the curriculum works fine, since it is only meant to be a guide. Just like with any other curriculum it ultimately depends on classroom management and the teacher’s interest and enthusiasm in teaching an interesting and engaging class.
However, you may want to add some general guidance for teachers who start teaching computer science and perhaps make the outcomes less specific to coding and more to computational thinking.
In essence, we need to ask ourselves if we need to teach computer science or computational thinking? Does every student really need to know how to write computer programs? Would students benefit more from an interdisciplinary computational thinking curriculum, that will teach students how to independently think and how to solve problems?
If the later is the answer, we may want to get rid of the existing document altogether and change the way we treat computer science as a strand along with subject and adopt a more contemporary interdisciplinary computational thinking view. A view that looks at how computational thinking techniques can be integrated into other subject matters, such as English, Art and even Philosophy. As outlined in the attached link.
It is a fact that computational thinking is the skill set that future students will need. In addition, students will need digital literacy to help them to make sense of the world they live in. Thus, I strongly believe, that digital literacy should become the ABCs for all students with C being coding as early as starting at kindergarten. In conclusion, I believe that a new approach is needed and that we need to look at learning from an interdisciplinary computational thinking view. This new approach would mean that we have to rewrite the entire curriculum across all subjects and make computations thinking an SLO in each of them.