C语言程序设计教学中如何培养学生的逻辑思维能力
2020-03-16谢丽华
谢丽华
摘要:目前高职院校计算机类专业中,都开设有C语言程序设计这门课程。作为其它程序设计语言的先行课,C语言程序设计在课堂教学中一定要注重对学生逻辑思维能力的培养,为学生后期的学习打下坚实的基础。该文通过多年以来在讲授该课程时积累的实际教学经验,结合平时的教学实践,对如何培养学生的逻辑思维能力进行了阐述。包括认真备课,精选课堂案例;针对不同学习内容,采用灵活多变的教学方法;精心设计实践任务,完善课堂教学不足。
关键词:C语言;逻辑思维;能力
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2020)02-0171-02
在C语言的教学过程中,运用逻辑思维方法,可以降低学生学习的难度,培养学生的学习兴趣,提高程序设计的技巧。下面通过三方面的介绍,阐述了在教学过程中如何培养学生逻辑思维能力。
1 认真备课,精选课堂案例
备课是任课教师必备的基本素质,是影响学生学习效果的关键因素之一,因此,认真备课,精选课堂案例至关重要。
在C语言程序设计的教学过程中,教师从一开始就要给学生建立一个清晰的知识结构。在编写任何一个程序时,都可以按4个步骤进行:定义变量、输入数据、处理数据、输出数据。有了这个认知结构后,在教学中遇到一个具体问题,就要按照人们处理问题的逻辑思维,将问题求解由抽象逐步具体化,弄清其数据关系及问题要求,经过认真分析,达到最终解决问题的目的。
备课时在教学内容的安排上坚持由浅入深,循序渐进的原则,并结合高职院校学生的心理特征,选择恰当的逻辑思维训练方法,使学生能更好地理解程序设计的基础知识和方法。在教学环节中一定要注意教学内容的前后逻辑关系,使学生在不知不觉中接受逻辑思维能力的训练。因此,教师必须精心设计教学环节,使学生按照老师事先设计好的思路进行思维,对提高学生的逻辑思维能力是十分必要的。
例如,在学习循环结构时,如果教师在课堂上举例讲授了“求1+2+3+…+10的和”以及“求10!的值”,那么由此拓展,让学生独立解决“求1!+2!+…+10!的和”应该是游刃有余了。同理,在学习循环的嵌套时,要求解中国古代著名的“鸡兔同笼”数学问题,结合C语言的语法规则和表示方法,再运用上面讲的编程的4个步骤,就能比较容易实现该题目。由此延伸,让学生尝试独立解决“百钱买百鸡”的类似问题就迎刃而解了。这样,既提高了学生的自信心,又锻炼了他们的逻辑思维能力。
所以,教师在C语言备课过程中,尤其是准备课堂教学案例这一环节时,要结合学生前期知识掌握情况,再适当地加入新知识,设计一个前后逻辑关系密切,能够潜移默化地锻炼学生逻辑思维能力的案例,然后再结合实际生活,举一反三,从而不断提高学生的思维能力。
2 针对不同学习内容,采用灵活多变的教学方法
在C语言的课堂教学中,教师应根据不同的教学内容,运用不同的教学方法。如果本堂课学习的是基础理论知识,教师可以采用传统的理论知识讲解,加上对应实例的演示,最后再通过分析归纳与学生互动,引导同学们一起参与思考和讨论,从而培养学生的逻辑思维能力。如果本堂课学习的是较为复杂的循环、函数之类的内容,教师可以在上课前5分钟,通过引入一些有趣的生活情景来激发学生的学习兴趣,使同学们的思维得到发散和锻炼。
例如,在for循环的授课过程中,通过“某班同学共38人上体育课,老师要求按1、2、3重复报数,报数为1的同学往前走一步,报数为2的同学往后退一步,分别输出往前走一步和往后退一步的同学的序号”这个体育课报数的生活实例,让学生意识到原来学习是可以解决生活中遇到的实际问题的,原来编程也像做游戏一样有趣。这样,教师一旦调动了学生的学习兴趣和积极性,自然会积极思考并主动解决问题。
在平时课堂教学中,教师尽量多提问、多与学生互动,也就是采用启发式教学,通过师生互动引起学生注意,积极引导学生思考并回答问题,然后与老师一起归纳总结,得出正确结论。
举例来说,教师从带领学生完成简单的数组元素查找开始,比如通过“把某小组10名学生数学的考试成绩存储在数组中,再从键盘输入一个考分,查找该数是否在数组中,如果是,则输出它是第几名学生的成绩”的编程,然后让学生思考“如果输入的成绩没有查到,请给出提示信息”怎么实现,再让学生思考“如果输入一个考分,但是在成绩数组中有多个考分与此相同,怎样处理”,这样有意的不断制造问题,使学生不断地想办法去解决问题。 最后,让学生们实践练习“如果希望能够多次输入考分进行查找,每次都輸出它是第几名学生的成绩,直到输入1000时结束查找”,那么又该怎样分析、解决问题呢?这样,通过不断拓展,不断激发学生的兴趣,使他们去积极思考、分析、归纳,从而使学生的逻辑思维得到训练。
另外,在课堂上可以故意制造错误程序,或将学生在实践中出现错误的典型案例拿出来,让学生自己调试发现问题并纠错,有意识地培养学生的逻辑思维能力。
教师应根据学生对基础知识的掌握情况,采用对不同学生进行不同提示和设问的教学方法,练习题的设计应有适当的难易梯度,以满足不同学生的需求,使所有学生都得到相应的发展。在教学实践中充分发挥各个学生的逻辑思维能力,为后期面向对象程序设计课程的学习打下坚实的基础。
3 精心设计实践任务,完善课堂教学不足
学生在学习编程过程中,最主要的是要具备运用所学理论知识解决实际问题的能力。教师在平时课堂教学过程中已经对学生逻辑思维能力进行了专门的培养,学生也已具备一定的逻辑思维能力和初步的实践操作能力。但因为教师在课堂上讲解的实例毕竟是有限的,所以教师在讲解完实例后,必须精心设计实践任务,来完善课堂教学的不足。在设计实践任务时可以通过改变条件或问题形式,将例题作适当的延伸,最好是既贴近生活,又有趣味性和代表性。
例如,在课堂教学中,针对一维数组的学习。教师通过实例讲授了利用循环如何输入输出成绩数组元素,如何计算成绩数组中的平均分、最高分、最低分,如何查找从键盘输入的考分,如何对成绩数组元素降序排序,并对排序后的数组元素进行插入和删除操作。然而,学生在课堂教学过程中,学到的是零散的知识点,大部分同学虽然能够理解并掌握一维数组的定义、初始化、引用、输入和输出,但是却不能灵活运用一维数组来解决实际问题。所以,教师可以马上设计一个综合实践任务:编写一个成绩管理系统,用一个一维数组存放学生成绩,要求具有成绩录入、成绩查找、成绩排序、成绩删除、成绩插入的功能,设计文本菜单进行交互,比如用户输入1、2、3、4、5和6,分别代表成绩录入、成绩查找、成绩排序、成绩删除、成绩插入和退出。这样,学生们可以系统地利用课堂上所学理论知识,在教师的辅导下来完成这个简单的成绩管理系统。
通过这样的教学设计,在整个课堂教学和实践辅导的过程中,学生们的逻辑思维能力得到充分地培养和锻炼,这也就是教学相融的最佳教学效果。
4 总结
经过近几年在C语言程序设计教学中对以上三个方面的实践,学生对知识的综合运用能力、对程序的分析、调试和查错能力、自主学习能力和逻辑思维能力都得到了明显的提高。这对学生以后的工作、生活有着很大的影响,可以受用终身。我们将在今后的教学中积极探索,精选课堂案例、不断改进教学方法、科学安排实践任务、强化逻辑思维训练等多方面努力,不断提高C语言程序设计课程对学生多方面能力的培养。
参考文献:
[1] 乌云高娃.C语言程序设计(第3版)[M].北京:高等教育出版社,2015.
【通联编辑:代影】