《C语言程序设计》的实践教学中计算思维探讨

时间:2022-06-29 06:53:57

《C语言程序设计》的实践教学中计算思维探讨

摘要:针对计算机专业大一新生在《C语言程序设计》的实践教学中存在的问题,深刻体会到计算思维在C语言的实践教学中的作用越来越大,因此在C语言实践教学中培养学生具有计算思维能力也越来越重要,而对学生计算思维能力的培养是使C语言实践教学从单纯的一种编程工具向培养学生的计算思维和问题求解能力转变。该文介绍了计算思维的定义及包含的内容,然后通过以往的教学经验深刻分析了计算思维在C语言实践教学中的体现。

关键词:C语言程序设计;计算思维;实践教学

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)36-0151-02

1 引言

目前计算机基础教育已成为当代大学生的一门必修课程,而对于计算机专业的学生,《C语言程序设计》是一门特别重要的且实践性很强的专业基础课程。对于一名新生来说,在实践教学环节(实验和课程设计两个环节)中的思考问题的思维转变觉得很困难。目前,国内外的最新研究成果发现计算思维在计算机基础课程教学的地位和作用越来越突出,许多国外顶尖大学的知名学者,以及国内许多院士和教授的注意,在信息的时代,网络和互联网+时代,如何改革的思维方式,更新教学理念,特别是改变教师的教学和学生的学习风格,值得每一份工作.在《C语言程序设计》的实践教学中,如何要求学生具有计算思维,显得尤为重要。

实际上,对于一个大学一年级学生,计算思维是很难理解的,下面首先介绍什么是计算思维和包含的内容。而学生只简单地了解计算思维的内容还是不够的,让学生首先知道计算思维在C 语言课程的实践教学中的体现,进而真正理解计算思维的内涵并培养在C语言课程的实践教学中培养计算思维的能力。

2 计算思维的定义和内容

2006年3月,美国卡内基梅隆大学教授、周真的电脑在美国权威杂志的计算提出了ACM通讯”思维的概念和定义。计算机思维是使用计算机解决问题的基本概念,系统设计、理解人类行为和一系列的思维活动,其本质是抽象和自动化,即如何根据计算机解决职业.

计算思维主要包括内容[1]:

1) 通过简约、嵌入、转化和仿真等方法,把一个困难的问题阐述成一个我们知道问题怎样解决的思维方法;

2) 是一种递归思维和并行处理,把代a译成数据又能把数据译成代码,是一种基于多维推广的类型检查方法;

3) 是一种采用抽象和分解来控制庞杂任务或进行巨大的任务系统设计的方法,是一种基于关注点分解的方法;

4) 是一种选择合适的方法陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;

5) 按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;

6) 利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法;

7) 利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行折衷的思维方法。

3 计算思维在《C语言程序设计》的实践教学中的体现

《C语言程序设计》课程的实践教学目的是希望通过上机实验和课程设计两个环节,使学生全面掌握《C语言程序设计》的语法规则、算法的基本知识以及面对具体的问题如何设计算法,使学生掌握如何应用C语言解决一个具体的应用问题。使用C语言实现算法时,具备排除逻辑错误,调试并成功运行的能力;在排除逻辑错误时,培养学生分析问题能力,最终使学生运用C语言知识解决专业领域的实际问题。

下面以一个具体的学生成绩管理系统的例子分析计算思维在实践教学中的体现。

利用链表设计学生成绩管理系统。具体的功能模块如下:1)输入记录模块:从键盘逐个输入学生记录;2)查询记录模块;4)更新记录模块;5)统计学生的某门课程的平均成绩和方差;6)输出记录模块:显示所有学生的信息。

3.1 C语言实践教学中的抽象计算思维

