APP下载

理实一体《C语言程序设计》教材创新开发心得

2019-10-25蒋高飞

吉林省教育学院学报 2019年9期
关键词:理实一体心得C语言程序设计

摘要:为了让学生更好地掌握“C语言程序设计”这门课程,多锻炼实际操作能力,适应未来工作需求。笔者结合实际教学编写了理实一体化《C语言程序设计》教材,在内容、结构等方面进行了创新。

关键词:C语言程序设计;教材;理实一体;创新;心得

d0i:10.1608 3/j.cnki.16 71-15 80.2019.09.027

中图分类号:G852.9

文献标识码:A

文章编号:1671-1580(2019)09-0110-04

“C语言程序设计”是笔者所教授物联网技术专业学生必修的专业基础课程,后续还有“JAVA程序设计”、“.NET程序设计”、“单片机技术”等多门相关课程,因此C语言学得好坏直接关系到后续课程的学习,甚至关乎学生整个三年课程学习情况。可见,“C语言程序设计”这门课程在整个专业中处于举足轻重的地位,因此学好“C语言程序设计”是势在必行的。

古语云:工欲善其事,必先利其器。要想学好“C语言程序设计”这门课,先要有一本好的教材。古语又云:勤学者不如好学者,好学者不如乐学者。为了能让学生喜欢上“C语言程序设计”,学好它,为后续课程打下良好基础,并培养学生从被动到自主的学习习惯,今后工作中能学有所用,笔者申报了吉林省职业教育与成人教育教学改革研究课题——“《C语言程序设计》理实一体教材建设研究与实践”(项目批准号:2017ZCY157)项目研究,在教材开发过程中做了几点创新探究性尝试,获得了一些心得体会与大家分享。

一、结合未来实际工作需求和学生实际情况增减知识点

1.以就业为导向、提升学生学习兴趣为目标,重新制定教材内容

笔者教授“C语言程序设计”的物联网技术专业是与企业合办,企方教师根据学生未来就业需求,重新制订了教学内容。在常规《C语言程序设计》教材包含的知识点基础上,去掉不常用的“文件”部分,添加了“数据结构”课程的线性表、栈、队列和二叉树4部分内容。

另外,为了引起学生学习兴趣,增加视觉效果,避免学习疲劳,教材运用了五个图形模式下的游戏程序,因此又添加了图形操作的一些基本知识点。如:绘制圆、矩形,显示图片,鼠标操作等。常规教材和理实一体教改成果教材包含知识点具体对比如图1所示。

2.以用才讲、够用即止为原则,选取常用知识点

教材理论知识点以案例为依托,只选择案例中涉及到的常用内容,不用不讲,避免枯燥、无用内容的堆砌,从而失去教材的可读性和内容的流畅性,而且也过度地消耗了学生阅读和学习的热情。

比如程序中常用的基本数值类型只有短整型int、长整型long、浮点型float和double,对应的格式符分别为%d,%Id,%f,%If4种。但是有的教材不分伯仲,不常用的%u和%g等都罗列出来。再如位操作,初学者也不常用、甚至用不上。还有“文件”一个章节的内容在实际软件开发中也很少用到。

其实上述内容对于初学者来说,不讲也不影响后续课程学习,即使偶尔某个程序涉及到,只要简单举几个例子讲解一下即可。没有必要用乏味的文字占用大量篇幅描述,讓人一看就望而生畏,类似这种鸡肋似的知识点本教材果断舍弃。

从学生实际学习情况出发,有目的性、选择性地增删讲述内容,这样确定了《C语言程序设计》理实一体教材从知识体系结构上分为六大部分,即基础语法(顺序、选择、循环语句)、数组、函数、指针、数据结构、图形操作。教材以循序渐进,由浅入深的方法讲解了编制C语言应用程序的语法规则和常用操作算法。

二、理实结合、突出以“练”为主,重新布局教材结构

1.以理实一体课堂教学为蓝本,模块化布局教材

本教材中的案例、例题、习题和实践内容不像传统教材——各白独立、分割开来。而是把理实一体化课堂的实际授课模式和流程搬到教材上,教材就是课堂授课内容的直接呈现,把理论分解融合到例题和实践中,避免枯燥的纯理论学习,学生不会产生厌学情绪。

