纪绪
摘要:该文针对目前高职院校“C语言程序设计”课程教学中存在的问题,基于计算思维教育理念,从教学内容、教学方法、教学手段等几个方面进行教学改革研究,从而提高教学质量。
关键词:计算思维;教学改革;C语言程序设计
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)26-0120-02
Abstract: This paper aims to solve the problems in the process of teaching the C Language course from the perspective of Computational Thinking Theory, and tries to propose some feasible suggestions to improve teaching, such as teaching content, methods, and tools.
Key words: Computational Thinking;Teaching Reform; C Language Programming
1 计算思维概念的出现
2006年,美国卡内基梅隆大学的周以真教授提出了计算思维的概念,引起了计算机界与计算机教育界的广泛关注,近年来计算思维在国内外的研究热度逐年增加。
周以真教授对计算思维进行如下定义:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学领域的一系列思维活动。即指通过化简、嵌入、转化和仿真等方法,把一个困难的问题阐释成如何求解它的思维方法。总的来说,周教授认为计算机科学不仅仅是进行编程,一个优秀的计算机人才除了具备编程能力之外,还要具备抽象的逻辑思维能力。计算思维强调的并不是简单的机械重复能力,而是人的思维能力的体现。因此,在计算机科学教育中应当以培养计算思维为核心。随着计算思维概念的提出,对国内计算机教育提出了新的要求,也得到了计算机教育界的关注,在高校中如何推进计算思维的培养成为计算机教育界的热点话题。
2 高职院校C语言程序设计课程的教学现状
C语言是计算机专业一门重要的专业基础课,作为一门长盛不衰的程序设计语言,C语言功能丰富,表达能力强,使用灵活,应用面广,程序效率高,可移植性好,既具有高级语言的优点,又具备低级语言的很多优点,因此成为很多高校计算机及相关专业首选的程序设计语言。然而,由于本课程开设主要是面向大一刚入校的学生,多数学生对程序设计没有基础,缺乏计算机软硬件基本知识,存在知识衔接问题;在目前高职院校的C语言程序设计教学中,基本是以教师讲授作为主导,教学过程一般都是采用纯数学的抽象案例,如求最大值、求和、对数值排序等等,这种教学方式对职业院校学生来说会感觉抽象、枯燥,因而难以理解和接受,进而影响到学生的学习积极性,不能达到预期的教学效果。因此这种教学方式并不适用于高职院校的C语言教学,针对高职院校的C语言教学改革顯得尤其重要。具体来看问题主要体现在以下几个方面:
1) 学习目的不明确
在开始上课时,很多学生并不知道C语言能用来做什么,为什么要学习C语言。我们做任何事情,只有知道其意义,我们才会去做,也才会做好。C语言应用广泛,程序员考试、计算机等级考试等需要用到C语言只是学习C语言的表面原因,通过C语言的学习培养学生逻辑思维能力来解决实际问题才是核心目的。如果学生没有明确学习目的,不能充分调动学生的学习积极性,就会导致学生听课没有兴趣,缺乏主动性,教学效果不理想。
2) 教学内容缺乏实用性与趣味性
由于C语言涉及的概念比较复杂,规则繁多。随着课程的深入,相对难以理解、使用中容易出错的内容会比较多,因此会增加学生的学习难度。此时如果在教学内容设置上缺乏实用性与趣味性,就很难激发学生的学习热情,达到预期教学效果。
3) 教学组织与教学方法不适用
目前,很多高职院校在教学组织与教学方法上与一般的本科教学方式相同。主要由教师讲授为主,通过每个单元内容的讲解让学生掌握相关知识点,再通过布置练习让学生实践中体会和理解有关概念。这种方式并不能体现出高职教育“教、学、做”一体化的主导思想。也会使学生无法将所学知识点应用于具体实际项目来解决实际问题,同时也会导致学生在学习过程中过分注重语法规则而忽略了编程的本质。
因此,在C语言程序设计的教学改革中以培养学生的计算思维能力为导向,强调思维方式的养成,以应用为背景,加深学生对C语言的理解与运用能力,培养学生分析问题与解决问题的能力是非常重要的。
3 基于计算思维能力的培养对C语言程序设计课程进行改革
针对以上存在的问题,本人对C语言教学改革有以下几点认识:
1) 基于计算思维理念,针对学生培养目标,修订课程标准
教师首先应使学生明确学习目的。高职院校人才培养目标定位于培养具有基本程序设计能力,能够应用计算机解决问题,拥有良好综合素质和逻辑思维能力,满足企业需要的技能型应用型人才。因此,学习程序设计的核心目的在于掌握解决实际问题的技能。因此,应以所学知识能够提高学生逻辑思维能力为原则,对课程标准进行科学的调整,突出C语言学习中计算思维理念的养成。
2) 基于计算思维,对C语言教学内容组织进行改革
针对目前教学内容组织上只注重知识点讲授而未体现出程序设计理念的现状,在教学内容组织上要更强调计算思维的培养,强化学生的自主学习能力和协助学习能力。因此,在C语言教学过程中, 应采用数个与真实生活场景密切相关的项目,如打字游戏、猜牌游戏、学员成绩管理系统、投票系统、竞赛选手打分排序等多个项目,教师通过模拟的真实生活场景讲解引出技术内容。项目选择考虑到实用性,趣味性,从而帮助学生理解问题的思维过程,并用学到的编程技能解决问题。
3) 基于计算思维,对C语言教学方法进行改革
在教学方法上,强调任务驱动,即设置多个学习情境,每个学习情境作为一个单独的任务,而每个学习情境映射为c语言中最重要的知识点,所有学习情境联系起来成为一个完整的项目。在整个教学过程中,体现出项目导向,任务驱动,教学做一体化,逐层分解相关知识点,引导学生突破传统的思维方式,培养学生计算思维的能力。在此过程中可以结合多种教学方法:
(1) 基于计算思维的抛锚式教学法。比如在“顺序程序设计”中,首先抛出“10+20=?”的算式。学生会疑惑为什么会抛出这么简单的问题呢?进而产生兴趣。那么C语言中怎么实现这样的算式哪?我们可以拿三个粉笔盒演示。第一个盒子放入10支粉笔,第二个盒子放入20支粉笔,然后把他们都倒入第三个盒子中。在此过程中,学生的思维通过从抽象到形象的转变,深刻理解了C语言中内存结构,赋值等知识点。接下来学习赋值语句的语法就会很容易接受了。
(2) 基于计算思维的任务驱动式教学。教师通过任务激发学生的学习动机,学生通过完成任务,采用计算思维解决问题,培养分析和解决问题的能力。比如在学习“冒泡排序”时,将学生分组。让每个组的学生随机站成一排,然后按身高排序。学生在完成这个任务的过程中就会思考如何进行排序的问题。既培养学生计算思维的能力,又增强了他们的学习自主性。
又比如在讲解“移位”运算时,可以让某一排同学起立依次向前移动一个座位,这样学生对移位运算过程中的溢出与补位就会有更清晰的理解了。
(3) 引入翻转课堂教学模式。在部分内容设置上引入翻转课堂的教学方式,提高学生的自主学习能力和举一反三的能力。比如在完成一维数组的学习后,可以将二维数组的内容作为课下学习内容,上课时通过答疑,讨论等形式巩固学生对相关知识的掌握,这样既发挥了学生的主观能动性,又提高了学习的兴趣与信心。
4 结束语
綜上,计算思维教育着眼于思维方式的养成,与传统教育强调知识的系统性、整体性不同,计算思维要求明确将思维方式讲出来,培养学生有意识的采用计算思维解决复杂问题。C语言作为大一新生入学接触到第一门程序设计课程,采用计算思维方法进行教学设计,强调思维方式的养成,对学生今后的专业知识学习是很有意义的。
参考文献:
[1] 周以真.计算思维[J].中国计算机学会通讯,2007,3 (11).
[2] 康苇苇.基于计算思维的C语言教学模式分析与案例设计[D].重庆师范大学,2015.
[3] 徐新海,林宇斐.注重计算思维的启发式C语言语法教学[J].计算机教育,2014.
[4] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011.
[通联编辑:王力]