抽象计算思维是如何把实际的问题进行抽象,建模成计算机识别的过程。建模过程是建立客观事物的一种抽象的表示方法是用来表示事物和事物本身的理解,同时组织这种概念和逻辑概念的理解,形成的表达目标对象的内部结构和工作原理。如何将抽象计算思维在《C语言程序设计》课程的实践教学中教给学生呢?由于面对的是大一新生,因此需要在授课时尽量理论联系实际,使用通俗易懂的实例进行解释,然后就一个具体的问题进行讲解,进行实际的运行和数据测试,使用这种教学方法以语法教学为中心的编程转换成面向问题解决程序设计教学中,从这个问题开始,抽象的算法来解决这个问题,然后用C语言实现自动化,解决这个问题通过这样一个常见的线程来计算思维的本质,抽象和自动化,贯穿于C语言的实践教学中,使得C语言实践教学从验证语法的知识点转变为讲授计算思维和问题求解的过程,以达到突出思维方法训练的目的。如例子中的学生我们可以根据实际要求可以将学生信息抽象为具有学号,姓名,性别,成绩和班级等信息。然后根据问题的需要,将学生建模为包含学号,姓名,性别,成绩和班级等信息的结构体,然后在此基础上,设计实现问题的算法。

3.2 C语言实践教学中的分而治之的计算思维

如何对大的问题分而治之,逐步细化,设计出功能比较单一的模块。为了解决一个大问题,可以:1)它是分成两个或两个以上的小问题;2)分别每个小问题;每个小问题解决方案3)相结合,可以得到答案。小问题往往类似于最初的问题,可以递归地使用分而治之的策略来解决。

如例子中的查询功能模块可包括查找最高分和不及格的学生并把该学生信息显示出来。更新模块可以分解成修改某一个学生的信息,对学生按照学号和成绩就行排序(升序或者降序);求出每个学生的平均成绩。插入一个学生信息;删除一个学生的信息。

3.3 改变主体思维――从以“我”为中心到以计算机为中心

改变学生的主体意识,从以我为主体改变成以计算机为主体。通过我这几年的教学,我发现学生在遇到问题的时候总是试图按照自己的惯性思维找错误,而不是通过计算机的思维去寻找错误,所以有时多个人只是按照自己在书本上提供的语法规则找错误,浪费了大量的时间,到最后也没找到错误,所以要改变以计算机为主体,而不是以人为主体,充分利用断点单步运行,一步一步观察和分析计算机怎么运行程序的,逻辑顺序是如何的,通过对变量值进行一步一步地监控,才能把错误分析到。

通过研究C语言实践教学中的“计算思维”体现,将实践教学中涉及的计算思维,通过计算机实验和课程设计学生使用这些独立思考解决实际问题,帮助他们理解“思维是什么?如何应用计算思维解决问题,解决问题的独立建设和计算思维,锻炼自己的计算能力,在以后的学习与创新思维为他们打下坚实的基础。

4结论

在C语言编程的过程中,引入计算思维的实践教学,可以有效地促进学生学习“C语言程序设计”课程的主动性,同时也能培养学生的思维能力,使学生使用C语言课程知识实际问题更感兴趣的是设计和编程,能够产生更多的计算机程序设计人才。

虽然通过一门C语言的实践教学培养学生的计算思维能力是远远不够的,但《C语言程序设计》作为一门计算机专业基础课程,却肩负着提高一个初入大学的学生的编程兴趣和培养其求解实际问题的思维转变,因此教师深刻理解计算思维的内涵和本质,潜移默化地将计算思维贯穿到程序设计的实践教学中,从而提高C语言程序的实践教学的质量。另外,算思维的培养是一项长期的工程,需要不断研究和实践,随着对“计算思维”理论知识与实践知识认识的深化,将会更好地指导教学实践,真正培养学生的计算思维和计算素养,提高他们的计算能力。

参考文献:

[1] Jeannette putational Thinking[J].Communications of the ACM,2006, 49(3):33-35.

[2] Peter J.Denning.Great Principles of Computing[J].Communications of the ACM,2003,46(11): 15-20.

[3] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11.

[4] 龚沛曾,杨志强.大学计算机基础教学中的计算思维培养[J].中国大学教学, 2012(5): 51-54.

[5] 贾茹,郝长胜,裴衣非.Visual Basic程序设计课程的计算思维教学实践[J].电脑知识与技术,2011(25): 6266-6268.

上一篇:基于FCM的《大学信息技术基础》课程教学研究 下一篇:疏导学生不良情绪,促进学生健康成长