教材编写内容设置了6大模块,每个模块关联1个或多个知识点,如表1所示。以一个完整案例为1个模块,讲述某一知识点时,理论和实践交替布局,习题融入理论的讲解中,实现讲到即练,及时巩固所学的每部分知识点。案例中理论知识的讲解过程中若出现重点、难点时,理论简述后紧接举例说明、习题强化训练,再给出思维拓展和注意事项,使一个系统化的知识点呈现在学生脑海中,切合了提出问题、理解问题、分解问题、解决问题、掌握问题,再灵活应用到下一个类似问题的思维模式。这种教材流程和授课流程一致,也便于学生课前预习和课后复习,起到事半功倍的作用。

2.为加强学生实践操作能力,增量实践环节

强调学生实际操作,提高动手能力是高职院校教学宗旨。教材以此为编写准绳,突出“理实一体”这一特点,如表2所示重新布局每个模块包含的内容,多多增加实践环节。

为引起学生学习兴趣,上课能听进去,对所学理论有初步了解的愿望,进而实际着手在编辑器中白主编写、调试应用程序代码。本教材设置每个模块的讲解都以一个游戏案例开启,再进一步结合案例和先导例题讲解案例中所包含的理论知识,然后马上让学生模仿例题,根据教师在教材中列出的算法步骤着手初步实践,再举例、再模仿。这样一步步、一点点消化、渗透,边讲边练,练中有讲,讲中有练,做到及时巩固所学每部分知识点,随时锻炼实际操作技能。

3.理论以代码注释形式出现,简化语言描述

根据高职学生学习认知情况,提升学生阅读兴趣,避免繁琐理论知识的大量枯燥、陈述性语言的赘述,整本教材的理论描述都以案例或例题的代码注释形式出现,语言尽量简洁,通俗易懂。立足多举例少抽象语言描述的编写原则,即使复杂抽象的概念也尽量简单化、口语化,尽量用直观、清晰表格或图例代替文字,让学生看图解意。

比如参数传递、指针、单链表等复杂抽象语法规则的介绍,都结合实际例题,以图形和表格形式出现,让学生学习理论知识点时能把抽象的内容具体实例化,这样对知识点的掌握感觉有抓手、是具象的,一想到某个图片能联想到某个概念或语法规则等相关联的理论知识。如图2所示列举出指针为形参时参数传递的过程图例说明。

再如,变量数据类型的关键字和格式符等相关知识,以对照形式集结在一个表格中,这样学生对这部分内容一目了然,避免阅读大段文字,以及前后关联知识分开描述导致的知识点学习不连贯的弊端。另外,每个案例和习题右侧均给出代码说明,引出要讲解的知识点,让学生直观理解、认识到某种语句应用场合和具体实际应用情况。以后复习或再次翻看教材时,只要查阅单条语句注释就知道语句的语法及功能,而不是毫无目的地在厚厚书本大量文字中去搜寻。

若是一两句不能解释清楚、稍复杂的知识点,则放在例题后进行深层次的讲解,进一步细化。但也以举例为主,文字抽象描述为辅,让学生易于消化理解,灵活掌握理论知识,进而使学生活学活用、触类旁通运用这些知识点模仿例题代码,达到能自主编写类似功能程序代码的实际操作水平。

4.知识点关联紧密,提高“练”的效果

为加强学生“练”的实际操作能力,本教材在初步实践内容中给出详细算法流程(实现步骤),一步步引导学生,避免学生初学新知识,刚开始编程时无从下手,使学生在例题代码和实践步骤二者学习的基础上,渐渐领悟、掌握C语言程序结构和编程技巧,直至能自主独立完成“自主实践”环节的练习题目。通过以上几个环节锻炼,提高学生理解问题、分析问题、解决问题的实战能力。

三、主干案例以递进方式累加新功能,形成完整C语言知识体系

1.叠加知识点,巩固旧知识,学习新知识

选取的6个主干游戏案例、例题、实践题目,从第一个模块贯通至最后一个模块,支撑承载整本书所有知识点的呈现,其形式是由包含一个小功能的程序,随着教材内容的深入,不断增加新功能、叠加新知识。这样学习新知识时不会有跳跃、突然的感觉,让学生在固有思维基础上又有创新。一部分旧知识,一部分新知识,增加了知识体系的连贯性。

