张朝兰
贵州航天职业技术学院 贵州遵义 563000
在高职院校理工科专业体系对应的每门课程都应根据高等职业学校专业教学标准而开设。“C语言程序设计”是高职院校计算机类、电子信息类、自动化类等专业基础必修课,是面向过程的一门编程基础课程,开设在新生入校第一或第二学期。它涉及数据类型、各种运算符与表达式、三大编程逻辑结构、9种语句、数组与函数等概念与应用,语法规则较多。对于高职院校学生而言基础相对薄弱,对该课程语法规则理解较为困难。笔者长期从事一线教学,深知高职理工科学生情况:一半是中高职衔接生,学习习惯不佳,自我约束力较差等。本文立足于该课程本身、学生实际和学情状态,将从教师个人涵养、课程德育元素融入、课前—课中—课后教学活动过程、学生学习主动性等因素进行实践与探讨。
教师担当着传播知识、传播思想、传播真理、塑造灵魂的角色。要有理想信念、有道德情操、有扎实学识、有仁爱之心的人。笔者认为教师不只是完成教学,重要的是宽严并济,把知识技能与育人结合起来,达到好的教学效果;如何靠连贯的知识、严谨的态度、阳光的个性、幽默的语言和对学生的关爱等来影响学生,都体现在教师教学过程中。教师不仅要传授知识、传授好的学习方法和技能,还要传授谦虚好学、宽恕包容、努力上进的人生态度等。有人说过,教育是一项爱的事业,是一个灵魂对众多灵魂点拨、关注、爱的传送过程,是融入教师教与学生学的互动过程。教人先教己,唯有以德立身、以德施教、潜心学问、不断学习、不怕困难、甘为人梯的教师涵养,有强烈的责任感和发自心底的爱去亲近学生、喜爱学生、关心和帮助学生,且耐心细致和客观公正、宽严适度去全方位育人,把握好教学的各个环节,才能培育出既有专业知识又有良好品德的人。
“C语言程序设计”不仅可以编写应用程序,而且也适合于编写系统软件,它是高职理工科电类专业必修课,也是计算机类专业必修课程之一,专业课程是课程德育建设的基本载体。笔者深入梳理“C语言程序设计”课程教学内容,结合其功能丰富、表达能力强、使用灵活方便、应用面广、目标程序运行效率高、可移植等课程特点、思维方法和价值理念,深入挖掘该课程德育元素,有机融入课程教学,达到较好的育人效果。
该课程在教学标准中将“C语言程序设计”各知识点与德育元素进行链接,旨在传授基本问题求解思路,建立编程意识,培养良好的思维习惯,进而做到运用程序阅读与编程手段培养敏捷思维和创新思维,以及读懂问题、分析问题与解决问题的能力,还可以将德育元素贯穿其中。根据高职学生基础薄弱、自主学习能力较差的特点,笔者认为高职电类学生学习“C语言程序设计”要达到的目标是:
(1)程序设计思维方式的基本训练,掌握和应用相关知识,而不是要求学生编写大型程序。因此,学习本课程时,应该把精力放在最基本、最常用的知识内容和实践中,以为后续课程打好坚实的基础。
(2)为今后工作中需要快速掌握一门新的计算机语言能活学活用,举一反三。
(3)把人们解决问题的方法和思想,按照计算机能认识的某种规则书写成程序,然后让计算机执行程序,提高工作效率。
(4)教师在教学过程中将知识融入事物发展规律、探索意识、科学精神、工匠精神、团队协作等德育元素进行传授,以期提高学生的人文素养与职业精神。
结合课程内容知识去发现课程内容本身具有的德育元素,对于这些德育元素要加以科学利用,运用到知识单元上去表达。对于“C语言程序设计”的德育元素可以从专业理论知识讲授的具体内容、实践教学环节等多角度深入挖掘,明确知识目标、实践目标和德育目标,合理有效地让德育元素进入课程教学内容中,并根据每个教学环节中的实际情况进行有的放矢、有针对性地教学,加以总结与优化,拟从“C语言程序设计”课程程序规范、编写程序代码错误、模块化程序编写中提炼各知识点与德育元素有机结合。
2.2.1 程序编写规范中融入德育元素
规范约束是编写一个好程序的保证。编写规范、清晰的源程序不仅方便阅读,还便于检查错误,提高调试效率,从而最终保证程序的质量和可维护性。对于学生而言,更要遵循编码规范以培养良好的职业素养和遵章守法的个人素养。主要知识体现在:
(1)函数定义:每个函数的定义和说明应该从第一列开始书写。函数名和函数体的大括号应该各占一行。在函数体结尾的括号后面可以加上注释。注释中应该包括函数名,这样比较方便进行括号配对检查,也可以清晰地看出函数是否结束。
(2)嵌套语句的格式:嵌套式的语句,即语句块如if、while、for、switch等应该包括在大括号中。大括号的左括号应该独占一行,并与关键字对齐。即使语句块中只有一条语句,也使用大括号,这样可以使程序结构更清晰,也可避免出错。
(3)命名规范:标识符只能由字母、数字、下划线组成,但第一个字符必须由字母或下划线组成。符号常量的命名用大写字母表示,如#define PI 3.14。变量和函数命名可以选择有意义的英语组成变量名,以便读者见名知义。如果使用缩写,尽量使用那些约定俗成的。
这些基本代码编程规范要求学生严格遵守,以形成良好的习惯。在传授专业知识的同时加入法律法规、交规、学校规章制度、学生守则等,不能疲劳驾驶机动车、闯红灯、无视学校的校规校纪,这样既讲了课程知识,又提出学生要遵章守纪等德育素养,有效地将课程实践知识点浸润到学生的精神世界,提高学生的自我认识。
2.2.2 课程实践中融入德育元素
用C语言编写的源程序必须经过编译和连接,生成可执行性程序之后才能执行。学生在编写与调试C语言程序时,出现各种报错提示信息时,英语基础弱,不知所措,从而产生反感情绪,逐渐丧失信心。作为老师这时应告诫学生,在“C语言程序设计”课程实践中程序编辑与调试会出现各种错误,需要返回源程序的编辑状态找出并修改错误。程序调试的目的就是发现程序中的错误,并且修正错误,保证程序的正常运行和最终结果。程序错误包括语法错误和逻辑错误:语法错误是指在程序调试过程中发生的错误,编译不会通过,Dev-C++编译时会自动定位到错误处,并在编译窗口显示错误提示信息,可以根据错误的提示信息修改。诸如Cannot modify a const object不允许修改常量对象,Case outside of switch漏掉了case语句,incorrect number format错误的数据格式,declaration missing说明缺少“;”,因此这些知识点要多总结和反复训练。老师要善于发现学生编程中遇到的各种问题,帮助他们找出问题和让他们思考并解决问题,多加激励,一旦他们调试并运行成功后及时表扬增强其信心,这样,学生学习主动性会大大增强。培养学生做事应当坚持不懈,逻辑条理清晰,同时告诉学生在学习、工作与生活中,不可能不犯错,提醒他们,时刻保持谦虚,利用闲暇时间,扩大知识面。在点评过程中总结C语言中常见的语法错误,尤其是逻辑错误,表面看程序似乎没有语法错误,编译通过,但是运行后没有得到所期望的结果,这就需要提醒学生仔细分析程序流程,跟踪程序的运行过程才能发现程序中的逻辑错误,发现若干条错误信息时,一般从程序开头查找、修改后,再次运行程序,如果还有错误,要一个一个地修改。每修改一处错误要存盘再运行一次程序。如程序在编译和连接的过程中经常会出现语法错误和逻辑错误,就需要返回源程序中找出并修改错误,保证程序的正常运行,培养学生耐心细致和攻坚克难的职业精神。学生常出现符号中英文不分、变量未定义、标识符命名不规范等错误信息,或者是计算机编译通过但出现逻辑错误,这需要老师引导学生发现错误并正视错误,客观地认识自己不足之处并改正,正视自己的短板等。培养学生尊重客观事实、脚踏实地、稳扎稳打的工匠精神,培养学生正视错误、敢于挑战、勤奋学习,具备一定的抗压能力和责任心。
2.2.3 模块化程序设计融入德育
模块化程序设计,简单地说就是程序的编写不是一开始就逐条录入语句,而是按照“自顶向下、逐步细化”的方法,将系统的功能细分为多个模块,每个模块完成一个单一功能,最后将所有模块“组装”起来,这就好比各行各业都在为祖国的发展添砖加瓦,发挥着自己的作用,细化到个人与集体关系。C语言就是模块化程序设计语言,使用函数实现一个模块的功能。主函数调用其他函数,其他函数间也可以互相调用,理解函数的模块化程序设计融入统筹、分工与协作精神,任何人都不可能是孤岛,都是中华儿女,祖国的强盛与每个人都息息相关等,从而增强民族自豪感。模块化程序设计的基本原则是指一个模块只能完成单一的功能,不能“身兼数职”;模块之间参数的传递应尽量少,模块间的调用尽量只通过简单的接口完成,减少全局变量的使用。
根据课程育人目标,围绕高职学生学情特点和“C语言程序设计”课程内容,在教学策略上采用课前—课中—课后教学与实践,结合线上课堂教学与线下微信打卡提交作业等方式进行知识传授与德育元素融合,在课程教学实施过程中采用包括分组学习、线上教学线下答疑等多种的教学方法来落实专业知识与价值引领的共同提升。具体的实践路径通常采取课上布置任务、在线讨论提问,课下到机房实践,彼此约定时间集中在班级微信平台答疑与评价,此过程中融入德育内容,树立积极发言表达创新想法和遵时守时的时间观念。其教学方法主要从以下几个方面加以阐述。
通过课后布置作业与自主学习任务,学生找到所学知识难点,在教学实施过程中提出来讨论,针对多数学生所关注的热点难点作解释答疑,然后应用实践检验提高。既培养学生编程知识的掌握和实践能力,又培养学生自我驱动能力。过程中潜移默化地引入发现问题、解决问题、团队协作、求真务实、开拓进取等德育元素题材,以培养明辨是非、德才兼备、全面发展的高技能人才。
教学过程中采用线上线下教育教学,注重引导学生自主思考,培养学生自主学习能力,教学活动的设计与开展均以使学生达到某种学习效果来进行,更加强调学生在教学活动中的主体地位以及学生的最终学习成果。围绕教学目标,课前教师布置学习任务,学生根据要求开展线上自主学习;课中主要开展以“学生为中心”的师生互动教学;课后教师进行教学反思,学生拓展提升组织教学内容,在实践过程中践行育人理念,通过开发项目设计、编写调试程序等工程实践环节培养学生敬业、精益求精、专注、创新的工匠精神。
通过微信打卡、课后作业提交完成情况、随堂上机练习测验、线上资源中国大学MOOC学习情况、微信上互动情况、期末测试对知识点的掌握情况,以及线上线下的混合模式贯穿于课前、课中和课后全过程表现情况等进行全方位效果评价,培养学生自主学习、虚心协作、求真务实、乐观向上的人生态度。
文中通过“C语言程序设计”课程教育教学中融入德育元素,完善了课程目标,明确了知识、技能和德育育人目标。根据课程的特点,将课程德育元素融入教学内容中,采用了课前课中课后混合式实施组织教学,意在培育学生编程知识和实践能力的同时,潜移默化地引导学生求真务实,培养学生逻辑思维能力和辩证思维能力,树立不畏困难、求真务实、精益求精的工匠精神;在实践过程中以培养学生实践能力和践行育人理念,培养学生具有强大的抗压和良好的团结协助能力;树立规则规范意识和勇于创新的探索精神;以期培育出有社会责任感、有创新能力、有实践能力、身心健康,对社会有用的人才。