加拿大高中选编程课难吗?
我以过去十年在加拿大教中国学生CS课程的体会来讲一下这个题目,虽然我教的不仅仅是高中生,还有UofT的Coop和master的学生,以及RYERSON的coop students. 我教过几百个学生了。 先讲明一个事儿:我绝不相信某个没学过程序设计的学生能自己完成一个有“复杂度”(注意我的用词是复杂度而不是难度)的软件系统或者游戏。因为人类大脑的结构决定人只能对有限的元素进行操作,并且通过抽象出有限数量的“数据类型”来完成对所有需要处理信息的分类。而代码是实现这些数据的结构,其本身也是由有限数量的元素组成的,因此没有学过程序的人不可能自己实现一个复杂的软件系统或游戏。所以学习CS就是学习如何做CS的事情。
回到你的问题来,你提到的“programming course"我猜是指计算机课程里教授如何编写程序的课程吧。如果我没想错的话,你在国内应该已经学过C语言了,那么你来加拿大之后学习的第一个computer science的课程应该是算法与数据结构。然后会学习操作系统,计算机网络之类的课程。如果你学的学校有coop项目的话,你还会在学一些应用方面的课程比如Unix高级命令,SQL,网页设计之类。但是所有这些课程都不包括教你怎么编写一个复杂的软件系统。如果要学这些课程,你需要选择相应的专业,一般是computer science or engineering(看具体学校的设置)。这里要提到的是,我在教学过程中遇到的中国学生,一般都是来学cs或者ece的,很少有学mechanical或者chemical engineering的,所以如果楼主将来也想学这些非传统cs的专业,建议尽早把英语学好。
总之,不管你是否想学编程,你来了加拿大之后都会学到很多跟编程有关的课程。这些课程对你的语言能力要求比较高,因为需要理解的内容比较多。但是如果你的目标是以移民为目的,你大可放心,因为这些课程都属于移民紧缺职业清单里的,很好找工作。而且大部分公司的要求都不会太高了,因为现在的年轻一代都会电脑,不会电脑的就几乎无法胜任工作了。。。