论文部分内容阅读
【摘要】目前,计算思维是当前国内外计算机界广为关注的一个重要概念,也是当前计算机教育重点研究的课题。本文分析了程序设计课程教学存在的问题,提出了应用激励机制、融入计算思维的程序设计课程教学改革方案。通过国二通过率实验的对比,得出面向计算思维的程序设计课程改革与实践是可行且有效的。
【关键词】计算思维;教学改革;程序设计课程【中图分类号】G623.5 【文献标识码】B【文章编号】2095-3089(2012)21-0013-02
1引言
近年来,计算思维的培养已成为国内外热点。2006年3月,美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授明确提出“计算思维能力将成为21世纪中叶每个人的基本能力”。她认为计算思维是每个人的基本技能,而不仅仅属于计算机科学家,计算思维和阅读、写作及算术一样,将成为21世纪每个人必须具备的基本技能 [1,2]。随即这一概念被国内外计算机界、社会学界以及哲学界的广大学者进行了广泛的研究与探讨。
针对计算思维培养问题,文献[3]对以计算思维为基础和以学科思想及方法为基础的两类计算机导论课程进行了分析比较。文献[4]和文献[5]分别探讨了如何在编译原理课程和人工智能课程中培养学生的计算机思维能力。2010年《九校联盟(C9)计算机基础教学发展战略联合声明》的核心要点也强调“需要把培养学生的‘计算思维’能力作为计算机基础教学的核心任务”。而程序设计作为大学非计算机专业的一门计算机基础课程,理所当然应该融入对计算思维能力的培养,从而提高大学生的基本技能和信息素养。
2程序设计课程教学存在的问题
目前,在大学计算机基础课程的教学中出现了一些问题,主要是“狭义工具论”的问题。这种思想认为计算机基础教学就是教学生怎么将计算机作为工具使用,这样不利于学生掌握计算机技术中最重要的核心思想和方法,因此这种认识对计算机教育非常有害。虽然“狭义工具论”不好,但在过去的一段时间里,在高校中确实存在这种倾向。
在实际教学过程中,每年都有相当多学生问:(1)学程序设计有什么用?(2)要不要通过国二考试?(3)这门课程与后续的专业课程是否有关?大部分教师会认真的回答并加以解释,但由于“狭义工具论”等不良思想的影响,所以学生往往表现出三种倾向:(1)对程序设计不感兴趣,经常逃课或迫于查课等压力,虽然人在但心不在焉,坐在教室后睡觉或玩手机;(2)仅为获得学分或取得国二证书,上课时按部就班完成老师布置的任务,并没有深入理解和研究;(3)很感兴趣,下课后查阅相关资料,接近计算机专业学生水平。第一种学生(比重约占30%),程序设计课几乎没有收获;第二种学生(比重约占60%),程序设计课仅仅是获得学分或取得国二证书;第三种学生(比重约占10%),程序设计课不仅是获得学分或取得国二证书,更重要的是今后会利用程序设计的思维来解决一些实际问题,为后续课程的学习打下了良好基础。
3采用激励机制教学,培养计算思维
3.1 计算思维的重要性。 现在计算机的发展非常迅速,加上网络的发展,新的知识大约每两年就翻一番,如何让学生在大一所学的知识,进入社会后不过时,这是教育工作者应该思考的问题。那么应该教给学生什么呢?这就是学习的能力和计算思维的能力。有了这种能力,学生进入社会后就能解决没有想过或者目前没有发生过的新问题,就可以以不变应万变,因此必须加强学生计算思维能力的培养。
3.2 采用激励机制教学,培养计算思维。 很多专家、学者、教授针对学生学不好的问题进行了积极的讨论和研究。大部分人认为,在如今的社会背景下,应该首先引导学生,培养学生的兴趣,从而培养他们分析问题、解决问题的能力。
再好再多的口号,抵不过现实的需要。虽然学生想过国二或想拿学分,这有点现实主义,但如果完全忽略学生的这种需要,哪怕再如何向学生强调计算思维的好处,恐怕也无济于事。因此在程序设计的教学过程中,应该改革教学方式,结合激励机制,从而更好地培养学生的计算思维。那么如何改革教学方式以及采用何种激励机制呢?第一,改革考试制度,不靠期末考试一锤定音,加重平时上机成绩的比重,及平时解决问题时的附加分。第二,以考代学,告诉学生,如果通过国二,可以免修程序设计这门课程,当然这个方案得学校配合,修改学生培养方案。
4 面向计算思维教学,提高国二通过率
前面已讲述,课程教学的目标不仅是为了让学生过国二,这只是结合学生的需要而采取的一种激励机制,最终的目标是为了提高学生的计算思维。那么如何在程序设计课程教学中融入计算思维,从而提高国二通过率呢?本文以如何提高国二C语言的机试成绩为例来阐述程序设计课程教学。
4.1 分析考纲,得出考点。 国二年年考,且经常修改考试大纲,像高考一样,修改考纲的专家也是根据实际需要作的更改,因此教师和学生最好一起分析考纲,得出考点。为什么不是由教师单独分析考纲,而是由教师和学生一起分析考纲呢?因为第一,教学不完全是应试教育,只为国二考试。第二,只有学生亲自参与,并且通过教师的讲解,学生才能深刻理解教学改革的作用和意义,从而激发他们的学习兴趣,锻炼并提高他们的思维能力。
4.2 举一反三,加强编程能力。 曾经不只一位学生说过这样的话“虽然上机只是100套题,但太难记了,我宁可记一百个历史或政治问答题,也不想记计算机国二机试题”。虽然国二机试题答案的长度远远没有一个历史或政治问答题的答案长,为什么学生觉得非常难记呢,终其原因有两点,第一,这些学生沒有理解题意,只是强记而并非理解性的记忆。第二,不会总结,不能举一反三,他们每个题目都去背,类似的题目不总结,不思考。
根据参加过国二考试的学生反映,新思路出版的国二上机考试资料命中率高达99%,为此对这套资料的100套机试题进行了分门别类,从而得出结论:这100套题,其实不同类别题不到30套,因为很多题都是类似的,有的甚至仅仅是改了一个数据或参数。如有8套编程题考了两个数据如何合并生成一个新的数据;有10多套编程题考的是求分数和;有近20套的填空题或改错题或编程题考了字符串的重组问题等等。其实在教学过程中,应该针对每种不同的类型题目,重点讲解一至两道,其余的应该教会学生如何思考,启发式教学,从而让学生触类旁通,达到举一反三的效果。 4.3 分析历年考题,找出高频考点及失分点。 这点主要是针对填空题和改错题,比如填空题经常会考赋初值、选择或循环的条件,那么改错题也经常考这些知识点,但往往會故意赋一个错误的初值,或把条件写错让学生来改。因此在教学过程中,应该融入计算思维,在讲解知识点的时候,不能只是照本宣科的讲概念,而是提问让学生思考,让学生带着疑问去学习,让他们思考这些知识点可以解决哪些问题,在解决问题的过程中可能会犯哪些错误,尤其是把学生在实验中犯的一些错误在课堂上作为实例讲解,这样学生就能感同身受,从而达到事半功倍的效果。
4.4 教学实践效果分析。 作者统计了学校相同专业2010级学生(采用常规教学)和2011级学生(采用计算思维教学)的国二通过率,具体数据如表1所示。
表1 国二通过率对比表 %
学生年级笔试通过率机试通过率2010级35.237.32011级63.881.0从表1可以看出,2010级学生的笔试和机试通过率接近,都只有1/3左右;而2011级融入计算思维的教学改革后,学生国二的笔试成绩和机试成绩都有了显著的提高。但是由于笔试试题里有30分的公共基础题,且涉及的概念较多,因此笔试通过率比单纯只考程序设计的机试通过率低一些,但这些都在合理的范围之内。
5结语
计算思维无处不在,它作为一个问题解决的工具,处处都会被使用。计算思维是每一个人在现代社会中发挥职能所必须掌握的一种根本技能,因此教师应该在大学教育教学中培养学生的计算思维。而计算思维的培养不是通过一两门课程的教学就能解决的问题,因此计算思维的培养应该贯穿于所有的课程教学中。自然,它应当有效的融入每一堂课中。
参考文献
[1]Wing J M. Computational Thinking[J].Communications of the ACM,2006, 49(3):33-35.
[2]周以真.计算思维[J].中国计算机学会通讯,2007,3(11):111-116.
[3]董荣胜.计算思维与计算机导论[J].计算机科学,2009,36(4):50-52.
[4]王挺,李梦君,周会平.对编译原理课程教学中计算思维培养的探讨[J].计算机教育,2009(21):11-13.
[5]王甲海,印鉴.人工智能教学与计算机思维培养[J].计算机教育,2010(19):68-70.
【关键词】计算思维;教学改革;程序设计课程【中图分类号】G623.5 【文献标识码】B【文章编号】2095-3089(2012)21-0013-02
1引言
近年来,计算思维的培养已成为国内外热点。2006年3月,美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授明确提出“计算思维能力将成为21世纪中叶每个人的基本能力”。她认为计算思维是每个人的基本技能,而不仅仅属于计算机科学家,计算思维和阅读、写作及算术一样,将成为21世纪每个人必须具备的基本技能 [1,2]。随即这一概念被国内外计算机界、社会学界以及哲学界的广大学者进行了广泛的研究与探讨。
针对计算思维培养问题,文献[3]对以计算思维为基础和以学科思想及方法为基础的两类计算机导论课程进行了分析比较。文献[4]和文献[5]分别探讨了如何在编译原理课程和人工智能课程中培养学生的计算机思维能力。2010年《九校联盟(C9)计算机基础教学发展战略联合声明》的核心要点也强调“需要把培养学生的‘计算思维’能力作为计算机基础教学的核心任务”。而程序设计作为大学非计算机专业的一门计算机基础课程,理所当然应该融入对计算思维能力的培养,从而提高大学生的基本技能和信息素养。
2程序设计课程教学存在的问题
目前,在大学计算机基础课程的教学中出现了一些问题,主要是“狭义工具论”的问题。这种思想认为计算机基础教学就是教学生怎么将计算机作为工具使用,这样不利于学生掌握计算机技术中最重要的核心思想和方法,因此这种认识对计算机教育非常有害。虽然“狭义工具论”不好,但在过去的一段时间里,在高校中确实存在这种倾向。
在实际教学过程中,每年都有相当多学生问:(1)学程序设计有什么用?(2)要不要通过国二考试?(3)这门课程与后续的专业课程是否有关?大部分教师会认真的回答并加以解释,但由于“狭义工具论”等不良思想的影响,所以学生往往表现出三种倾向:(1)对程序设计不感兴趣,经常逃课或迫于查课等压力,虽然人在但心不在焉,坐在教室后睡觉或玩手机;(2)仅为获得学分或取得国二证书,上课时按部就班完成老师布置的任务,并没有深入理解和研究;(3)很感兴趣,下课后查阅相关资料,接近计算机专业学生水平。第一种学生(比重约占30%),程序设计课几乎没有收获;第二种学生(比重约占60%),程序设计课仅仅是获得学分或取得国二证书;第三种学生(比重约占10%),程序设计课不仅是获得学分或取得国二证书,更重要的是今后会利用程序设计的思维来解决一些实际问题,为后续课程的学习打下了良好基础。
3采用激励机制教学,培养计算思维
3.1 计算思维的重要性。 现在计算机的发展非常迅速,加上网络的发展,新的知识大约每两年就翻一番,如何让学生在大一所学的知识,进入社会后不过时,这是教育工作者应该思考的问题。那么应该教给学生什么呢?这就是学习的能力和计算思维的能力。有了这种能力,学生进入社会后就能解决没有想过或者目前没有发生过的新问题,就可以以不变应万变,因此必须加强学生计算思维能力的培养。
3.2 采用激励机制教学,培养计算思维。 很多专家、学者、教授针对学生学不好的问题进行了积极的讨论和研究。大部分人认为,在如今的社会背景下,应该首先引导学生,培养学生的兴趣,从而培养他们分析问题、解决问题的能力。
再好再多的口号,抵不过现实的需要。虽然学生想过国二或想拿学分,这有点现实主义,但如果完全忽略学生的这种需要,哪怕再如何向学生强调计算思维的好处,恐怕也无济于事。因此在程序设计的教学过程中,应该改革教学方式,结合激励机制,从而更好地培养学生的计算思维。那么如何改革教学方式以及采用何种激励机制呢?第一,改革考试制度,不靠期末考试一锤定音,加重平时上机成绩的比重,及平时解决问题时的附加分。第二,以考代学,告诉学生,如果通过国二,可以免修程序设计这门课程,当然这个方案得学校配合,修改学生培养方案。
4 面向计算思维教学,提高国二通过率
前面已讲述,课程教学的目标不仅是为了让学生过国二,这只是结合学生的需要而采取的一种激励机制,最终的目标是为了提高学生的计算思维。那么如何在程序设计课程教学中融入计算思维,从而提高国二通过率呢?本文以如何提高国二C语言的机试成绩为例来阐述程序设计课程教学。
4.1 分析考纲,得出考点。 国二年年考,且经常修改考试大纲,像高考一样,修改考纲的专家也是根据实际需要作的更改,因此教师和学生最好一起分析考纲,得出考点。为什么不是由教师单独分析考纲,而是由教师和学生一起分析考纲呢?因为第一,教学不完全是应试教育,只为国二考试。第二,只有学生亲自参与,并且通过教师的讲解,学生才能深刻理解教学改革的作用和意义,从而激发他们的学习兴趣,锻炼并提高他们的思维能力。
4.2 举一反三,加强编程能力。 曾经不只一位学生说过这样的话“虽然上机只是100套题,但太难记了,我宁可记一百个历史或政治问答题,也不想记计算机国二机试题”。虽然国二机试题答案的长度远远没有一个历史或政治问答题的答案长,为什么学生觉得非常难记呢,终其原因有两点,第一,这些学生沒有理解题意,只是强记而并非理解性的记忆。第二,不会总结,不能举一反三,他们每个题目都去背,类似的题目不总结,不思考。
根据参加过国二考试的学生反映,新思路出版的国二上机考试资料命中率高达99%,为此对这套资料的100套机试题进行了分门别类,从而得出结论:这100套题,其实不同类别题不到30套,因为很多题都是类似的,有的甚至仅仅是改了一个数据或参数。如有8套编程题考了两个数据如何合并生成一个新的数据;有10多套编程题考的是求分数和;有近20套的填空题或改错题或编程题考了字符串的重组问题等等。其实在教学过程中,应该针对每种不同的类型题目,重点讲解一至两道,其余的应该教会学生如何思考,启发式教学,从而让学生触类旁通,达到举一反三的效果。 4.3 分析历年考题,找出高频考点及失分点。 这点主要是针对填空题和改错题,比如填空题经常会考赋初值、选择或循环的条件,那么改错题也经常考这些知识点,但往往會故意赋一个错误的初值,或把条件写错让学生来改。因此在教学过程中,应该融入计算思维,在讲解知识点的时候,不能只是照本宣科的讲概念,而是提问让学生思考,让学生带着疑问去学习,让他们思考这些知识点可以解决哪些问题,在解决问题的过程中可能会犯哪些错误,尤其是把学生在实验中犯的一些错误在课堂上作为实例讲解,这样学生就能感同身受,从而达到事半功倍的效果。
4.4 教学实践效果分析。 作者统计了学校相同专业2010级学生(采用常规教学)和2011级学生(采用计算思维教学)的国二通过率,具体数据如表1所示。
表1 国二通过率对比表 %
学生年级笔试通过率机试通过率2010级35.237.32011级63.881.0从表1可以看出,2010级学生的笔试和机试通过率接近,都只有1/3左右;而2011级融入计算思维的教学改革后,学生国二的笔试成绩和机试成绩都有了显著的提高。但是由于笔试试题里有30分的公共基础题,且涉及的概念较多,因此笔试通过率比单纯只考程序设计的机试通过率低一些,但这些都在合理的范围之内。
5结语
计算思维无处不在,它作为一个问题解决的工具,处处都会被使用。计算思维是每一个人在现代社会中发挥职能所必须掌握的一种根本技能,因此教师应该在大学教育教学中培养学生的计算思维。而计算思维的培养不是通过一两门课程的教学就能解决的问题,因此计算思维的培养应该贯穿于所有的课程教学中。自然,它应当有效的融入每一堂课中。
参考文献
[1]Wing J M. Computational Thinking[J].Communications of the ACM,2006, 49(3):33-35.
[2]周以真.计算思维[J].中国计算机学会通讯,2007,3(11):111-116.
[3]董荣胜.计算思维与计算机导论[J].计算机科学,2009,36(4):50-52.
[4]王挺,李梦君,周会平.对编译原理课程教学中计算思维培养的探讨[J].计算机教育,2009(21):11-13.
[5]王甲海,印鉴.人工智能教学与计算机思维培养[J].计算机教育,2010(19):68-70.