范兴亮
(重庆应用技术职业学院,重庆 401320)
C语言程序设计课程中的计算思维探析
范兴亮
(重庆应用技术职业学院,重庆 401320)
C语言程序是一种计算机技术,现在已经被广泛应用于各个领域,推动各大行业的发展,越来越得到人们的重视,因此形成专门的学科—C语言程序设计。进行C语言程序设计课程教学时,不但应用到了传统的抽象式教学方法和灌输式教学方法,还应用到了实践性和驱动性等教学方法。但无论哪一种方法,在教学过程中或多或少都会提到计算思维,可想而知计算思维在C语言程序设计课程中的重要性。对此,文章根据C语言程序设计课程教学经验,对C语言程序设计课程中的计算思维进行了详细分析。
C 语言程序设计;计算思维;抽象;自动化
早在2006年周以真教授就提出了计算思维理念:他认为计算思维实质上就是利用计算机相关知识来解决问题并系统设计一系列的思维活动。之后,陈国良院士与李廉教授通过整合得出了3种较为典型的科学思维:也就是用观察和整理为特性的实证思维、用推演为特性的逻辑思维、再者就是抽象与自动化的计算思维。在这3种方式中,计算思维属于计算机类课程所主修的思维方式。
对于C语言程序设计课程教学模式来看,一些学者在刚开始就比较赞同案例教学。虽然说这样可以让学生更快地接触到实际编程环节并养成直观感性的认识,但因为案例教学容易出现“程序就是编程工具”的论点,很容易出现“只知其然,而不知其所以然”的学习现象,这将会严重地妨碍后期阶段的学习。
就C语言程序而言,所谓抽象就是说使用符号系统对所要求解的问题先进行一项精准的描述,抽象的过程简单说就是对实际系统建立模型的过程。实际来说,程序就是用来描述真实生活中一些实际存在与实际中不存在的系统。程序本身就是对系统的抽象。而系统的存在,是因为它有其重要特点与核心能力。程序中对系统特性进行抽象的就是所谓的操作对象,函数是指对系统功能的抽象。系统功能可能会有很多较为繁琐的调用关系。就比如说,一个函数定积分的求解,它就肯定会牵涉到函数在某个定点的取值,若是遇到的函数包含了正弦、余弦、正切、余切这些三角函数的话,还必须要调用求这些三角函数的功能形成多层调用,递归调用是说函数在执行过程中要用到自身。
C语言程序中所常见的操作对象一般是变量与常量。常量是指一些系统中取值不会改变的特性进行抽象,比如说圆周率;而变量是对系统内取值能够转变的特性进行抽象的,比如说圆的半径等。但是不论具备哪种特征,它都有一个自身限定的取值范围与允许范围内的操作,像最为常见的学习成绩,它的取值范围通常都是0~100,其中对这种特征操作时就能是加减法这样的算数操作,或是大于小于这样的比较运算操作;但课程名称这项特征,就不能通过加减法这样的操作来进行了。而C语言程序中所使用的特征取值范围与所允许操作的抽象概念都属于数据类型。
计算思维从本质上是利用计算相关概念将各种元素进行整合形成的一种符号系统,其运用是对符号系统中的各种元素进行操作,另外通过利用计算相关概念还可以对不同顺序的结构进行顺序自动调整,以实现不同结构的自动执行操作。对C语言程序而言,自动化的表现主要是函数内部的语录在EIP寄存器加法操作的帮助下,按照顺序自行执行操作,或是函数间的调用在内存堆栈区的基础上进行自动转换。
比如说某个变量定义语句int a,它的执行操作是在内存中先放置4个字节的范围,返回语句return t的执行操作是把程序的执行过程重新返回到主调函数内部。这些语句的组合可以形成多个函数,所谓的程序执行就是说在函数间按照顺序自动在多个函数间转换。虽然说程序的执行是在一个或者多个函数之间按照顺序自动地转换,但这种自动执行的方式还是需要对应的计算机软件与硬件基础来保证的。保证程序自动执行的软件基础是操作系统,硬件基础是计算机的硬件结构。当使用者按下执行键时,程序就可以不用人工操作,而由系统来执行。之后的操作过程都会以进程的方式。
3.1 积极在C语言课程设计课程中引用驱动式教方法
第一,老师在进行教学之前,需要全面了解C语言程序设计的教学目的,然后具有目的性地引导学生学习编程C语言程序;第二,提前将C语言课程教学内容中的问题找出,并挑出符合学生研究的问题,然后针对问题找出可以解决C语言编程的计算思维及编程方法;第三,在教学过程中引入提前准备好的课程教学问题,引导学生对问题进行探讨,并将问题探讨中涉及的计算思维明确出来,并指导学生在编程C语言过程中合理应用计算思维。
3.2 提高对C语言应用性教学
第一,老师要根据学生的C语言理论学习实际,选择或编制出符合学生实际的C语言应用性教材,其教材的大部分内容尽可能是“实例经典,理论实用”等;第二,在讲授C语言理论时,尽可能与实际相结合,即边讲C语言学习中应用到的计算思维,边现场展示计算思维的实际应用,让学生当场学会应用计算思维;第三,老师要不断创新自己的C语言教学方法,不要一味地按照书本上提高的计算思维方法讲授,而是将计算思维在C语言学习中应用方法转换为实例,让学生在实例分析中了解计算思维。
3.3 要将项目作为实践环节的中心
第一,老师进行C语言设计课程实践教学时,要将C语言程序设计项目作为实践教学的中心,并将课程教学中计算思维的提升作为教学的重要目标;第二,老师在教授学生使用计算思维设计C语言程序设计时,一定要从培养和提高学生的实际学习能力、应用能力和创新能力角度出发,以培养出综合型、应用型和创新型的C语言程序编程人才;第三,除了教学生在C语言程序设计课堂上应用计算思维以外,还要引导学生将计算思维应用到实际生活中C语言程序设计中,以激发学生学习兴趣的同时,培养学生的计算思维及其应用能力。
实例1:在C语言程序设计课程教学过程中必定会学习到选择结构程序设计和循环结构程序设计,面对这两课程教学时,老师要灵活地将不同字符程序进行转换,并先从简单的程序设计还教学,然后逐渐增加教学内容的难度,以培养学生计算思维能力的同时,让学生连贯性的学习到选择和循环结构程序设计的“字符转换”,进而学习到其他程序知识点,字符转换程序的相关知识点分布如表1所示。
实例2:
计算1 1+2 1+3 1+…+n!时,老师可以引导学生利用双重for循环来解决计算问题,并引导学生将函数递归理论应用到计算1 1+2 1+3 1+…+n!计算过程中,以解决计算中遇到的各种问题;另外,老师还可以鼓励具有一定计算思维的学生积极创新出新的计算问题解决方法,然后对已有程序的优缺点进行分析,以实现自己新计算思维在问题解决过程中的融合,进而达到优化C语言程序的目的。
综上所述,文章主要针对计算思维所体现出的抽象与自动化特点,提出了一些C语言程序设计课程的教学方案、教学模式、考核方面的一些建议。
[1]汪红兵,姚琳,武航星,等. C语言程序设计课程中的计算思维探析[J].中国大学教学,2014(9):59-62.
[2]文海英,陈友明,吕兰兰.基于计算思维能力培养的“C语言程序设计”教学方法探索[J].电脑知识与技术,2013(32):7291-7293.
[3]汪滢.基于能力培养的“C语言程序设计”教学改革研究[J].科教导刊,2016(27):97-98.
Analysis of computational thinking in C language programm ing course
Fan Xingliang
(Chongqing Applied Technology, Career Academy, Chongqing 401320, China)
C Language is a kind of computer technology, it has been w idely used in various fields, and promotes the development of the industry, more and more people’s attention are paid to it, thus form ing a specialized subject:C Language Programm ing Design. Ιn C language programm ing teaching, it is not only applied to the abstract type of traditional teaching method, but also applied to the practice and drive of teaching methods. But no matter which kind of methods in the teaching process is used, it w ill be more or less mentioned computational thinking, the importance of thinking can be imagined in the course of C language programm ing. Ιn this regard, the author according to the teaching experience of C programm ing language course for many years, analyzes the calculation thinking in the course of C Programm ing Language Design in detail.
C language design programm ing; computational thinking; abstract; automation
范兴亮(1981— ),男,重庆,本科,讲师;研究方向:计算机网络。