工匠精神在《C程序设计》课程中的构建窥探

2018-05-18 10:42詹丽君
考试周刊 2018年43期
关键词:C程序设计工匠精神构建

摘 要:工匠精神作为时代的产物,成为各个领域人们行动的导向。本文以中职《C程序设计》课程为例,阐述如何在课程教学中引导学生构建“持之以恒、精益求精、开拓创新”的时代工匠精神。

关键词:中职;构建;工匠精神

《C程序设计》作为中职计算机专业的一门核心课程,在理论教学和实践教学两方面都占据着重要地位,同时由于课程本身对学习者的逻辑思维能力和动手能力要求较高,使得课堂教学的难度不言而喻。如何提高课堂教学的有效性成为广大编程教学者和学习者共同思考的话题。李克强总理在2016年的政府工作报告中多次提到“工匠精神”,本校申报的江苏省“十三五”规划课题将对工匠精神的解读概括为16个字“爱岗敬业、精益求精、持之以恒、守正创新”。本文将工匠精神折射到课程教学上,引导学生构建“持之以恒、精益求精、开拓创新”的时代工匠精神。

一、 工匠精神构建课程教学的动人之处—持之以恒

持之以恒是工匠精神最为动人之处。中职学生处于活泼好动的年龄,对新的课程兴趣浓厚,但在学习过程中普遍缺乏脚踏实地、锲而不舍的学习品质。

程序设计是一门精细化的课程,要求学习者思维缜密,对算法融会贯通,在程序的编写过程中对变量的使用及算法的实施极为细致。以C语言的排序算法为例,我们一共介绍四种排序算法:顺序、选择、冒泡和插入。每一种算法都有其自身的特点,要求学习者在学习过程中首先理解每一种算法,然后通过实例来推导验证,最后再用程序段来实现。每一种算法推导的过程要求学生能够归纳出排序的“趟”与“次”之间的关系,并用变量之间的关系来体现。以顺序排序法为例:用顺序排序法对给定的6个数(10,9,11,8,20,13)进行模拟升序排序。模拟过程如下:

第一趟:

(1)9,10,11,8,20,13(a[0]、a[1]比较交换)

(2)9,10,11,8,20,13(a[0]、a[2]比较不交换)

(3)8,10,11,9,20,13(a[0]、a[3]比较交换)

(4)8,10,11,9,20,13(a[0]、a[4]比较不交换)

(5)8,10,11,9,20,13(a[0]、a[5]比较不交换)

第二趟:

(1)8,10,11,9,20,13(a[1]、a[2]比较不交换)

(2)8,9,11,10,20,13(a[1]、a[3]比较交换)

(3)8,9,11,10,20,13(a[1]、a[4]比较不交换)

(4)8,9,11,10,20,13(a[1]、a[4]比较不交换)

……

第五趟(推导过程省略)

归纳可知,6个数共要排5趟,且每一趟要进行0~5次范围内的交换,从推导—归纳—变量定义—核心程序段耗时长,并要求学生注意力高度集中,许多学生推导两三次就放弃了,直接记忆结论,从而无法正在理解顺序排序的精髓,算法略有变化就无从下手。因此,教师在课堂上要注重培养学生聚精会神,锲而不舍,持之以恒的品质。

二、 工匠精神构建课程教学的称赞之处—精益求精

精益求精是工匠精神最为称赞之处。中职学生在学习习惯上大多浅尝辄止,普遍缺乏深入探究的意识。以C语言的四种排序算法为例,教材中只给出了每一种算法“从前往后,升序排序”的例子,为了使学生更好地理解四种排序算法的精髓,我要求学生在掌握从前往后排序的基础上,尝试从后往前排,并且每一种算法都提出升序和降序两种要求,这样原本的四个算法变成了十六个。许多同学都产生了畏难情绪,感觉无从下手。于是我引导学生分组进行排队,在自我体验的过程中理解各种算法的区别与联系。这种深入探究的要求,使得学生对几种排序算法融会贯通,运用自如,从而形成完整的知识体系。因此,教师要根据实际,培养学生精益求精的品质和职业素养。

三、 工匠精神构建课程教学的引航之处—开拓创新

开拓创新是工匠精神最为引领之处。中职学生在学习过程中常常只注重结果而忽略过程,普遍知其然而不知其所以然。以C语言的顺序排序和选择排序为例,两者的算法本质是一致的,都是将第i个元素和后面所有的元素去比,然后进行交换。但顺序排序每趟交换的次数在0~n-1之间,而选择排序因为引入了标记变量k,使得每趟最多交换一次。以选择排序法为例:用选择排序法对给定的6个数(10,9,11,8,20,13)进行模拟升序排序。模拟过程如下:

第一趟:10,9,11,8,20,13

(1)k=0,a[k]与a[1]比较,k=1

(2)a[k]与a[2]比较,k=1

(3)a[k]与a[3]比较,k=3

(4)a[k]与a[4]比较,k=3

(5)a[k]与a[5]比较,k=3

a[0]与a[3]交换,8,9,11,10,20,13

第二趟:8,9,11,10,20,13

(1)k=1,a[k]与a[2]比较,k=1

(2)a[k]与a[3]比较,k=1

(3)a[k]与a[4]比较,k=1

(4)a[k]与a[5]比较,k=1

……

第五趟(推导过程省略)

归纳可知,6个数共要排5趟,且每一趟最多交换1次,大大提高了效率。为了使学生理解标记变量k的作用,体会两种算法的内在联系,我特地制作了一个标记牌,在课堂上请两组同学分别来排队,学生在参与的过程中自然而然地理解了。为了使学生更深入地体会,我邀请一部分爱跳舞的同学将两种算法编排成舞蹈,在班会课上进行展示,学生一边观看舞蹈,一边体验内化,顺利地写出了核心程序段,并且无论如何改變形式,只要有舞蹈在心中,算法的精髓就已在心中。因此,教师在课程教学中不能拘泥于知识点本身,要从多角度入手,采用各种创新的形式,以思维导图的方式来串联起课程的学习,培养学生开拓创新的意识。

工匠精神彰显了时代精神,我们在课程教学中要积极引导学生主动构建“持之以恒、精益求精、开拓创新”的品质,让其成为学生学业、就业、创业的支柱和灵魂。

参考文献:

[1]张娟娟.工匠精神在职业教育中的回归与重塑[J].职教论坛,2016,12.

[2]王丽媛.高职教育中培养学生工匠精神的必要性与可行性研究[J].职教论坛,2014,22.

作者简介:

詹丽君,江苏省宜兴市,宜兴市张渚中等专业学校。

猜你喜欢
C程序设计工匠精神构建
环境生态类专业大学生创新创业能力培养体系的构建与实践
构建游戏课堂加强体育快乐教学的探究
共情教学模式在科学课堂的构建与实施研究
C程序设计课堂趣味性教学初探
德日“工匠精神”,中国怎么学
政府官员也需要“工匠精神”