发布时间:2023-03-01 16:26:55
序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的计算机程序设计论文样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。
关键词:数学地质,数值分析,C语言程序设计,教学方法
数学地质解决地质问题的一般步骤或途径如下:第一,进行地质分析,定义地质问题和地质变量,建立正确的地质模型;第二,根据地质模型选择或研究适当的数学模型;第三,运用数值分析理论对数学模型进行求解;第四,运用C语言设计计算机程序,并上机试算;第五,对计算机输出成果进行地质成因解释,对所研究的地质问题作出定量的预测、评价和解答。为了很好地解决地质问题,需要同时学好《数学地质》、《数值分析》和《C语言程序设计》三门课程。本文将对《数学地质》、《数值分析》和《C语言程序设计》三门课程的教学内容和方法进行研究,并介绍瓦斯危险性预测数学地质软件的开发。
1数学地质的教学内容及方法
数学地质(mathematicalgeology)是六十年代以来迅速形成的一门边缘学科。它是地质学与数学及电于计算机相结合的产物,目的是从量的方面研究和解决地质科学问题。它的出现反映地质学从定性的描述阶段向着定量研究发展的新趋势,为地质学开辟了新的发展途径。数学地质方法的应用范围是极其广泛的,几乎渗透到地质学的各个领域。
1.1 数学地质的教学内容
数学地质的研究对象包括地质作用、地质产物和地质工作方法。通过建立数学模型查明地质运动的数量规律性。这种数量规律性具体表现为地质体的数学特征、地质现象的统计规律以及地质勘探工作中存在的概率法则。其内容可概括为以下3个方面:①查明地质体数学特征,建立地质产物的数学模型。例如矿体数学特征是指矿体厚度、品位等标志变化的数量规律性。按其属性可划分为矿体几何特征、空间特征、统计特征和结构特征等4类。比如,尽管矿产有多种多样,但矿石有用组分品位的统计分布却服从正态分布、对数正态分布等有限的几种分布律。从它们的分布特征可以分析判断其成因特点,而且各类数学特征还具有不同的勘探效应。②研究地质作用中的各种因素及其相互关系,建立地质过程的数学模型。如盆地沉积过程的数学模型,地层剖面的计算机模拟,岩浆结晶过程的马尔柯夫链分析等。③研究适合地质任务和地质数据特点的数学分析方法,建立地质工作方法的数学模型。论文写作,C语言程序设计。例如,对于地质分类问题,可根据研究对象的多种定量指标,建立聚类分析或判别分析的数学模型,对所研究的地质对象进行分类或判别。又如针对大量的描述性的地质资料,通常可将其转化为0~1变量,建立各种二态变量的多元分析模型(逻辑信息模型、特征分析模型、数量化理论模型等),以解决地质成因分析和成矿远景预测等各类地质问题。论文写作,C语言程序设计。
1.2 数学地质的教学方法
数学地质的教学方法可概括为:①数学模型法。应用最广泛的是各种多元统计模型。例如用于地质成因研究的因子分析、对应分析、非线性映射分析、典型相关分析;用于研究地质空间变化趋势的趋势面分析和时间序列分析方法等。②概率法则和定量准则。由于地质对象是在广阔的空间、漫长的时间和复杂的介质环境中形成发展和演变的,因此地质现象在很大程度上受概率法则支配,且具有特定的数量规律性,这就要求数学地质研究必须遵循和自觉运用概率法则和定量准则。同时,地质观测结果不可避免地带有抽样代表性误差,因此对各种观测结果或研究结论都要做出可靠概率的估计和精度评价。以矿产定量预测为例,不仅要求确定成矿远景区的空间位置,而且应给出可能发现矿床的个数及规模,发现矿床的概率,查明找矿统计标志的信息量、找矿概率及有利成矿的数值区间等。
数学地质的主要研究手段是电子计算机技术,其中包括:①地质过程的计算机模拟,该项技术可以弥补物理模型法和实验地质学法的不足;②建立地质数据库和地质专家系统,以便充分发掘和利用信息资源和专家经验;③计算机地质制图;④地质多元统计计算及其他科学计算。
2数值分析的教学内容及方法
数值分析(numericalanalysis)是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。为计算数学的主体部分。
2.1 数值分析的教学内容
运用数值分析解决问题的过程:实际问题→数学模型→数值计算方法→程序设计→上机计算求出结果。数值分析的教学内容包括插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法。论文写作,C语言程序设计。
数值分析具有如下特点:第一,面向计算机。第二,有可靠的理论分析。第三,要有好的计算复杂性。论文写作,C语言程序设计。第四,要有数值实验。第五,要对算法进行误差分析。
2.2 数值分析的教学方法
根据数值分析的特点,教学时首先要注意掌握方法的基本原理和思想,要注意方法处理的技巧及其与计算机的结合,要重视误差分析、收敛性及稳定性的基本理论;其次,要通过例子,学习使用各种数值方法解决实际计算问题;最后,为了掌握数值分析的内容,还应做一定数量的理论分析与计算练习,由于数值分析内容包括了微积分、代数、常微分方程的数值方法,学生必须掌握好这几门课的基本内容才能学好这一课程。
3C语言程序设计的教学内容及方法
C语言是一种计算机程序设计语言。论文写作,C语言程序设计。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。
3.1 C语言程序设计的教学内容
C语言程序设计主要有两方面教学内容:一是学习和掌握C语言的基本规则;二是掌握程序设计的方法和编程技巧。“规则”和“方法”即语言和算法,是本课程的两条主线,二者不可偏废其一。从一定意义上说,“方法”更重要,因为它是程序的灵魂。一旦掌握,有助于学生更快、更好地学习和使用其他的程序设计语言。
3.2 C语言程序设计的教学方法
C语言程序设计是一门实践性很强的课程,对C语言初学者而言,除了要学习、熟记C语言的一些语法规则外,更重要的是多读程序、多动手编写程序。学习程序设计的一般规律是:先模仿,然后在模仿的基础上改进,在改进的基础上提高。做到善于思考,勤于练习,边学边练,举一反三,学会“小题大做”,一题多解,这样,才能成为一个优秀的C程序员。
4瓦斯危险性预测数学地质软件的开发
瓦斯危险性预测包括瓦斯含量预测、瓦斯涌出量预测和瓦斯突出预测。在利用数学地质技术进行瓦斯危险性预测时,需要进行大量的计算工作,一般要求用计算机完成其数学建模和未采区预测工作。随着计算机软硬件和可视化技术的发展,编制高速、高效、准确、灵活、用户界面友善的数学地质预测软件,是瓦斯地质研究向定量化发展的需要。论文写作,C语言程序设计。
4.1 数学地质模型的建立
瓦斯含量预测和瓦斯涌出量预测采用回归分析建立数学模型,即通过规定因变量和自变量来确定变量之间的因果关系,建立回归模型,并根据实测数据来求解模型的各个参数,然后评价回归模型是否能够很好的拟合实测数据;如果能够很好的拟合,则可以根据自变量作进一步预测。
瓦斯突出预测采用判别分析建立数学模型,即按照一定的判别准则,建立一个或多个判别函数,用研究对象的大量资料确定判别函数中的待定系数,并计算判别指标。据此即可确定某一样本属于何类。
4.2 数学模型的求解
对建立的数学模型,采用迭代法对线性方程组进行求解,即利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
4.3 数学地质软件的开发
采用C语言编写计算机程序,开发数学地质软件。瓦斯危险性预测软件的操作较为简便,功能较为齐全。在软件主界面菜单栏的菜单项下面,可分别进入瓦斯含量预测,瓦斯涌出量预测、瓦斯突出预测的对话框模块。在对话框里分别输入变量数据和数据文件,运行数据文件,按下详细资料或判别结果按钮,可以查看运算结果。按下预测未知单元按钮可进入预测对话框。
5结论
1)对数学地质、数值分析、C语言程序设计教学内容及方法的研究为解决地质问题提供了便利途径。
2)瓦斯危险性数学地质软件的开发较好地运用了数学地质、数值分析、C语言程序设计的理论和方法,为数学地质、数值分析、C语言程序设计的教学提供了应用实例。
参考文献:
[1]韩金炎.数学地质[M].北京:煤炭工业出版社,1993.1-282.
[2]姚传义.数值分析[M].北京:中国轻工业出版社,2009.1-373.
[3]贾宗璞,许合利.C语言程序设计[M].徐州:中国矿业大学出版社,2007.1-378.
[论文摘要]计算机教学旨在使学生掌握信息技术、计算机程序设计及其他相关的基本知识,培养学生利用计算机分析问题、解决问题的能力,提高学生的计算机素质。文章分析了高校非计算机专业计算机课程教学中存在的问题,并就如何通过教学改革,提高大学生的计算机应用能力进行了探讨。
计算机教学主要是为学生提供计算机知识、能力等方面的教育,旨在使学生掌握信息技术、计算机程序设计及其他相关的基本知识,培养学生利用计算机分析问题、解决问题的能力,提高学生的计算机素质。计算机课程是高校非计算机专业大学生计算机教育的必修课程,一般开设“信息技术基础”和“visual basic程序设计”或“visual foxpro程序设计”两门课程。在计算机课的教学过程中,存在很多问题,因此,有必要对该课程的教学进行改革。
一、非计算机专业计算机课程教学存在的问题
1.教学方法呆板,不能激发学生兴趣。目前,计算机课程教学多采用黑板与投影仪相结合的方式,既可以板书又可用投影仪演示多媒体信息。但这种教学方法仍显得有些呆板。第一,教学方法仍以教师为主导,忽视了学生的主体地位,师生缺少交流,学生只能被动接受,不能很好地调动学生的积极性和主观能动性。第二,有些多媒体课件只是把黑板的内容搬到了大屏幕上,多媒体教学的特点没有真正体现出来。第三,对于非计算机专业的学生来说,计算机课的许多知识大都概念性、理论性强,内容多且抽象,具有严密的逻辑性,因此,学习难度较大。有的学生会产生畏难情绪,学习积极性不高。还有些学生认为,这门课程和自己的专业没多大关系,学习只是为了应付考试,这样就失去了学习的兴趣。
2.课时数偏少,不能完成教学任务。以邢台学院(以下简称“我院”)非计算机专业计算机课的教学为例,我院非计算机专业的“计算机程序设计”课程安排在第二学期,每周3节课(2节理论+1节实验),实际教学周数为每学期15~16周,实际总课时为45~48节。而大多数学生的计算机基础较差,根本没学过编程,在教学过程中,教师有时为了赶教学进度,就简化教学内容。由于课时少,学生没有时间建立一个系统的、完整的开发思想,这样导致学生学完这门课后,只会孤立地做几个小程序,而不会把它们联系起来开发成一个系统。这也导致学生在学习过程中学习被动,只是一味模仿课本上实例,知识点零散,对系统开发认识模糊,这样就大大影响了教学质量。
3.重理论轻实践,教学效果不理想。计算机课程是实践性较强的课程,必须通过上机实践,学生才能真正理解教学内容,掌握所学知识。上机操作实践是形成和提高学生应用能力的重要环节之一。然而,很多高校非计算机专业计算机课的理论教学时数多于实践教学时数,这不利于培养学生的实践操作能力,也不利于学生加深对理论知识的理解,因为,理论知识需要在实践的过程中加以理解、消化。理论课时比实验课时多,比例不合理,造成教学效果不理想。
4.考试形式不合理。我院非计算机专业的“信息技术基础”课采用河北省计算机统一考试,全部都在计算机上进行,其中有30%的选择题,70%的操作题。这样的考核方式对学生能力的测试是合适有效的。但“计算机程序设计”课程只采用笔试的方法,学生往往背几个程序就可以考高分,这种考试方式不利于发挥学生的主观能动性和创造性。
二、非计算机专业计算机课程教学改革建议
1.改进教学模式,采用分级教学。针对非计算机专业学生的计算机知识与能力参差不齐的现状,进行分级教学,即根据学生入学时计算机基础水平的差异,分不同的教学班进行教学。新生入学后,进行“信息技术基础”课的摸底考试,根据考试结果对学生进行分级,甚至部分学生可免修。同时,开设相应的选修课,使免修学生能多学一些新知识,激发学生的求知欲。在分级教学中,可根据教学计划和教学大纲的规定使学生共同达到一定的要求,还可因材施教,使优秀学生在原有的基础上学得更多、更深。
2.改进教学方法,提高教学效果。很多高校计算机课的教学还是采用教师讲、学生听,课后做作业的灌输式教学方式。这种教学方式使学生的个性受到束缚。实际上,每个学生的个性不同,这也导致学生对同一知识的需求不同。这就要求教师在教学中应以学生为主体,根据学生的不同需要进行有差别的教学,这种差别可以体现在教师引导学生学习的启发式、发问式等教学方法中,也可以体现在根据学生的个性布置差异的作业等方面。
以学生为主体并不是降低了教师的作用,而是对教师提出了更高的要求。要求教师在教学中从单纯传授知识转变为指导学生学习;从课堂专制式转变为平等、讨论或对话式;从填鸭注入式转变为启发诱导式;从单向传播式转变为双向感应式;从无视学生个体的差异转变为重视学生的个性,把其个性、特长作为资源加以利用,使学生既学习了知识,又提高了能力和素质。
3.采用多种方式教学,提高学生兴趣。教师可以采取换位方式,在教师的引导下让学生主导课堂;对某些问题采取“百家争鸣”的方式进行讨论或研讨;可以在教师的引导下,让学生收集资料,作为课堂学习的补充;可以采取平等对话方式,让学生发表自己的见解,通过互动引导学生分析问题,解决问题。在细节上可以采用发问、启发、引导、存疑等教学方式。总之,利用尽可能多的手段引导、培养学生批评质疑和创新的思想,增强其创新能力。
在进行计算机课的教学时,应与学生所学的专业结合起来,提高学生的学习兴趣。如在教会计专业的“vfp程序设计”时,教师可以要求学生编写一个关于财务收支报表的小型应用系统。在讲课时,把这种小型的应用系统分解成不同的项目,每讲完一部分,就要求学生设计这个子项目。从信息的收集到方案的设计与实施,都由学生具体负责。学生在项目的实施过程中可能会遇到各种各样的问题,就会想方设法解决问题。在解决问题的过程中,学生既学习了新知识,又复习了学过的内容。通过一个个项目的实施,最后完成小型应用系统的开发。这样不仅既能够培养学生用计算机语言的思维来理解程序所能实现的功能,又能够帮助学生理解系统开发的基本架构。同时,这种方法还训练了学生的专业技能,提高了学生的认知水平,也使学生感到这门课程与自己所学专业的紧密关系,从而提高学习兴趣。
4.注重实验教学。计算机课程是实践性很强的课程,其知识的掌握与能力的培养在很大程度上有赖于学生的实践操作。加强实验教学环节有利于培养学生动手操作能力、解决实际问题能力。实验教学是计算机课程教学的一个重要环节,它与理论教学互为依存,对于培养学生的能力,尤其是研究创新能力有着不可替代的作用。计算机课程不仅要注重课堂上的演示操作,更要注重实验教学。可以采用课内上机实验教学、课外多人合作项目,开发小型应用系统。这样不仅可以弥补课时的不足,也可以调动学生学习的积极性。
5.改革考试方法。考试是一种手段而不是目的。应改革传统的死记硬背的考核方法,对于“计算机程序设计”这类课程可以实行开卷考试,让学生个人或几个人完成一个小型应用系统的开发,最大限度地发挥学生在学习过程的主动性、积极性和创造性。成绩评定可以采用学生答辩的方式,锻炼和培养学生的思维能力和表达能力。这样可以避免学生盲目追求高分采取死记硬背的方法学习计算机知识,激励学生追求全面的知识,提高学生的自主创新能力。这样出题既有新意,避免雷同,又能够充分检查学生的掌握情况和应用能力。
综上所述,针对高校非计算机专业计算机教学中普遍存在的问题,应采用科学的授课模式,同时,利用计算机教学中的创造教育的因素,大胆地让学生自由发挥,与自己所学的专业相结合,挖掘其潜在的创造才能,让学生的创造性思维与个性得到发展,从而实现学生素质的全面提高。
[参考文献]
[1]关心.关于高等学校计算机基础教学存在问题的探讨[j].黑龙江教育(高教研究与评估版),2006(3).
[2]李建.《计算机公共基础教学》的困惑与对策[j].福建电脑,2006(4).
2006年3月周以真教授在美国计算机权威期刊Communications of the CAM首次提出并定义了计算思维。计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等。它是一种本质的、所有人都必须具备的思维方式,就像阅读、写字、算术一样,成为人们最基本、最普遍、最适用和不可缺少的基本思维方式。它涵盖了计算机科学之广度的一系列思维活动,最根本的内容是抽象和自动化。
近年来,计算思维的培养已成为国内外研究的热点,计算思维能力将成为21世纪每个人的基本能力。2010年《九校联盟(C9)计算机基础教学发展战略联合声明》的核心要点也强调“需要把培养学生的‘计算思维’能力作为计算机基础教学的核心任务”。2012年李廉教授从现代科学思维体系的角度阐述了计算思维的内涵与概念、发展历史及与实证思维、逻辑思维之间的关系,提出了计算思维是构成现代科学大厦的最基本的思维模式之一,并指出了基于计算思维培养的新的教学体系建设是计算机基础课程教育今后改革的取向和挑战。
二、VB程序设计课程内容及发展现状
在VB程序设计课程教学内容上,不同学校不同专业所提出的任务和要求也不同。仅以我校自动化专业学生为研究对象,根据《VB程序设计》教学大纲的要求,主要讲授如下内容:VB集成开发环境、可视化编程基础、语言基础、三大基本控制结构、数组和自定义类型、用户界面设计(包括常用控件、菜单、通用对话框、多重窗体等)、文件及图形操作等基础知识和操作。课程的培养目标是要求学生掌握使用VB开发Windows应用程序的能力,培养学生学习程序设计的兴趣,为学生终身学习以及更好地使用计算机及相关技术解决本专业领域问题奠定基础。
近年来,随着计算机技术、网络及电子产品等的广泛普及和应用,学生计算机应用技能不断提高,VB程序设计课程的教学也出现了一些问题,如被列入非主干课程学生不重视、学生学习兴趣不高、逃课率增加、上课玩手机、上机找百度等。这些现象的出现迫使授课教师们不断地思考、分析、探讨和总结现阶段教学内容、教学模式等方面存在的缺点和不足,力图探寻一条新的课程改革方法和手段来逐渐扭转和改善现阶段存在的问题和现象。
三、基于计算思维培养的课程改革与实践
如何恰当地将计算思维融入VB程序设计课程教学过程中,以提高学生运用计算机知识抽象问题、进行问题求解和描述是程序设计课程教学改革所面临的挑战。尽管计算思维不仅仅是程序设计,但计算思维最终是需要程序设计去实现的,所以在未来VB程序设计课程中要有意识地、系统性地开展计算思维教学,从战略高度将计算思维的培养作为人的一种基本技能来培养进行教学,同时注重计算机技术与专业知识相结合,提升学生的学习兴趣,培养学生主动思考、主动学习和动手解决问题的能力。
1.在教学内容方面的改进
基于计算思维培养的课程改革的基本思想是①注重计算机程序设计文化素养的培养,构建一种计算机文化氛围,让学生理解和认识计算机的特点和用途,提高对计算机程序设计的兴趣。②课程体系与教学内容的研究把计算思维引入程序设计课程中,要把思维培养与程序设计的“思想”和“方法”相融合,以“发现问题分析问题寻求多种解决问题方案对多种方案进行比较最终实现解决方案”的问题求解驱动式程序设计训练方法。对于程序设计语言基础知识、结构化程序设计等基本知识在计算机软件基础课程已经讲解过的内容进行适当删减,避免重复知识点反复讲解降低学生的学习兴趣。从计算思维的角度出发,重组经典案例,将问题求解提升到计算思维的高度,对问题的表示、设计算法、提高计算机效率、将现实问题延伸,按照计算思维重组专业学科问题的教学案例,使学生体会出计算思维的本质和用计算机解决本专业问题的优点。密切联系后续专业课程,将编程思想与专业知识联系起来,让学生将理论知识与现实生活生产实际相结合,调动学生进行计算机程序设计的积极性。
2.在考核方式上的改进
传统的考查课考核方式为平时出勤(50%)+上机实验(50%),学生为了获得及格以上成绩,平时出勤率较好,几乎无缺席现象,但上课认真听讲、主动思考的人数不多,较大一部分学生上课或玩手机、或睡觉、或从事其他与课堂内容无关的事宜。在上机实验时,大多数学生又经常上网百度教材后面上机编程实验题的答案或照抄他人的程序代码,完成上机实验的考核。这种情况造成大多数学生成绩等级相似,学与不学分数差距不大等现象,使得学生自己思考程序算法的兴趣不高,因此改革考查课考核方式的任务迫在眉睫。调动学生主动学习的积极性,首先要打破的就是学与不学、自己做与抄袭的成绩等级相似的现象。将传统的考试制度逐步改革为平时(20%)+小作业(30%)+大作业(50%)的考核方式。平时主要考核上课出勤情况、随堂回答问题情况;小作业在课堂上进行任选完成各章节教材中的部分上机编程题目。这两部分的成绩总和只能控制在及格分数线以下,避免又造成传统考核方式下学与不学的成绩相似的现象。大作业安排在课后,让学生利用课余时间完成在课堂上答辩的方式,将专业学生(通常在60人左右)分成几个小组,每个小组10人左右,每小组中成员自行分工,共同完成一个综合性设计题目。大作业主要主要是针对现实生活中的问题进行设计或者针对本专业领域的问题进行设计。同时对在完成大作业过程中表现极为优秀的学生给予创新学分1学分的特别奖励(我校规定本科期间获得创新学分2学分以上方可获得两证)。
在2014年对我校2012级自动化专业123、124两个班级学生进行考试方法试点改革,采用新的考核制度,而121、122两个班级保持传统的考核方式。2012级自动化123、124共计55人,共分成6组,采取自由组合的形式,每小组有一个主要负责人,负责全局工作,细分设计工作,总结设计成果,参与验收答辩,认定成员间完成情况;两个协助人员,分别负责具体的界面设计部分及代码编程部分;其他成员,自行分工,1人专门撰写设计论文。大作业题目共6个,其完成情况及成绩情况见表1。
答辩在最后一堂课,每小组答辩时间15分钟,自述10分钟(其中包含功能展示3分钟),讨论5分钟;最后由学生自行评定各小组成绩等级,各小组成员成绩等级由小组负责人初评,组员讨论最终确定。因首次采取答辩形式课程环节,学生的参与积极性明显提高,课堂讨论气氛较为活跃,取得了一定的教学效果,但也存在一些问题和不足,主要表现在如下方面:①因为是非主干课,即使考核方式新颖,仍有10%的学生未能积极主动参与进来;②在答辩表述方面,因为学生年级较低,准备的不足,偶有冷场情况发生;③因时间限制,设计的程序界面功能不完善,有局限性。在下一学期将这种考核方式在整个专业进行试点,并不断跟踪及反馈学生后续专业课程的学习情况以确定改革的方向。
3.在教学模式上的改进
程序设计课程是一门集知识和技能于一体、实践性很强的课程,要求学生既要学好理论知识,又要掌握实际操作技能。在传统的理论教学中以培养学生应用计算机和计算思维解决实际问题的基本能力为核心,注重基础知识的教学,加强对问题求解、设计与实现模型的学习与训练,改变以往技能讲解学习为基础的培养方式。传统的课堂教学模式是以教师为主导,辅以师生互动的课堂教学模式。教师在授课时,基本上沿用前苏联教育家凯洛夫的组织教学导入新课、讲授新课、巩固新课、布置作业,以教师、教材、课堂为中心的“三中心”教学模式,忽视了课外实践、课堂实践。
采用项目教学法是实施探索教学模式改革的一种新方法。从学生的角度看,项目是一种学习方法,适合学习各类实践性和操作性强的知识和技能。从教师的角度,项目是一种建立在建构主义理论基础上的教学方法,适合培养学生自主学习、分析问题、解决问题的能力。在教学过程中,项目的确定、完成、对完成项目情况的评估成为教学的中心环节,教师由传统的“主角”转变为“配角”,学生由被动地接受知识转变为主动地寻求知识。这种教学模式适用于培养学生的创新能力和独立分析分析问题、解决问题的能力,便于学生循序渐进地学习信息科技的知识和技能。学生会不断地获得成就感、并更大地激发起求知欲望,从而培养出独立思考的求学精神。
1 前言
信息管理与信息系统专业虽然属于管理学,但其主干学科包括计算机科学与技术、经济学、管理学等三个,该专业的综合性、实践性很强,但是目前各高校该专业的实践教学体系不完备,还未自成一家、各具特色,以致毕业生实践能力不突出,特色彰显不够,就业竞争力不强,培养应用型人才是当务之急,核心是要培养学生的应用能力、创新能力和工程素养。要达到本目标,就要大力加强和完善实践教学环节,建立多层次、一体化的实践教学体系。
曲靖师范学院信息管理与信息系统专业从2008年开办至今,已经培养5届学生,一直以来,我们不断加强和完善该专业的实践教学环节,形成了四位一体的实践教学体系,取得了良好的效果。
2实践教学体系的“硬件位”
实践教学体系的“硬件位”强调实验室建设。实验室是开展教研的硬件基础,没有这个基础,一切教研工作就是空中楼阁。我们一直重视信息管理与信息系统专业的实验室建设。采购实验设备的指导思想是实验设备要先进、实用,充分满足学生的学习和教师的教学科研的需要。
该专业已经建成硬件实验室有2个:计算机组成原理实验室、计算机组装与维护实验室,通信与网络实验室有2个:计算机通信实验室、计算机网络实验室,信息管理类的实验室有3个:数字库应用实验室、信息管理与软件实验室、信息技术创新实验室。同时为适应当今云计算、大数据的大趋势,我们投资200多万建立了云计算平台。
这些实验室的更新及新建,能充分满足学生的学习和教师的教学及科研的需要。
3实践教学体系的 “抓手位”
专业技能训练提升学生实践能力的抓手,在学生的整个大学四年期间,为了在不同学期提升学生的综合实践能力,我们开展了贯穿大学4年的专业技能训练。
专业技能训练是实践教学体系的抓手,专业技能训练的目的是根据训练大纲,我们应以项目为驱动来创新该专业的实践教学体系[1],提升学生应具备的专业素养和能力,形成几大子抓手,再作专项的打造。
我院的专业技能训练主要包括两个级别,一是课程设计训练,本训练以课程为依托,制定课程级别的训练大纲和测试方案;二是综合设计训练,训练学生综合能力,要求学生能灵活应用所学课程,完成一个综合性、设计性项目。
3.1 课程设计训练
“课程设计”一个多义词词条。它可以指“为掌握某一课程内容所进行的设计”[2]。课程设计是课程实验的高级环节,课程实验是提升学生立体实践能力的根本,课程实验分为验证性实验、综合性实验和课程设计实验,我们在传统验证性实验的基础上开展课程设计实验,提升学生的课程综合实践能力。
信息管理与信息系统专业的核心课程有6门,分别是:Java程序设计、管理信息系统、数据库原理、计算机网络及实验、管理学、经济学。我们针对这些课程,在编写实验大纲时,就要求编写课程对应的课程设计,设计方案要经过教研室的审核和信息工程学院教授委员的讨论及审定。以审定通过的课程设计为依托,为后续综合实践能力的提升打下坚实的基础。
以《Java程序设计》课程设计为例,课程设计的目的:利用Java语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。
3.2 综合设计训练
综合设计训练的目的是锻炼学生综合所学知识,设计和开发一个小项目的能力。这些项目有“ERP企业应用”、“Oracle运维管理”、“大数据管理”、“Java Web开发”等,这些小项目的训练要基于几门课的知识和技能,如“Java Web开发”就需要学生综合数据库、数据结构、软件工程、计算机程序设计等知识与技能。
综合设计训练要与毕业设计区别开来,此训练的主要目的是让学生体验和掌握项目开发流程,同时锻炼综合应用所学课程来完成一个具体的小项目。
3.3 信息管理与信息系统专业技能训练安排
为鼓励学生多渠道获得技能分,我们规定,学生在校期间,通过全国计算机技术与软件专业技术资格(水平)考试的中级资格、全国计算机等级考试的四级证书、思科(微软、ORACLE、华为、H3C或锐捷)的工程师级别认证、中级会计师,可获得3个学分;通过全国计算机技术与软件专业技术资格(水平)考试的高级资格、思科(微软、ORACLE、华为、H3C或锐捷)的高级工程师级别认证,可获得4个学分。
4实践教学体系的“信息系统开发能力位”
本专业的学生要求具体一定和信息系统开发能力,该能力通过毕业论文(设计)来炼成。毕业论文(设计)是教学过程的最后阶段采用的一种总结性的实践教学环节。通过毕业设计,学生可以综合应用所学的各种理论知识和技能,进行全面、系统、严格的技术及基本能力的练习。[3]毕业论文(设计)是实践教学体系的技能整合,我院对毕业论文(设计)作重大改革,着力打造学生综合实践能力
参加毕业论文(设计)的学生分两部分,一部分在公司实习,同时要在公司完成毕业设计工作,余下的学生在校内完成毕业论文工作,为提高毕业论文(设计)的质量,经向教务处请示,允许我院结合专业实践性强的实际,改革本专业毕业论文(设计)工作。改革思路包括三点,一是我院学生的毕业论文(设计)以毕业设计为主,弱化对学生文本的要求,强化对实践动作能力的提升和检查,二是做好规范管理工作,制定相关文件,如:“信息工程学院毕业论文(设计)工作规定”、 “信息工程学院毕业设计开发文档的撰写与打印规范” 、“信息工程学院毕业设计开发文档”等。
5实践教学体系的“校企合作位”
为提升学生的实习水平,满足用人单位的需求。我们自2013年开始,与四川华迪信息技术有限公司开展毕业实习合作,该公司是一家集软件外包、信息服务、学生专业技能培训为一体的软件公司,在全国小有名气。学生参加校企合作实习有两种类型,一是为期三个月的专业实习,二是为期四个月的就业培训。三个月的专业实习分为软件开发方向和网络方向,软件开发实训重点是提升学生的软件开发实践能力和水平,网络方向的实训重点是提升学生的网络设计、实施、部署能力。
从2013年开始,每年大概有一半的学生参加校企合作的实习,取得了良好效果,学生的专业实践能力提升了,就业质量明显提高,很多学生就在四川成都就业、创业。
摘要:信息社会需要具备信息素养的人才,计算机技能已成为当代大学生知识结构的重要组成部分。本文对近两年本校新生计算机能力水平和广东省用人单位对高校学生计算机技能水平需求情况进行调查分析,以培养学生信息素养、学生专业发展及社会用人需要等方面为基点,研究了新形势下地方高校的计算机公共课程动态体系。
关键词:地方高校;计算机公共课程体系;信息素养;大工程观
中图分类号:G642
文献标识码:A
教育部2007年2号文件中指出“培养和提高本科生通过计算机和多媒体课件学习的能力,以及利用网络资源进行学习的能力”;教育部战略研究重大专项第三次研讨会提出:要使课程设置从单一的“工程专业课程”传授转变为“大工程观,大系统观”为指导的课程架构体系。大学中非计算机专业的计算机公共课程教学与数学、外语一样,具有基础性、普及性、实用性和不可替代性,是不可缺少的,是培养学生信息素养最直接、最有效的活动。地方高校多为教学型大学,以培养应用型和复合型人才为主,以服务地方经济和社会发展为主。我校与很多地方高校一样已建立了较完善的计算机基础实验教学平台,但缺少变化的课程体系与教学模式制约了其作用的发挥。
1大学生计算机能力现状与用人单位的需求情况
1.1大学生计算机能力现状调查
我们对茂名学院今年入学新生的计算机能力水平进行的问卷调查见表1。
参加有效调查的总人数共842人(文科257人,理科585人),来自理工科、文科共12个专业,其中生源来自乡镇占75%,一般学校占71%。调查数据显示:
虽然“信息技术”课程已成为我国基础教育中的必修课,但由于各种原因,开展的效果并不理想,特别是乡镇学校。有超两成学生“都没学过”或“完全不会”,超七成学生处于“一般掌握”,这就要求我们在大学计算机公共课程体系中还要保留及加强“计算机应用基础”课程。
在选择感兴趣的内容中,大部分对网络知识兴趣较大,而对Office和编程感兴趣的都不足三成;这说明多数学生都充分认识计算机网络(互联网为主)对人的生存与发展至关重要,而学生一般对Office操作已有较好的掌握,而对编程则了解不深。
有超九成学生希望进一步学习计算机相关课程,说明他们都非常认同计算机知识与技能的重要性,也愿意掌握更多的相关知识。
因此,从“以生为本”的角度要求,我们的课程设置要有目的性与针对性,从学生的实际需求着眼,从教学目标、教学方法、教学评价与认证、资源建设等都应进行深入的整改。
1.2用人单位对毕业生计算机技能需求分析
根据“广东省用人单位对高校毕业生计算机技能水平需求情况调查报告”的数据显示:用人单位“对近几年来接收的非计算机专业的大学生或专科生在入职阶段所具备的计算机应用能力的满意度”中选择“一般”的占52%,这表明现状与他们的期望值有一定的差距;用人单位“对学生在校期间获得的相关计算机认证的真实度”中选择“一般”的占75%,显示普遍认为这并不能真实体现实际水平。同时,55.2%的用人单位对新职员不提供计算机技能的培训,而是希望毕业生在校期间就能掌握好,内容包括:文字编辑、数据管理、演示文稿、网络应用、安全防范等,同时要求学生要有较高的信息素养及再学习能力。调查报告显示:
计算机技能已经成为用人单位考察应聘者的重要因素。用人单位期望求职的毕业生较好地掌握信息技术,以便在工作结合专业岗位有效地开展应用,提高工作效率。
社会需求促使计算机课程必须改革。由于应用需求与我们的课程设置有脱离现象,非计算机专业计算机基础教育必须以应用能力培养为目标,在校期间使学生较好地掌握计算机、网络及其他相关信息技术的基本知识与技能。
开展多层次计算机基础教育,满足不同层次学生学习的需要。我们的课程体系需要进一步的完善和丰富,在加强基础知识与技能的学习基础上,要多设置面向不同专业、不同层次、不同需求的计算机选修课程。
同时,还要完善认证与考核,使其成为促进学习的平台,并能真实反映学生的技能水平。
2地方高校计算机公共课程改革宗旨
计算机技能已成为用人单位考察应聘者的重要因素,并且要求变得更加具体。“大工程观”要求:提供综合的知识背景,强调实践性,培养学生的创新性;而课程设置与教学改革是“大工程观”教育理念的核心。高校(特别地方高校)非计算机专业计算机基础教育必须因应发展要求,要了解社会及经济发展的实际需要,了解用人单位岗位的具体需要,改革课程体系、教学模式,改进学生的学习方式、老师的教学方法。改革的宗旨要以学生应用能力为培养目标,强化学生的动手能力,提高学生利用信息技术工具分析问题、解决问题的意识和能力,提高学生的信息素养,为学生的继续发展打下坚实基础,最大限度缩小毕业生的出校技能与就业岗位的要求之间的差距,减少用人单位的再培训成本,使个人与企业共同发展;同时要注意学生基础的差异性,不同企业、不同岗位用人的不同要求,设置多种层次、多种方式的教育模式,以满足不同的学习要求。
3构建计算机公共课程动态体系
3.1课程体系结构与教学计划
我们设置“三层次”计算机公共课程体系(如表2),并且纳入学校“三大层次”课程体系(基础课程、技术基础课程、专业课程)之中,作为基础课程与技术基础课程共同建设。
3.2 基本课程设置
据计算机基础教学内容所涉及的知识结构,我们设计如下几类核心课程或课程包,作为各专业类别选择的依据,见表3。
1) 计算机应用基础。
2) 计算机硬件技术基础。如微机原理与接口、单片机原理与应用。
3) 计算机程序设计基础。不同要求选择不同语言,如C或C++侧重讲解结构化程序设计方法、数据结构与算法、模块化程序设计等,C++或Java侧重讲解面向对象的程序设计、应用程序编程接口等,VC++、VB或Delphi侧重讲解可视化编程技术、组件技术、图形用户界面设计及应用程序开发等。同时程序设计课程从编程能力的侧重点不同可分两个层次:语言级程序设计和工具级程序设计。不论哪种语言都应讲解程序设计的基础知识与基本编程技术。
4) 数据库技术与应用。
5) 多媒体技术与应用。
6) 网络技术与应用。
3.3课程资源建设
根据计算机基础教育的特点及“大工程观”教育理念的要求,循序渐进建设立体化三级课程资源:一是根据本校实际,按照“课程目标章节目标问题(任务)解决问题归纳分析知识扩展”的建设思路,编写有针对性的校本特色教材和实验指导书;二是构建包括有“广东省计算机公共课程共享中心”课程库等资源的网络教学平台;三是建立面向全校学生的计算机开放性实验环境,并实现分层次开放。第一层次为基础教学实验,对一二年级开放,其中包括组装和维修电脑、网络化实验教学平台、无纸化测试系统,企业用人单位模拟环境等,把理论教学内容与实际工程应用联系起来;第二层次为综合性教学实验,以设计型和研究型实验为主,突出内容的前沿性、实践性和应用性,学生可以创造性的运用自己所学的知识查阅文献、设计方案、实现构思,形成系统的知识体系,培养学生初步的工程应用能力和整体性的思维方式;第三层次为参与各种竞赛的学生提供场地和指导,积极配合学生课外创新活动,培养具有创新精神与能力的工程技术人才;第四层次为课题研究开发、系统设计等实验项目,由老师申请课题,吸引那些感兴趣又有能力的学生加入课题研究,培养具有工程实践能力、多学科综合知识背景的复合型工程人才。
3.4评价方式与实施建议
评价目标:变考试为能力认证,体现真实的计算机技能水平,让学生抛开考试的恐惧。
评价方式:通过教考分离,促进课程教学质量得到客观、公正的评价;建设无纸化考核平台,把一次性考试变为多次的通过性考核,真正以“考”促学。
评价内容:注重综合能力的考查。
我们的调查数据显示:“一般掌握”计算机基本技能的新生有七成。因此我们可在新生入学后进行“通过性”的“计算机应用基础”水平测试进行分流,通过者自动获得该课程学分,不通过者可选择参加自学(学校提供充足的立体化学习资源),或者选择参加学校组织的面授课程;对已通过考核的学生,我们为他们提供一个丰富的自主学习的网络资源并开设专题讲座,形式可模拟用人单位的办公环境,让学生真正置身到岗位的实际操作中,如模拟策划与推广岗位,让学生排版和设计;如模拟金融与财务岗位,让他们学习一些财务管理软件,使他们能真正去处理财务管理问题,如计税、纳税等等。这些都能体现“大工程观”建设中关于提高学生的工程实践能力和解决实际工程问题的能力要求,并推出一系列比赛和奖励来激发他们的积极性。
课程设置采取“1+X”方案,即计算机应用基础+若干必修/选修课程。当然必修与选修是相对的、动态变化的,不同专业有不同设置。如科学计算类专业,其知识结构特点与要求要有较强的程序设计能力,建议课程:计算机应用基础+计算机程序设计基础、数据库应用技术、多媒体技术与应用等。
4结束语
社会与经济的发展已经发生了很大变化,学生的能力和水平出现很大的差异,传统的教学与管理方法已经不能适应这些变化,提高教学效率,进行课程改革势在必行。大学计算机公共基础教育是培养学生信息素养的有效平台,该平台的构建要因应信息技术的发展、社会的需求、用人单位岗位的需要、学生发展与专业要求等,建立动态的多元化的教学资源,采取动态的教学方式和多种形式评价方法与考核认证,最终体现“以生为本”的教育理念。
参考文献
[1] 华南师范大学教育信息技术中心. 华南师范大学计算机公共课程教学改革论文与资料汇编[R].2008.
[2] 广东省教育厅高教处,华南师范大学教育信息技术中心,广东省高等学校计算机公共课程教学指导委员会. 广东省用人单位对高校毕业生计算机技能水平需求情况调查报告[R].计算机教育,2008,(3).
[3] 中国高等院校计算机基础教育改革课题研究组. 中国高等院校计算机基础教育课程体系2004[M]. 北京:清华大学出版社,2004.
Study on the architecture of computer’s public courses at local universities
CHEN Yi-ming
(Maoming College, Maoming Guangdong, 525000)
实践育人是目前我国大学教育面临的新问题尽管多年来大学教育一直强调教学实践,但是如何完善实验环境,使实践教学与课堂教学有机融合,是我们面临的问题。新模式注重实践教学体系,从计算机技术的产生、发展以及发展过程中里程碑式的人和事,使学生对计算机技术影响人类文明发展有了全面系统的了解;突出计算机技术在相关专业和交叉学科中解决问题的思维方式与科学方法,进而激发学生的思维与创造力;拓展学生的自我学习空间,构造多层次创新人才成长环境,使学生充分感受到计算机科学与技术的渗透力,面对未来敢于挑战。基于新模式构建的课程体系突出公共基础课程的特点,从单纯的技能培养上升到强调通识知识、文化的学习和对学生计算机思维能力的培养。围绕新模式我们开展了一系列教学实践,构建以资源整合为基础的实践训练平台。
2以计算思维为导向的计算机基础教学课程新体系
计算机基础教学课程新体系以学分制为基础实施目标管理,设定总体学分要求,学生可据此自主构筑知识结构。新的课程体系内容包括如下3层:
(1)素质培养层。通过大学计算机基础培养大学生所必须具备的计算机文化基本素质,在计算机基础知识与综合能力方面打基础,为后继课程作准备。
(2)思维训练层。以培养学生计算思维的基本方法和运用计算机的基本能力为目标。计算机程序设计作为大学计算机基础课程后的一门重头课,教学内容针对不同专业领域,覆盖面向对象的C++、Java、VB、Web等不同的实践环境,支持实现分类分层教学,满足学生的学习要求。
(3)拓展创新层。该层目标是开拓学生视野,提升学生综合应用计算机的能力,使学生具有基本的创新意识。通过一组选修课程(如与专业结合的计算机课程、前沿技术的计算机课程等),进一步培养学生的计算机综合应用能力和创新能力,满足专业需求和信息化社会对人才的需求。
3以培养思维创新能力为核心的实践教学体系
3.1多层次人才培养的实践教学平台
按照新的教学体系,以文化修养熏陶和基本操作技能训练为基础,以计算思维素质培养为核心,以综合应用和创新能力培养为主线,构建新的实践课程体系(以下简称“新体系”)。新体系横向划分为4个层次,重视操作型和技能验证型实验,普及设计型和综合型实验,鼓励研究型和创新型实验。第1层次为文化修养熏陶。学生通过计算机认知学习平台了解和认识计算机,注重计算机在人类发展历史上的作用和新的发展趋势,加深对计算机的学习与理解。该层次要求学生掌握计算机基本操作,如文字处理以及通过网络进行信息检索。学生可通过立体化学习资源以及课外辅导自行完成。第2层次为基本技能实验。以操作型和技能验证型实验为主,注重基本的实验原理、实验方法和实验技能,初步培养学生的创新意识和综合素质。以计算机基本操作和基本应用为主,如掌握信息获取、数据处理、信息展示等相应软件的使用。学生可以通过选修课、实训等方式在开放的软件实验环境完成。第3层次为计算思维素质实验。以设计型和综合型实验为主,训练学生的计算机程序设计能力,重在培养学生计算思维,主要包括C++语言程序设计、Java语言程序设计、VB语言程序设计、Web程序设计和网站与网页设计等课程。不同专业方向的学生根据专业需求进行选择。本层实验强调提高软件应用能力,培养应用所学知识解决工程实际问题的综合能力。第4层次为综合应用与创新实验。本层次包括计算机硬件、数据库、计算机网络、多媒体等课程,以创新型、新技术和高层次应用实验为主,重在启发和培养学生的研究兴趣和动手能力,提高学生综合素质和研究能力。本层次的教学结合大学生创新项目,强调将教师的研究成果应用于教学中。教师根据自己的研究工作和科研项目实验项目内容。学生选择相应实验项目后,在教师指导下,自主地对实验项目进行分析和设计,以小论文或软件形式给出结果。
3.2“以学生为主体,以教师为主导”的实践教学模式
堂上不曾讲授过的知识和问题,由于不能尽快获得教师的指导,使得一些疑难问题得不到解决,严重影响学生的学习兴趣和学习效果。为此,结合大学计算机基础课程的教学改革,我们对教师工作进行重新配置,保证线上和线下都能参与辅导。同时,安排高年级研究生进行实时线上辅导,安排教师在实验室值班,承担起学生课外计算机应用技能的辅导。我们构建以能力为主导的课程考试机制,检验学生是否掌握计算机知识和技术,即学生如何应用计算机解决实际问题。考试机制将提高计算机实测比例,根据解决问题的实际效果客观评判。总成绩为“基础知识+综合实验+教学参与”,占比为5:4:1。建立学习奖励机制,即成绩结构中的教学参与成绩,对学习拓展模块和参与创新型实验的同学,综合其实验报告、实验结果演示、答辩等环节,对他们的学习主动性进行评价。在课程的总成绩中,实验成绩所占比例由20%提高到40%,对其别优秀的,经过答辩组老师的评议,其成绩可直接作为该课程的成绩,免予期末考试。3.3“惠及大众,培育冒尖”的创新人才培养模式实践ACM-ICPC(ACMInternationalCollegiateProgrammingContest)是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,是当代信息技术相关专业的大学生展示其创新实践能力和国际竞争力的高端平台。为此,我们构建了以ACM程序设计竞赛为基础的拓展创新训练平台,坚持“惠及大众,培育冒尖”的主导思想,践行“赛课结合,赛练互动”的执教方法,重视“训练平台,管理机制”的建设环节,获得了良好的实践效果。ACM程序设计竞赛是少数精英型学生参与的活动,但是也不能曲高和寡、脱离大众。根据学生的实际需求,结合国内、国际不同层次的计算机竞赛要求,在重点培养拔尖人才的同时,充分利用优势资源,面向全校开设讲座以及校内竞赛,达到鼓励一般、重点培养的目的。
4差异化教学实践模式
4.1基于学科差异的分类教学
好的教学体系需要一个操作性强的教学模式来支持。计算机基础教学面对全校不同专业的学生,每个专业的计算机能力要求差异较大。在对北京交通大学各学院调研的基础上,我们对专业需求进行分析、归类和总结,根据“学科专业、知识结构、培养层次”构建如下的计算机基础课程分类、分层和模块化的教学模式。学科专业分为3个大类:理工类、人文/外语类、经济/管理类。知识结构分为3个模块:大学计算机基础、程序设计基础和计算机技术与应用。培养层次分为2个层次:基本能力培养和创新能力培养。
4.2基于学生个体差异的分层教学
根据学生个体差异,构建“强基础,重技能,鼓励创新”的层次教学结构,强化对理论知识的掌握和对实践能力的培养。理论知识分为基础知识、专项应用和综合应用3层;实践能力分为基本技能、应用技能和创新技能。新课程体系在教学实践中考虑学生的个体和专业差异,培养方案面向全体学生。如图2所示,基础教学强调对基本的概念、原理和方法的掌握,目标定位在使绝大部分学生通过学习能够掌握该课程领域的基本知识和技能。学生在学习过程中可以根据各自的基础选择学习或免修。个体培养面向优秀学生(如思源班、卓越工程师计划班、国际班等),该部分教学与学校的大学生创新活动和学科竞赛相结合,使学生有机会进一步拓展视野,提高能力。
4.3基于过程的模块化课程教学
在分类、分层次教学体系中,每门课程采取“重基础、强实践、过程考核”的模块化教学。每门课程包括基础知识模块和研究拓展模块。基础知识模块为本课程所有学生必须掌握的基础理论和基本技能;拓展模块为根据授课对象构建的该课程的专项应用知识和技能。我国中学计算机教育状况不均衡,为满足不同水平学生的求知欲望,考试采用阶段性过关考核方式,每学期安排至少2次考试,对于已学习过相关内容的学生可以参加第一次考核,通过后进入优秀学生培养过程的学习,进行拓展模块知识的学习。拓展模块由任课教师根据所在教学班的具体情况进行安排,充分发挥教师的优势,体现个性化教育。
4.4实践教学新体系
建立与理论教学并行的,既相对独立,又相互联系的实践教学新体系。新体系加强基础,拓宽专业知识面,培养学生综合实践能力,全面提高学生的实验知识、实验技能、工程素质和创新能力,加强学生的社会适应能力。新体系压缩了课内教学时数,增加实验时数,同时精选知识点和技能点。教师在课堂上讲出内容的精髓后,让学生在计算机上练习实验相关的技术和方法。教学和实验时数一般达到1:1甚至1:2,如C语言程序设计课程,24学时上课,24学时实验教学,再加上24学时的课外实践。
5教学实践与成果
5.1新课程体系应用
2012北京交通大学新教学计划规定非计算机专业计算机课程选修学分为4学分。根据计算机基础教育的指导思想与教育理念,大学本科学生入学后先学学计算机基础课程,然后选修1门程序设计课及相应的课程设计。
5.2教学实践成果
新课程体系经历了“研究—实践—调研—修改”的螺旋式发展过程,我们从教学实践中找问题,发现新方法,不断完善课程体系。
1)开展能力培养与思维训练相结合的实践教学。利用自制的立体化教学资源,突出实验教学中的分类、分层的分级实践教学模式,以满足不同基础不同层次不同专业学生对教学的需求,实现因材施教和个性化培养。新课程体系在2010年选择了3个学院、4个课堂进行试点,2011年开始在新生范围内试运行,2012年在全校范围内试行新课程体系。2)突出过程考核与理论考试相结合的能力检查机制。利用自主研制开发的在线考试系统和试题库构建灵活的考核机制。自2008年以来每届新生的大学计算机基础课程考试全部采用“实验作业+课程设计”方式,强调对学生实践动手能力和计算机综合应用能力的培养;C语言程序设计课程采用笔试和上机编程相结合的模式,其他系列课程则分别采用开卷、半开卷等模式进行考核。
一、计算机传播途径
计算机病毒之所以称为病毒是因为其具有传染性的本质。传统渠道通常有以下几种:
1.通过软盘
通过使用外界被感染的软盘。例如,不同渠道的系统盘、来历不明的软件、游戏盘等是最普遍的传染途径。由于使用带有病毒的软盘,使机器感染病毒发病,并传染给未被感染的“干净”的软盘。大量的软盘交换,合法或非法的程序拷贝,不加控制地随便在机器上使用各种软件造成了病毒感染、泛滥蔓延的温床。
2.通过硬盘
通过硬盘传染也是重要的渠道,由于带有病毒机器移到其他地方使用、维修等,将干净的软盘传染并再扩散。
3.通过光盘
因为光盘容量大,存储了海量的可执行文件,大量的病毒就有可能藏身于光盘,对只读式光盘,不能进行写操作,因此光盘上的病毒不能清除。以谋利为目的非法盗版软件的制作过程中,不可能为病毒防护担负专门责任,也决不会有真正可靠可行的技术保障避免病毒的传入、传染、流行和扩散。当前,盗版光盘的泛滥给病毒的传播带来了很大的便利。
4.通过网络
这种传染扩散极快,能在很短时间内传遍网络上的机器。
随着Internet的风靡,给病毒的传播又增加了新的途径,它的发展使病毒可能成为灾难,病毒的传播更迅速,反病毒的任务更加艰巨。Internet带来两种不同的安全威胁,一种威胁来自文件下载,这些被浏览的或是被下载的文件可能存在病毒。另一种威胁来自电子邮件。大多数Internet邮件系统提供了在网络间传送附带格式化文档邮件的功能,因此,遭受病毒的文档或文件就可能通过网关和邮件服务器和邮件服务器涌入企业网络。网络使用的简易性和开放性使得这种威胁越来越严重。
二、病毒的产生
计算机病毒的产生是计算机技术和以计算机为核心的社会信息化进程发展到一定阶段的必然产物。其产生的过程可分为:程序设计传播潜伏触发运行实行攻击。
三、计算机病毒防范措施
防止病毒的侵入要比病毒入侵后再去发现和消除它更重要。为了将病毒拒之门外,就要做好以下预防措施:
第一,应养成及时下载最新系统安全漏洞补丁的安全习惯,从根源上杜绝黑客利用系统漏洞攻击用户计算机的病毒。同时,升级杀毒软件、开启病毒实时监控应成为每日防范病毒的必修课。
第二,定期做好重要资料的备份,以免造成重大损失。
第三,选择具备“网页防火墙”功能的杀毒软件,每天升级杀毒软件病毒库,定时对计算机进行病毒查杀,上网时开启杀毒软件全部监控。
第四,不要随便打开来源不明的Excel或Word文档,并且要及时升级病毒库,开启实时监控,以免受到病毒的侵害。
第五,上网浏览时一定要开启杀毒软件的实时监控功能,以免遭到病毒侵害。
第六,上网浏览时,不要随便点击不安全陌生网站,以免遭到病毒侵害。
第七,及时更新计算机的防病毒软件、安装防火墙,为操作系统及时安装补丁程序。
第八,在上网过程中要注意加强自我保护,避免访问非法网站,这些网站往往潜入了恶意代码,一旦用户打开其页面时,即会被植入木马与病毒。
第九,利用Windows Update功能打全系统补丁,避免病毒从网页木马的方式入侵到系统中。
关键词:计算思维;C语言程序设计;算法;教学方法
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)32-7291-03
目前,计算思维能力的培养已成为计算机教育重点研究的课题之一,作为计算机专业的专业基础课和非计算机专业的公共基础课,《C语言程序设计》是培养学生计算思维能力的理想课程。通过该课程的学习,学生应学会问题求解的基本思路和方法,具有一定的编程能力,并能理解计算机思维的过程和学会利用计算学科的思想、理论、方法和技术解决客观世界实际问题的思维方法,然后把相应的思维与方法内化为“方法论”,更广泛地为工作、学习与生活服务。因此在《C语言程序设计》课程的教学中探索适合培养计算思维能力的教学方法十分必要。
1 计算思维
最早提出计算思维教育理念的是美国卡内基·梅隆大学的周以真(Jeannette M. Wing) 教授,计算思维的概念一经提出就引起了国内外教育界的广泛关注,周以真教授倡导的是系统的加强计算思维教育。计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为[1]。它包括了反映计算机科学领域的一系列思维活动。周以真教授认为计算思维是人的思维,是人们利用计算科学的思想、方法、理论和技术解决客观世界实际问题的思维方法,这与我们强调的培养学生具有分析问题和解决问题的能力是一致的。周教授认为计算思维是一种递归的思维、是一种通过约简、转化和仿真等方法将一个复杂的问题解析成一个我们会求解问题的思维方法、是一种基于关注点分离的方法、是一种采用抽象和分解来进行复杂系统设计的方法、是一种利用启发式推理寻求解答的方法,对于系统的设计要考虑它的简洁和美,对一个程序的评价要考虑它的准确性和效率。计算思维的本质是抽象(Abstraction)和自动化(Automation)[2],反应了计算的最根本问题[3]:什么能被有效的自动进行?周以真教授还认为计算思维不仅仅属于计算机科学家,它应是每个人应有的基本技能,对于大学生来说,我们更应该培养他们的计算思维能力,在大学中应将计算思维能力培养推进大学通识教育之中。其实周教授所描述的计算思维教育一直隐藏在我们的教学中,计算思维教育重要目标之一就是培养解决问题的良好意识,而我们在教学中有意无意地都在培养学生分析和解决问题的能力,只不过在以前的教学中未将这种思维特征显式的表示出来而已。美国计算机科学技术教师协会指出,学校的每一类课堂教学都应该采用计算思维这样一个工具。对于大学一年级学生必修的《C语言程序设计》课程来说,究竟采用什么样的教学方法才能更有助于学生计算思维能力的培养,值得我们探究。
2 计算思维教育与《C语言程序设计》课程教学
计算思维教育的最主要的目标之一就是培养学生解决问题的良好意识,也就是说当碰到实际问题时,就能意识到能否利用计算学科的思想、方法和技术来求解。当学生具备了应用意识以及相关知识,碰到应用领域的实际问题时就会意识到如何去解决。计算思维能力的培养不仅要培养学生解决问题的意识,同时还要培养相应的能力,只有这样才能掌握正确求解问题的方法和技术,才能达到解决问题的目的。所以说计算思维教育不是灌输一大堆概念与知识,而是要注重培养学生解决问题的思想、方法、意识、兴趣和能力。计算思维最本质的内容是抽象与自动化:抽象是通过简化、转换、嵌入、递归等方法将一个较复杂的问题转化为许多简单问题,然后再进行求解的过程[4];自动化是利用计算机的运算能力来实现问题求解,以弥补人的计算缺陷。抓住了这两个核心就能有效地培养学生的计算思维能力。
程序设计类课程是训练学生思维的一个非常有效的平台,计算机专业会开设多门程序设计类课程,但对于非计算机专业的学生来说,一般只开设一门程序设计类课程,所以大一开设的《C语言程序设计》课程对非计算机专业的学生的计算思维和创新能力的培养起着非常重要的作用,事实上《C语言程序设计》课程中的许多知识为计算思维的培养提供了很好的案例。但这门课程目前大多采用传统的教学方法:“先讲授理论知识,然后上机实践”,上机实践的目的也是用来巩固课堂上所学的知识点。随着知识点的增多,大量难理解、难记忆的新概念和新规则的出现,学生会觉得这门课程越来越难学,学习兴趣和学习主动性逐渐下降,学习效率低下。并且这种偏重于理论讲解的教学方法,在一定程度上束缚了学生思维的发展,大多数学生面对实际问题的求解和实际应用程序开发根本无从下手,限制了学生自主发现和解决问题的能力的发展。C语言程序设计课程的主要任务之一就是培养学生的编程能力,编程能力是计算思维和技能化知识的综合体现,而检验计算思维能力的结果就是实践操作,所以在教学中一定要重视实践环节。在实践教学环节要求学生能编写程序解决实际问题,如果学生不能综合运用所学的知识、也没有探索精神,那对学生来说是有一定难度的。如果上机环节没有激发学生的学习兴趣的案例和问题,学生也会感到乏味,从而知难而退。所以,要提高学生的编程能力就要有目的对学生的抽象思维、算法设计、代码编写、程序调试、程序分析等能力进行训练,同时要提高学生的学习兴趣。将计算思维融入到《C语言程序设计》课程的教学中将会改变学生的思维方式,在教学时还应把握一个中心点:计算思维是一种方法论,从方法论层面培养学生求解问题的意识,这样课程就会变得生动有趣了,学生也容易接受。然而,运用什么样的教学方法才能有效的将计算思维融入到《C语言程序设计》课堂教学中,以提高学生运用计算机知识抽象和分解问题的能力,是一个挑战。当然,让学生潜移默化地掌握计算思维,无疑是最佳选择。
3 面向计算思维能力培养的课程教学方法改革
3.1融计算思维于案例教学中,激发学生学习兴趣
我校《C语言程序设计》课程的教学是面对不同专业的学生,所以教学中应与学生所学的学科专业联系起来,对不同的学科专业选用不同的教学案例,通过合适的、面向不同学科专业的实例达到既阐析计算思维,又给出面向特定学科专业的范例教学效果。具体的做法是:先选用合适的应用实例并提出问题,然后由问题引入知识点、由知识点带动语法的掌握、由语法规则推动计算思维的理解。也就是说先让学生对所学的知识产生兴趣,有了一定的感性认识后再提升到理论高度,循序渐进地掌握知识。例如在学习循环结构时,面对体育专业的学生就可举“大奖赛评分”的例子,面对数学专业的学生可选用“求1!+2!+3!+……+20!的值”、“判断一个数n是否为素数”、“打印乘法九九表”等这种与数学有关的例子,面对英语专业、中文专业的学生可选用“从键盘输入20个字符,分别统计出其中大写字母、小写字母、数字字符、空格字符和其它字符的个数”的例子,其它的专业可选用“猴子吃桃问题”:有若干个桃子,猴子每天早上吃前一天剩下的一半零一个,到第十天时只剩下一个桃子,问猴子在吃这些桃子之前共有多少个桃子?由于这些问题或者与学生所学的专业有关联或者比较有趣,学生会由此对所学的知识也产生兴趣,而且这些例子都具有计算思维的显著特征,对培养学生的计算思维是非常好的案例,学生也能在兴趣中主动接受新知识及培养思维。
计算思维是一种问题求解的思维,它将问题求解的过程用程序化的方式表达出来[5],计算思维的自动化是“机械式”的按照步骤自动执行,因此对问题的求解就要有精确的算法描述和严格的符号表示。当学生面对实际问题时,根据已有的知识提出问题求解的方案,并用算法进行描述,然后编写程序,最后用机器来验证问题求解结果。例如对于“猴子吃桃问题”这个案例,根据计算思维的特征和高效,引导学生用计算思维的递归方法发现和解决问题,并引导学生用N-S图精确描述算法,再用C语言中相应的语句编写程序。这样,学生在学习过程中体会递归算法的思想和过程,并掌握递归方法和C语言中相应的知识和语法,当碰到类似的问题就会想到用类似的方法解决问题。
3.2采用多角度思维训练的教学方法,以激励学生的创新意识
《C语言程序设计》课程中计算思维能力的培养主要体现在对学生分析问题和解决问题能力的培养,那在教与学过程中如何培养呢?首先教师要设计一个能吸引学生注意力问题,并仔细分析该例子的代表性、应用性和趣味性,例如对于循环结构这个知识点选用“猴子吃桃问题”是一个很有代表性的例子,学生根据老师提出的问题,思考解决问题的方法,老师适时为学生提供帮助,运用计算思维的各种方法启发学生,对于这个问题可启发学生用递归的方法求解,逆向思维,从后面往前推断。当然,在教学过程中,老师还需要尊重学生的个性发展,鼓励学生提出不同的解题方法,不断启发学生,让他们积极主动的探究学习,使其能举一反三。
程序设计类课程的价值之一在于训练和提高学生的计算思维能力[6],不能让学生只按照老师逻辑思维解决问题,所以学生在设计算法时,鼓励学生对同一个问题设计多种不同的算法,这样有利于培养学生创新意识。当然,还要注重算法的简化和优化,在众多的算法中找到一种最优的算法。例如“百钱买百鸡”问题可用三重循环来实现,但仔细一分析还可只用二重循环来实现,并且循环次数由106降低到104,一个简单的改进让学生看到算法优化的魅力,进一步再启发学生算法是否还可改进?循环次数是否还可以降低?这样采用多角度思维训练方式就可充分调动学生学习的积极性,激发学生的学习热情和创新意识。
3.3融计算思维于实践教学环节中,强化计算思维的训练
对于实践性很强的《C语言程序设计》课程的教学,上机实验应是教学的核心,也是培养学生计算思维能力的一个重要环节,所以在该课程的教学中需重视上机实践这一教学环节。过去常用的 “先讲解程序后上机实验” 这种传统教学策略,一般只能增加学生的感性认识及培养学生的上机能力,不能很好的培养计算思维能力。另一方面,大学生一般对一些具有挑战性的任务具有浓厚的兴趣,所以设计的实验任务尽量要生活化和趣味化以激起学生的兴趣,实验任务还需具有一定的综合性来增强实验的难度,从而强化计算思维的训练。例如在分支程序结构中可以安排火车计费程序或计算个人所得税额程序等。教师在设计实验内容时还要注重培养学生的创新思维,也就是说教师设计的实验内容要适合学生的知识结构和心理特点,同时为学生创新思维留出空间,要求学生勇于探索,并引导学生认真思考寻求多种解题思路,在计算过程中培养学生的严谨性,引导学生对所设计的算法进行必要的优化,然后使用正确的语句编写程序,并通过上机调试与修改程序运行得到正确结果,在研究问题的求解过程、算法设计与优化及程序调试过程中强化计算思维的训练。
4 结束语
将计算思维融入《C语言程序设计》的课程教学中,作为一种教学改革尝试,其目的就是将程序设计中所涉及的计算思维潜移默化的植入学生的日常思维。在教学中从有利于培养学生计算思维的角度重新组织该课程的教学内容、改革教学方法,在教学中注重加强学生计算思维能力的培养,使学生学会问题求解的基本方法,能自觉运用计算思维的方法来解决客观世界的实际问题。虽然在教学实际中取得了一定的成效,但通过这一门课程来形成计算思维显然是远远不够的,作为21世纪人类必备的技能之一,计算思维的培养势在必行。然而,在课程教学中,采用什么样的教学方法能才能更好的培养和提高学生的计算思维能力,依然是值得探索的问题。
参考文献:
[1] Wing J M. Computational Thinking[J]. Communication of the ACM, 2006(49): 33-34.
[2] Goldman C V,Zilberstein S.Decentralized control of cooperativesystems:Categorization and complexity analysis[J].Journal of AI Research,2004.
[3] 董荣胜.计算思维与计算机导论[J].计算机科学,2009,36(6):50-52.
[4] 陈杰华,戴丽娟. 以培养计算思维为核心的程序设计实验教学[J].实验技术与管理,2011,28(1):125-127.