程序设计课程对非计算机专业学生系统思维能力培养的作用
引言
现代教育是以培养具有自主思维、独立解决问题能力及创新能力的人才为目标。培养人的科学思维能力已成为教育的核心内容。知识教学转向思维教学已成必然之势。系统思维作为科学思维中的一种重要思维方式,一直以来都受到各类学科的重视。CNKI检索显示,近十年来,有关系统思维培养的文献高达35万篇,涵盖了经济、哲学、医学、语言学、建筑学等多个学科,平均每个学科有数千甚至上万篇相关文献。系统思维是将对象视为一个系统来思考,关键是要运用系统的概念。中国人民大学苗东升教授发表了一系列论文论述系统思维。他指出系统是由多个组成部分相互联系形成的一个统一体,具有多样性、相关性和一体性3个基本属性,同时派生出整体性、有序性、动态性及不确定性等其他属性。例如,交通控制系统是一个典型的复杂系统,以其中红绿灯时长的设置为例,红绿灯的时长并非每一个路口都一样。交通灯时长设置不仅要考虑该路口各方向车流量,更要考虑整个大的系统内不同时间点的车流量、周边路况,甚至节假日、气象条件等要素。
当然,非计算机专业学生不必开发如此复杂的系统,但即使是求解一个简单实际问题,运用系统概念来分析、求解问题的思
维方式却是一样的。程序设计课程的教学方式就是有意识地设计教学内容,将思维训练融合到知识教学的每个环节中,潜移默化地对学生进行思维意识及思维技能的培养与训练。由于程序设计自身的特殊性,它对系统思维中多样性、相关性、一体性、结构性、有序性和动态性这几个方面的思维训练有极大的帮助。 1多样性思维培养
多样性是系统思维的基本要求。系统多样性包含两个要素,一是应有多个组成元素,二是元素之间应有差异性。如果仅仅只有多个组成元素,彼此没有明显差异,则无法体现系统思维的价值。对学生多样性思维的培养,要求所开设课程必须具备这两个基本要素,而程序设计课程则恰恰完全符合多样性的两个要求。 以C语言程序设计为例。C语言有许多基本知识点,例如数据类型、程序结构、算法等,均从不同的角度体现了多样性原则。C语言中最基本的概念是变量。变量根据存储数据的不同定义为不同数据类型。生活中数据多种多样,如整数、小数、字符,还有一些具有复杂的对象,例如学生个人信息、考试成绩等,为处理这些不同类型的数据,C语言提供了多样数据类型,如整型、实型、字符型、结构体、指针、数组及枚举型等。在求解实际问题时,除了要分析清楚数据对象特征,还要了解各种数据类型之间的差异及其使用方法,并通过大量练习,掌握并灵活应用这些数据类型,这对于训练学生多样性思维有极大帮助。 另外,多样性还体现在求解问题的算法设计中。通常解决同
一个问题会有不同算法。算法设计是程序设计的核心。讲解循环结构时,以求解1至100的和为例,引导学生思考不同算法。如直接求和:1+2+3+…+100;采用高斯计算法,即:(0+100)+(1+99)+(2+98)+…+(49+51)+50=(50×100)+50;采用等差数列求和公式,即:100(1+100)/2。分析三个算法的特点,引导学生学会利用已有知识,学会从多个角度分析问题。教学过程中,鼓励学生打开思路、从不同的角度思考,采用不同的类型、结构实现,都能解决问题。同时,引导学生进一步分析各个算法的差异,不仅能够巩固知识点学习,也能够加深学生对不同数据类型、程序结构优缺点的认识,这有助于学生提高独立思考能力、培养多样性思维。 2相关性思维培养
系统的相关性是指系统中的多个元素必然是相互关联、相互作用、相互交往的。考察各个组成部分之间、变量之间的相互关系,这是系统思维的基本要求。
C语言是一门模块化程序设计语言。在求解一个复杂问题时,一般采用逐步分解、分而治之的方法,即将一个大问题分解成若干相对较易求解的小问题,再分别进行求解。学生在编写一个复杂程序时,是将整个程序的功能划分为若干功能较为单一的程序模块,即用函数实现每个单一功能。然后再将所有的函数模块像搭积木一般,组合起来。因此,C语言程序中,函数才是程序的基本组成单位,也是相关性在程序设计中的典型体现。
函数有其独立性,但却不是孤立的。只有被其他程序调用的函数才具有生命力,这使得在学习函数时,不仅要分析函数功能的实现过程,更要着眼于函数与程序其他部分之间的调用、。被调用关系。对于调用函数而言,无须了解函数功能实现细节,但应了解如何使用函数的返回类型、函数名称、形参的个数和类型。对于被调用函数而言,实参所有传递过来值(地址)的所有可能性,都应予以考虑,并定义有相应的反馈。由此可见,教学中,鼓励学生理解这些相关知识、正确编写调用与被调用函数,不仅是保证函数之间相互交往、相互作用达到预期效果最基本的要求;.同时,通过大量函数运用的练习,能够很好地训练学生在分析问题时运用系统思维中的相关性来思考、解决问题。 3一体性思维培养
系统思维中最重要的是每个系统所涵盖的多个部分如何统一运行,服从统一规律,呈现出怎样的“个性”。系统囊括对象多、却无法构成统一体,则称不上系统。只有按照特定方式关联起来而形成统一体的才可称之为系统。
程序设计课程中每一个程序的编写。都是对一体性思维训练的强化。同样以函数为例,函数是c语言程序的基本单位,任何一个函数都有其独立的功能。学生在编写程序过程中,为了实现程序自身的整体性功能,或多或少都要用到函数,这要求学生必须遵循函数使用的统一规则,却又根据不同函数的特点采用不同的函数调用方法;另外,同一函数在不同程序中又能呈现出不同
的个性或作用。每一次程序编写都要求学生具。有一个一体性层面的思维,来整体把握程序中各类函数的定义与调用,从而实现统一的目标。 4结构性思维培养
系统思维中的结构性是指系统内部各组成要素之间的相互联系、相互作用的方式或秩序,即各要素在时间或空间上排列和组合的具体形式。生活中的实际问题多种多样,求解问题的方法亦不相同。
C语言提供了3种不同的程序结构来满足求解问题所需,即顺序结构、选择结构和循环结构。3种结构体现了在求解问题时所需的各类方法特点。C语言中包含大量知识点,能够训练学生结构化思维方式。例如函数的使用,只有在对程序整体结构清晰、求解方法明确的前提之下,才能正确地完成函数的定义与调用,又如构造数据类型的学习。结构体是一种典型的构造数据类型,结构体中包含不同成员,这种方式能够将各种不同类型的数据关联起来,形成一种特殊的结构,能够解决生活中许多现实问题。不具备程序整体结构性思维及相应的知识,就无法正确地编写程序,无法完成课程任务。由此可见,在C语言的学习过程中,能够不断强化学生的结构化思维训练。 5有序性思维培养
有序性是指系统中各要素之间有秩序的联系。它是保证一个系统的基本特征,并维持一个系统生存与发展的关键。在现实系统中,系统有序性的表现多种多样,不同系统的各要素之间也可
程序设计课程对非计算机专业学生系统思维能力培养的作用-教育文档



