2021年英国a-level计算机科学夏季考试一道题目的思考
2021-09-08马振华
马振华
摘 要:2021年英国的a-level考试计算机科学出现了一道冒泡排序的考题,在江苏省信息技术学业水平测试中也曾经出现过冒泡排序的考题,尝试通过对比两道题目,探讨两国在计算机科学教学中,在教学内容和评价方式方法上的差别和一些思考。
关键词:a-level;计算机科学;教学评价;冒泡排序
在2021年5月至6月的英国a-level全球统考计算机科学(9618)2卷Fundamental problem-solving and programming skills中出现了一道有关冒泡排序的题目,原题如下:
有一个名为result的全局二维数组,INTEGER类型,用来存储考生的考试号和他们的成绩。该数组中有2000个元素,1000行2列。
第1列存放考试号,第2列存放对应考生的成绩。并且所有数据都是有效的。
现在需要一个名叫Sort的过程,对成绩进行有效率的冒泡排序,升序排列。
用伪代码书写这个Sort过程。
在江苏省某一年的信息技术学业水平测试中,也同样出现了一道考查冒泡排序的题目,原题如下:
Private Sub Command1_Click()
Dim i as integer
Dim t as single
Dim cj(10) as single
For i=1 to 10
cj(i)=val(inputbox(“请输入10个学生的成绩”,“成绩输入”))
Next i
For i=1 to 9
For j=9 to 1 Step ①
If cj(j) T=cj(j) cj(j)=② cj(j+1)=T End If Next j Next i Print “成绩从高到低依次为:” For i=1 to 10 Print ③ Next i End Sub 这是一道完善程序的题目,在空缺的位置填入正确的代码。输入10个学生的成绩,按从大到小输出。 在国内的教材中,只是讲了冒泡排序算法,没有如何优化的部分,所以考查的程序也就是以冒泡排序为主,一个循环的嵌套进行排序,一个循环进行成绩的输出。学生应给出的答案为: ①-1 ②cj(j+1) ③cj(i) 这两道题目看似都是对学生的成绩进行冒泡排序处理,但是从覆盖内容、答题的要求、冒泡排序本身的理解来看,还是有一定差异的。 1.从覆盖的内容来看,a-level的这道题目是一道综合性比较强的题目,首先需要对子程序的概念有所掌握。其次需要掌握和数组相关的知识。这道题目需要用到二维数组。最后就是需要熟练掌握冒泡排序算法。而且这道题目要求对冒泡排序进行优化。国内学业水平考试这道题目除了冒泡排序算法之外,还涉及一维数组的输入和输出操作。所以在这样一道冒泡排序的题目中,英国的a-level考试考查的内容更广阔,而国内的这题相对来说没有涉及这么广的内容。 2.从答题的要求形式来看,a-level的这道题需要用伪代码来书写整段的程序。而整段代码的书写则要求学生能掌握这个题目所涉及的所有知识代码应该如何编写。国内学业水平考试这道题目的要求是完善程序。大部分主体程序已经给出,只需要填写三个数字所代表的内容。但是从实际所填写内容来看,难度并不高。 综合几方面比较,我们不难发现同样一个内容冒泡排序算法,a-level的计算机科学考查难度要高于江苏省的学业水平考试试题难度。这是因为两者的考试性质有所不同。这两门考试的对象虽然都是针对高中二年级学生,但是两个考试的性质有所不同。英国的a-level全球统考相当于英国的高考,考生可以根据自己的兴趣爱好在多门学科中选择三门进行考试,进而进行高校的申请。国内的学业水平考试,也就是以前的会考,相当于高中毕业考试。一個是选拔性考试,一个是过关性考试,同一个内容考试难度存在差异可以理解。 计算机科学技术是当前社会必要且必需的技术之一,它不断为人们的生活带来改变,为教育、为经济、为社会中的各个领域带来助力。国家对计算机科学在初级教育阶段也是越来越重视,有统一的教材体系、教学大纲、课时安排和课程进度,也有统一的评估方法和考查手段。今后如能向其他成熟学科靠拢,向已经开展多年计算机科学教育的国家取经,定会为我国培养更多优秀的计算机科学人才。 参考文献: 古力热米·阿吾旦.计算机课程在中小学教育中的地位与作用[J].教育时空,2017(3).