当整本书讲完,知识点也讲完,最后能呈现给学生6个完整功能的游戏应用程序,通过完整的游戏程序让学生对C语言语法规则有完整、系统化的认识,学生头脑中对程序开发流程也有一个整体认识,避免了知识点的零散和琐碎。表3以第一模块中“弹跳小球”程序为例:

这种知识点的叠加,重复复习巩固旧知识,在学生头脑中形成头脑风暴,日积月累,自然而然就刻在脑中,也就潜移默化地记住掌握了这些知识点。具体流程如图3所示。即首先提出问题,教师给出实现方法,结合代码讲解理论知识,在学生对刚学内容有印象的时候,马上给出与例题类似的实训题目,自主利用刚刚学到的语法,参考例题及教材中给出的实现算法步骤编写可执行的完整代码,完成初步实践内容,在头脑中消化、加深巩固所学理论。

为强化记忆,在先导例题基础上,再添加一两个新知识点,再给出一个拓展例题和拓展实践不断强化、不断递进。这样学生学习了新知识,还巩固复习了旧知识,并在编程惯性模式思維中记住所学知识,进而能独立自主创新完成后续自主实践环节。

2.主干案例形式多样,促进知识体系整体化

主干案例以多种形式出现,如“消砖块”程序,分别以一个主函数,主函数调用子函数,普通变量做参数,指针变量做参数4种形式出现,让学生通过一个程序递进方式了解C语言语法规则,编程形式,掌握新知识点,不会导致陌生感,对学习新知识有抵触情绪。

这样对一个案例展开所有关联理论知识点的全面讲解——说明、分析、练习、应用,让学生在自学时也有对比,有重点可循、可抓。

在一个案例上一点点功能的叠加,让学生头脑中有一个知识点的巩固、掌握,还了解了应用程序开发过程的分析问题、解决问题的思路历程,为今后自主创新创建、解决开发应用程序打下基础,头脑中形成算法实现流程的固有思维,以后再编程过程就知道按什么步骤、如何分析解决问题了。通过这种头脑风暴的磨炼,让学生掌握一种学习习惯和方法,锻炼学生独立思考问题的能力,运用掌握的学习方法学习更多的知识和技能。

四、增加趣味性,提高教材的可读性,引起学生学习兴趣

为尽量减少理论学习的枯燥乏味,以游戏开始每个模块的学习,选取了“弹跳小球”、“消砖块”、“飞机大战”等有代表性有趣的动态游戏程序。即使在复杂的数据结构部分的学习,也选取了贴近生活的游戏程序,如链表部分,选取了“贪吃蛇”游戏,队列选取了“扫雷”和“选猴王”。

这些游戏程序的选取,既要包含教材讲解的知识点,还要简单明了,符合高职学生的学情。因此,趣味性还代表着符合学生的具体学习情况,选择通俗易懂有趣的程序代码讲解。杜绝有趣游戏程序因过于复杂,导致学生不去深究为什么、怎么实现的情况发生。

另外设计了与教材配套的知识点讲解动画,生动讲解案例、例题等关键算法实现原理过程,通过动画方式辅助学生提高学习兴趣,在润物细无声中让学生掌握枯燥理论知识。

一本好的教材不但要能答疑解惑,还要能让你拿起来舍不得放下,一气呵成读完。《C语言程序设计》理实一体教材就是以高职教育职业化为宗旨,以提高学生实际动手操作能力、解决问题能力和未来就业竞争力为出发点,理论与实践相结合,科学合理、深入浅出地设置教材内容。理论知识描述简洁明了,通俗易懂。案例和实践题目尽量做到贴近生活且有趣,激发学习兴趣,使学生在轻松愉悦氛围下学有所得、活学活用。

[参考文献]

[1]蒋高飞.理实一体

[2]张立新理实一体化教学资源的研究与实践[J].当代教研论丛,2018( 12).

[3]蒋高飞.《C语言程序设计》理实一体教材编写心得[J].才智,2018(05)

猜你喜欢

理实一体心得C语言程序设计
Javascript课程“理实一体”教学设计的探讨
军队院校任职教育新装备理实一体化教学的认识与实践
增强现实技术在职业教育中的应用
浅谈如何提高技工院校数控铣加工精度
以“学生为中心”的《C语言程序设计》教学设计探究
浅谈英语词汇学习心得
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践