HI,欢迎来到学术之家股权代码  102064
0
首页 精品范文 c语言程序设计论文

c语言程序设计论文

时间:2022-10-15 23:57:03

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇c语言程序设计论文,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

c语言程序设计论文

第1篇

关键词:数学地质,数值分析,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.

第2篇

关键词:单片机;课程实践;答辩;KEIL C

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

单片机课程实践是高校自动化专业集中实践环节的必修课,是学生学习《单片机原理》课程后,进行的一次全面的综合实践,其目的旨在加深对单片机基础理论和基本知识的理解,培养学生具有单片机系统应用软件设计和开发的能力,在具体实现过程中强化学生的实践意识,提高应用能力、创新意识和合作精神。在项目的实践中,使得学生掌握一定的理论与技术知识,而且应该树立管理理念,建立项目工程思维观念,而这一点正是高级语言编程思维的一种体现。

通过将单片机课程实践和高级语言程序设计实验相结合,使学生在理解单片机理论和高级语言编程思想的基础上,实际动手开发一个实际的应用系统,来提高综合运用所学理论知识的能力。

1 研究内容或对象

引导学生运用已学的单片机理论知识、单片机程序设计方法和高级语言编程思想,具体设计一个实用的小型单片机应用系统,开发设计过程按以下顺序进行――选定课题、调查用户需求、总结归纳数据流程、分析性能、书写需求分析及总体设计报告(包括组成原理图、硬件连接、程序流程、系统功能模块)、完成应用系统的开发、撰写课程实践报告、系统验收、组织课程实践答辩。让学生在这一系列工作中综合运用单片机系统原理以及编程语言等相关课程知识,培养学生的综合素质。

根据单片机课程实践和专业课程实践两个实践教学环节各有4~5周但分散的实际情况,考虑将其进行整合。并在实践教学环节中安排相应的指导老师对学生进行必要的指导和帮助,为学生提供分析思路,解决学生项目完成中碰到的实际问题。

2 研究拟达到目标

通过在单片机课程实践中结合高级语言编程思想,使学生在掌握单片机理论基础知识的同时,通过参与项目的分析、设计与实现,建立软件工程理念,具备一定的理论与单片机实物实践相结合、解决实际应用问题的能力。同时在完成项目的过程中,锻炼科研开发能力和科研论文写作能力,为大四的毕业设计和毕业论文的顺利完成奠定基础,并为以后工作中的理论与实践相结合奠定良好的基础。

使学生在单片机课程实践和高级语言程序编程实践相结合的实践教学环节中,利用所学的单片机系统原理和C语言程序设计基础知识设计单片机应用系统,解决单片机系统应用中的实际问题,掌握高级语言编程思想,借助相关编程工具,完成一个小型项目的自主分析、设计与实现。

3 主要研究方法

教师提供部分项目供学生选择,学生亦可自拟项目,但课题的选择要由教师审查核准。项目尽量选择实际需求的题目,让学生走出校园,通过调查走访,了解国内单片机应用发展的状况,开阔眼界,而且在开发一个真实项目的过程中,带来求知的源动力,激发学生自主学习的渴望以及创造力;对于虚拟项目,要求学生做到切合实际需求,能解决一定的应用问题,有一定的应用价值。

编程开发工具原则上推荐学生使用KEIL C,如果学生认为其它开发工具更适合可由学生自主选择。由于实际可用的编程开发工具与日俱增且不断更新,为此在课程实践中,对学生开发工具的选择不做过多限制,使得学生可以选择自己感兴趣的程序设计工具进行项目开发,既锻炼了学生自学的能力,又能让学生成为项目开发的决策者,这种主人翁意识使得学生变被动学习为主动学习,从而激发学生自主学习的积极性。

为了防止学生对课程实践任务敷衍了事,对课程实践的考核方式由原来的提交程序和文档改变为答辩的方式。且在集中教学环节之前就让学生明确单片机课程实践的任务,同时考虑在集中教学环节结束后适当放宽学生上交可运行的项目程序和课程实践报告以及组织答辩的时间,让学生能更好的延续自主学习的积极性并进一步完善项目的开发。

4 特色、创新及推广应用价值

通过将单片机课程实践和高级语言程序设计基础实验相结合,让学生在项目的分析、设计、与实现的过程中掌握单片机理论知识、单片机系统应用的设计方法和高级语言程序编程思想 ,提高自动化专业学生理论与实践相结合的能力,激发学生的学习积极性和主观能动性,提高学生解决实际应用问题的能力。

《单片机原理》课程实践教学,将单片机课程实践和高级语言程序设计实验两个教学环节有机整合,让学生能在该实践教学环节中综合运用单片机系统原理和高级语言程序设计基础以及相关编程思想等多种知识,培养初步的科研能力和科研论文写作能力以及团队合作精神。并通过组织课程实践答辩使学生进行类似毕业答辩的演习。

在自动化专业学生的单片机课程实践教学环节中,通过团队合作的方式,以共同完成项目为目标,让学生在单片机课程实践中综合运用所学的单片机系统原理和高级语言程序设计基础的理论知识来完成项目的分析与设计,并借助相关的编程语言来完成项目的编程实现。将原本独立但有高度关联的两个实践教学环节进行有机整合,可以让学生有更多的时间来系统而连续的综合运用所学的相关知识,进而更好的将理论与实践进行有机结合,激发学生的学习热情,提高学生的学习积极性。

第3篇

关键词 C语言程序设计;过程监控;螺旋式上升

中图分类号:TP311.1 文献标识码:B

文章编号:1671-489X(2017)06-0084-03

1 引言

C语言程序设计是理工科专业(如电子信息与科学、通信工程、物联网技术和应用数学等)的基础课程,嵌入式系统中的单片机与DSP程序设计,采用C语言编写应用程序比汇编语言可读性更强,且更易于维护[1]。该课程的学习目标是不仅要使学生学习程序设计的基本概念和基础方法,学习编程规则,还要培养学生的计算思维能力、理论与实践相结合的解决专业领域问题的应用能力,提高专业化教育过程中的创新培养层次。

然而绝大多数学生在刚开始接触C语言程序设计这门n时,对计算机语言、算法和数据结构知之甚少,更不具备抽象建模、程序设计技巧的相应知识[2]。加上这是第一门程序设计课,大量的新概念、新名词让学生感觉应接不暇,在刚刚接触编写程序时毫无头绪,只能仿照现成的例子照猫画虎,进行浅层次的验证性实验,根本掌握不到程序设计的精髓,更达不到计算思维能力的培养,以致该门课程教学质量普遍不高。

为了解决这些问题,笔者在长期教学实践中总结教学经验、探索教学方法,提出“基于专业内容,以解决本专业问题为导向,以计算机围绕专业问题服务为原则,促进学生个体发展,增强学生创新意识,产生创新能力”的教学思想。针对C语言程序设计课程特点,从教学理念、考核形式、教学方法、课程内容等方面做了大胆的改革与创新,采取多种教学方法和教学手段相结合,提高学生学习兴趣,取得良好的教学效果。

2 精心设计以解决本专业问题为导向的教学案例

在以往的教学活动中,大部分学生的基础知识虽然掌握得不错,但在灵活解决实际问题方面,还是有不小距离的。他们虽然心中有一些解决问题的模糊思路,但不会将想法转换成程序,甚至还有一些学生直到最后也不会把实际问题变换成算法设计。针对上述问题,课程组教师在教学内容的安排上注重在C语言教学中紧密结合本专业特点,本着“精讲多练,重实用,重算法”的原则,结合专业方向对C语言程序设计课程教学内容的差异化要求,确定分专业分层次的教学内容,制度详细的教学任务,选择各专业的经典问题作为课堂教学案例。以专业知识为基础,以解决专业问题为目标,采取任务驱动、因材施教的方式,创建多元化的教学体系,能够激发学生的学习兴趣。

将单纯的C语言程序设计教学与专业领域应用相结合,把计算机程序设计作为解决专业问题的工具,有利于学生了解C语言程序设计作为“专业工具”的作用,便于学生对C语言精髓的掌握,能够培养学生的计算思维能力、逻辑思维能力和逻辑推理能力,以及利用计算机解决本专业问题的能力,提高学生学习本课程的主动性、积极性,促进学生个体充分自由地发展,培养学生的应用能力和创新能力。

3 项目递进驱动教学法

在实验教学过程中,制定各专业领域相关实训项目,以由易到难、循序渐进为主线,采取多层次的项目拓展训练、递进式的螺旋式教学方法,让学生整体提高程序设计能力。整个教学设计分为三个阶段。

编程基础准备阶段 本阶段的教学内容主要是以本专业的经典问题作为课堂教学案例,引出本课程单元基础知识。在这一部分教学中通过教师对教学案例的讲解,学生通过实训项目的上机操作,会出现输入、编写等问题,通过解决实训时出现的问题加强对语法、编程规则的掌握。本着“精讲多练,重实用,重算法”的原则,用大量典型案例进行实训,起到拓展学生编程思维的作用。如在为数学专业设计程序三大基本结构项目时,本阶段的教学案例分别为分支结构为分段函数的计算、循环结构为求1到10之间的自然数的和。

项目拓展阶段 通过基础阶段的训练,学生已经初步对程序设计有感性认识,并有一定的计算思维基础,本阶段的任务设计上以第一阶段的任务为基础,将与此相近、相关的案例进行总结,主要是通过实训项目的形式来巩固基础阶段的训练成果,养成良好的编程习惯。如在为教学数学专业设计程序的三大基本结构项目时,本阶段让学生完成的项目有:求1到100之间自然数的和、判断某数是否为素数、求1到100之间的素数、打印杨辉三角形、输出各种形式的九九乘法表等。实训题目按类别设计,同类的实训项目一般设计多个,每个题目又根据难易程度设置不同的分值(方便后期的多元立体化评价),学生可根据自己对知识掌握的情况和自己的兴趣爱好选择一部分题目来练习。但不管是容易的题目还是难度较大的题目,都必须严格按照要求提交相关文档以及编写的程序代码。

项目递进阶段 本阶段让学生自由组合成3~5人的互助式小组,以大作业的方式对整个学习阶段的效果进行巩固,同时进行测试和验收。由于任务量比较大,所以该阶段主要在课下完成。在本阶段中,教改组成员在对不同专业做了详细调研的基础上,精心设计若干个与大学生各类竞赛紧密结合的、贯穿整个教学过程的大项目作为本阶段的任务。教改组成员为数学专业学生设计的课程大项目是学生成绩管理、分析系统,该系统用到大量的数学分析函数来实现对学生成绩的统计分析,要求学生尽量自己编写这些数学分析函数,然后和系统提供的函数做出比较。为电子信息科学与技术专业学生设计的课程大项目是汽车导航系统,该系统用到硬件之间的通信和C语言基础编程,让学生看到原来C语言还可以做出如此高级的产品。这一阶段主要以学生自主完成作业、教师负责答疑的形式进行,教师对学生提出的问题并不直接给出答案,仅仅给予学生一定的指引,引导学生通过各种途径查找资料,促使学生自觉利用互联网、校园网、图书馆、BBS教学网站系统来辅助本课程的学习,帮助学生学会文献检索的技能,为学生在以后的学习和工作中保持继续学习打下坚实的基础。在这一阶段中,要求学生必须提供完整的项目文档并完成教师组织的简单答辩。

以上三个阶段中,除第一阶段由任课教师为学生写出项目文档大纲、学生进行补充完善外,其他两个阶段学生都要独立撰写项目文档。在第二、三阶段中,教师将学生分成若干小组,每个人作为小组的成员,都有分工,每个小组选出一名小组长负责整个小组内部以及小组之间的协调和管理工作,小组和小组之间以竞赛的形式完成各个实训题目并相互评价。教师H仅起到“导师”的作用,帮助学生打开解题思路,及时引导学生总结归纳编程技巧和语法知识,为学生提供技术支持。通过小组学生之间的讨论和协作,提高他们学习C语言的主动性,同时也锻炼了学生的团队协作能力[3]。最终要求学生以小组为单位提交相关文档以及编写的程序代码来检验本阶段的教学效果,避免了以前个别学生抄袭别人报告的现象。

4 制定合理的过程监控机制,有效记录学生的学习过程

积极探索有效记录学生学习过程的监控机制,以上每个阶段结束,任课教师都会及时对学生项目中的亮点和不足进行分别讲解,并认真对学生的每个项目进行批注,以便学生进行改进。同时为每次作业划分等级,让学生明确自己本次学习所处的层次,让学生既有学习的兴趣,又有学习的压力和动力。期末考核方式参考平时作业成绩,采取“笔试+实验考核+开放式作业+课程论文”的形式进行过程考核,积极探索C语言程序设计课程的“嵌入式”考核方式。

5 以解决本专业问题为导向的教学法的教学效果

基于专业内容的案例教学,培养了学生的学习兴趣 以“加强基础、拓宽专业、注重实践”为原则,以案例教学、任务驱动、螺旋式上升模型等多元化的教学体系引导学生学习,把计算机程序设计作为解决本专业知识的工具,以本专业经典问题为导向的课堂教学案例,促进学生对专业知识的加深理解,使学生体会到C语言程序设计课程在专业学习中的地位,培养学生的计算思维能力、逻辑思维能力和逻辑推理能力,以及利用计算机解决本专业问题的能力,提高学生学习本课程的主动性、积极性,促进学生个体充分自由地发展,培养学生的创新能力。

螺旋式上升的项目任务,激发了学生的求知欲 项目递进驱动的教学法,通过一个比较实际的切入点,特别是再通过附加一些微视频,微视频中教师一步步的详细演示使学生感觉能够入手,解决了学生学习程序设计课程的恐惧心理,然后再将此实例不断修改、扩充,加大难度,引出与此实例相关的一组例子。在这样的案例教学中,因为有提出问题、解决问题、扩展问题、再解决问题、对解决问题的方法进行评价、优化设计等几个环节,实际上是一个循序渐进、螺旋式滚动上升的过程[4]。

在案例教学过程中,学生和教师相互提出问题、共同解决问题、深化和扩展问题、再提升解决问题、并对问题解决方法进行评价,这就是一个不断渐进、提升的过程,在这个螺旋式上升的过程中,能够非常自然地调动学生的参与。通过不断扩展一个问题的多种解决方案并对多种方案进行对比,有效开阔学生的思维,强调学生的学习主体地位。这种层层推进的教学方法避免了学生“三级跳”式学习,而有了“走台阶”的扎实基础,使学生在解决实际问题的过程中完成学习任务,实现计算思维能力培养与专业实际应用的无缝融合,激发学生的求知欲,增强学生的自信心。

立体化的过程监控机制,克服了学生临时抱佛脚的学习劣习 “笔试+实验考核+开放式作业+课程论文”的“嵌入式”过程考核机制,使得学生重视学习过程,避免考试前临时抱佛脚的学习劣习。这种监控机制和“课堂教学实验教学创新实践”理论与实践相结合、相辅相成、相互促进的螺旋式上升模型新教学手段,更符合各专业的教学需求。

6 结语

综上所述,从专业内容出发,以解决专业实际问题为导向的C语言教学方法是以建构主义学习理论为指导,通过选取专业领域的经典问题,以协作学习的方式开展学习,通过完成最终的工程项目来达到意义建构。它突破了一般的教学模式,通过解决学生本专业的经典问题来实现学生对C语言程序设计知识的掌握,学生通过螺旋式上升的递进教学法的学习,计算思维能力、解决专业领域实际问题的能力有了极大提高,大大提高了学习本课程的积极性和主动性。本文的教学理念和教学方法不但对非计算机专业学生的C语言课程教学效果比较好,对计算机专业学生的C语言教学也是很好的借鉴。特别是针对目前学生学业水平差异大、自主学习能力差的现状,加上本课程应用性强的特点,本文的教学方法有其卓越的表现。

参考文献

[1]马玉春,汪文彬,王冬,苏静.面向工程技术的C语言程序设计教学实践研究[J].琼州学院学报,2011,18(5):64-68.

[2]姚志宏.中等职业教育中C语言教学改革[J].实验教学与仪器,2013(6):45-47.

第4篇

关键词:民办高校;C语言;教学改革

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)30-0104-03

《C语言程序设计》是针对我校理工类专业大一新生所开设的一门重要的专业基础课程,该课程是目前高校最流行和实用的一种计算机高级程序设计语言,是进行程序设计教学和计算机软件开发的主要工具之一,也是理工类专业学生学习其他相关专业课程的一座重要桥梁,因此,该门课程一直是高校所开设的高级语言课程之一。

1 现状分析

笔者通过问卷调查的方式,了解目前我校教师在《C语言程序设计》这门课程教学方面的现状及学生的学习情况,分析,总结了师生普遍感到这门课程难教、难学的原因,觉得有以下几个方面。

1.1 我校学生的学习积极性处于比较低层次

大多数学生是少数民族,入校时学习基础比较薄弱,对中文的学习能力和理解能力比较弱,逻辑思维能力和动手能力相对比较差,对学习的自信心不太强,学习的主动性和积极性也有所欠缺,大部分同学自主获得知识的能力偏差,总的来说,他们的学习能力处于较低层次,学习方法比较落后,在学习过程中,对中文的理解能力欠佳,大多同学,不理解课堂上老师所讲的内容,只会采用死记硬背的方法,被动地记忆教师讲授的基本概念、语法知识等,上机也只会调试程序,根本设计不出程序,对上机实践操作兴趣不高,缺乏对所学知识的综合运用能力,不会举一反三,给自己增大了莫名的学习负担,编程上遇到一些困难就容易退缩。尤其是在大一第二学期阶段,有不少学生对计算机的基础知识及操作还不太熟悉,程序设计课程对初学计算机的非计算机专业学生来说显得更加抽象、一些程序设计的流难以理解,这往往是导致学生的学习兴趣不高,产生畏难、甚至恐惧情绪的原因,最终导致厌学的后果。

1.2 教学内容的组织不太合理

教学内容的组织和教学方法对培养和增强学生的学习兴趣和学习信心起着极为重要的作用。《C语言程序设计》这门课一般都是在大一阶段第二学期开设,此时学生对计算机的系统结构、工作原理有了一定的了解,但对高级语言程序设计方面的内容,了解的甚少。因此,针对我校学生的基础特点,现对《C语言程序设计》这门课程内容进行提炼,减少传统的C语言教材较为复杂语法知识、算法等知识,传统教材一开始上来的几节课便是介绍和计算机硬件结合紧密术语、数据类型、语法规则,算法流程等基本概念,学习内容显得相当的抽象、繁杂、枯燥,新概念名词和规则如排山倒海般涌来,学生在学习过程中感觉学习的内容相当多,而且比较枯燥乏味、跟实际生活毫无关联,顿感学习压力很大,对程序设计的好奇心和期待随着前几节课云山雾罩般语法知识和规则的涌来消失殆尽,一开始满怀的学习热情受到压抑,因而失去进一步的学习兴趣和学习信心,失去学习动力,甚至有极少学生因而产生畏惧情绪选择放弃,不利于课程的进一步学习。

1.3 上机实践存在问题

《C语言程序设计》是一门实践性很强的课程,主要培养学生的动手能力和编程能力,所以,实践教学对这门课程来讲,非常重要,很多理论知识必须要通过上机动手调试才能够加深理解,帮助学生掌握和巩固所学知识。目前,许多高校的《C语言程序设计》这门课程的考试形式基本上是采用笔试,考试的主要内容仅仅是对所学的理论知识进行检测。这种考试形式使得学生在平时只注重理论知识的学习,不太重视实验实践的环节,另外,也有因为硬件环境或课时原因而造成学生上机实践课时不足,使得学生的理论知识学习与实践环节脱节,反过来影响了对理论知识的深入理解和掌握。

2 教学内容的改革

重构《C语言程序设计》课程教学大纲,包括理论教学大纲和实践教学大纲,课程内容分为2个阶段,第一阶段C语言基础,第二阶段是程序设计。制定的新课程教学大纲“本着理论够用,重在实践”的教学理念,强调学生的自主学习能力、创新能力、程序设计能力和对所学知识的综合应用能力。教学内容由浅入深,由易到难,降低程序设计的难易程度,加强程序设计中分析问题和解决问题的深度和广度,教学内容循序渐进,螺旋式上升。增加新知识、新理论以及交叉学科知识的介绍,补充教材难以编入的学科发展的前沿知识,充分体现该课程教学大纲的系统性、实用性、实践性、科学性、先进性。

该门课程的开设64课时,其中理论32课时,实践32课时,在教学实施过程中,在充分掌握理论知识的同时,加强实践教学。通过修订教学大纲、课程标准、授课计划等相关教学文件,着力加强实践教学,并对实践过程进行单独考核。另外,为了弥补不同层次学生对不同知识的需求情况,将实验项目计划增设了选做内容和必做项目,要求学生根据自己的学习情况选做相应的项目,利用业余时间完成。在实践教学过程中推行“项目驱动、小组合作”的实践教学模式。选择趣味性强且与学生生活贴近的项目作为教学主线,合理布局第一个项目,将每个实践项目分解成一个个体现相关的知识点又与实际生活紧密相连的子项目,对应理论教学的各个教学知识点,把相关的知识点融入到项目的各个环节中去,层层推进项目。通过对项目中的问题的深化和知识点的补充,来拓宽学生对所学知识的深度理解,实现独立完成项目的目的,从而达到学习知识、培养能力,提高实践能力的目的。

另外,在教学内容的选择上,尤其是介绍新内容时,避免选取复杂程序或学生不熟悉的数学、物理等问题作为案例,尽量选择学生平常比较熟悉的问题来进行分析讲解程序设计。在学生了解了新的知识点及新的编程方法后,再扩展介绍新方法的应用和一些常见的技巧,由浅入深,有利于学生了解掌握有一定难度但常用的一些编程技巧。

在教学内容的安排上,以程序设计思想为教学内容的主线,围绕着一个学生熟悉项目,努力让学生能主动而非被动接受新教学内容。用教学项目把整个课程诸多关联的知识点有机地联系起来,紧紧围绕着一个案例,如学生进行计算器的设计,从这个主题出发,循序渐进,逐渐延伸、拓展,随着带领学生不断提出新的用户需求并主动设法解决,引出能满足新要求的方法和相关知识点。

3 教学方法的改革

按照我校学生的实际情况,制定符合我校学生实际的课程标准、教学大纲,围绕本课程的教学目标,根据《C语言程序设计》课程和学生的特点,按“够用、实用”为原则对传统的教学内容进行重新组织,合理取舍设置教学内容。教学内容上舍弃了一些不常用的语法和章节,注重强调基础性、实用性和实践性,同时,兼顾教学和自学两方面的适用性。例如:可以先带领学生完成一个简单的项目――设计一个简单“加减乘除”的计算器程序,做简单的输入二个数据、然后计算结果和输出计算结果的工作,而后再给学生进一步讲解完成每一步工作所用的相关语法知识和需要注意的问题。而学生对两个数据的“加减乘除”的处理方法很熟悉,学生通过把平常熟悉的工作用计算机语言描述出来并在计算机上运行得到所需的工作结果,让学生体会到C语言程序的神奇而不神秘,有趣而不难学,体会到用计算机解决问题步骤的条理性、逻辑性和掌握相关语法知识的重要性,减少、消除学生初学程序设计语言时的神秘感和恐惧感,激发学生的学习兴趣和求知欲望。

形成“三结合一补充”的教学方法,即:“理论教学与实践教学相结合、自主学习与过程评价相结合、平时考核与开放考试相结合,模拟项目对课堂教学进行补充”的教学方法;充分利用信息技术手段,满足学生的个性化发展,包括多媒体教学手段、网络课堂、数字图书馆等。

3.1 采用任务驱动式的项目教学法

在理论教学过程中,抛弃传统的从介绍基本概念、语法知识和规则再到举例说明它们的应用的教学方法,采用任务驱动式教学方法。在教学过程中,全程贯穿任务驱动式教学的思想,按照提出问题、分析问题、解决问题的逻辑思路,引导学生主动参与从接受任务到如何完成任务的整个过程中,改变以往的被动接受为主动学习,充分发挥主观能动性,积极地思考、学习和掌握编程知识和编程方法,锻炼提高分析问题和解决问题的逻辑思维能力。

3.2 采取有效的讲课方法

在课堂教学过程中,采取有效的讲课方法,调动学生积极性。如采用师生互动法,避免传统的“满堂灌”、“填鸭式”教学方法,以免学生因被动学习产生抵触情绪。加强师生互动,采用小组合作的教学模式,融“教学做”为一体,引领学生积极参与教学中,主动提问题,积极思考解决问题。在利用基础知识解决问题的过程中,培养学生举一反三的能力,适时提出或引导学生提出一些进一步的要求,拓展学生的思路,让学生从如何编出程序能解决问题再进一步提高到如何把问题解决的巧妙些、任务完成的更好些、程序的质量更高些,培养学生的问题求解、编程及创新能力。

图1 采用“教、学、做一体化”的教学模式图

对于重点、难点的问题,要采取有效的讲课方式和思路进行讲解,如启发式、循序渐进式、师生互动式、实例法、类比法等方法,可以有效突出重点、化解难点。如帮助学生对循环控制变量作用的理解,可以类比环形跑道上的长跑裁判员统计运动员所跑的圈数并给出最终判断。

对于一些比较抽象的、难于理解的内容,借助动画将其转化为直观的形象便于学生理解。如讲解数据冒泡排序时,我们老师做了教学动画帮助学生理解一组数据排序的过程及最后最终结果,这样学生对抽象的一组数据的排序就容易理解了。

在教学手段上,充分利用多媒体教学和传统板书的优势互补,在碰到难点内容时,我们制作微课,帮助同学们理解较为抽象的内容。使用多媒体电子课件和微课相结合的方式,演示程序设计中的难点部分,提高教师、学生的教、学效率,利用微课,提高学生的学习积极性。因此,结合传统板书来讲课,写出重点难点,画龙点睛,帮助学生加深对重点内容的印象,理清程序运行过程中的数据变化情况。尤其在初期讲解程序设计时,利用板书逐步写出程序的效果更好些,这样在整个板书过程中能够有效控制要讲解的内容,思考、提问、修改等环节有机结合起来。使得学生的思路能与教师的讲解保持同步。

3.3 实验教学的改革

让学生明确编程理论知识必须要通过上机动手调试才能加深理解和掌握,思维能力、编程能力等都需要通过实践教学来培养,建立重视实践教学的新理念,主动积极参与实践教学。将实验内容设为基本篇和提高篇,基本篇用以锻炼学生应用基本知识编程解决简单问题。在此基础上提出更高的要求,设为提高篇用以锻炼学生能灵活运用所学知识编程解决较为复杂的问题,培养学生探索创新能力和实践能力。

为保证实验的效果,要求学生必须做好上机前准备,设计源程序和调试中可能会出现的问题及解决方法,实验结束上交源程序,课后上交实验报告。

3.4 建设多元的立体化教材

积极进行立体化教材的建设和实践。其中包括教材、教学大纲、实验大纲、实验指导、教案、电子多媒体课件、微课堂、教学网站、题库、习题集等。 出版1部教材。由笔者参编的《C语言程序设计项目教程》是以项目教学为编写思想,在该教材中融入大量最新的以同学们生活非常贴近具有趣味性的教学案例和操作性非常强的实例,力求提高教材的通读性和实用性,强化学习实践操作能力,做到“教师易教,学生易学,技能实用”。

教案中除教学目的与要求、教学重点和难点、教学内容等内容外,根据《C语言程序设计程序设计》课程特点,编写了课后的作业题、思考题等内容,电子教案内容非常充实,充分体现了教师与学生之间、学生与学生之间的互动;在多媒体课件内容的设计上,尽量简明扼要,突出重点,只要有用的;知识点之间的衔接思路清晰,既包括了教材的所有内容,在又能激发少数民族学生的学习兴趣,取得良好的教学效果;本课程电子课件、作业、课后思考题、教学大纲等均通过网络以精品课程的形式对全校所有同学开放,另外有充足的网络教育资源加上对于该门课程的难点内容利用微课来展现,这些对提高学生的自主学习能力,培养学生的学习兴趣,发挥了积极作用。

4 考核方式的改革

考核对学生的学习起着重要的引导和促进作用。改变以往以笔试为主的考试方式为全面考核,既要考核学生的理论知识,也考核学生上机动手实践能力。为了更加公平、公正的检测学生的学习效果,体现教学改革的效果,《C语言程序设计》课程采取“过程考核”和“期末考试”相结合的方式,改变传统的一考定成绩的方式,过程考核是以上机操作为主,突出学生的实践能力的培养,在进行完一个知识点的学习后,就进行相应的考核,让学生更好地掌握自己的学习情况,以及与同学之间的差距,根据考核结果调整学习计划;期末考试,以试卷考核为主,主要考查同学对所学理论知论的综合应用能力。

5 评价方式的改革

在《C语言程序设计》这门课程的教学改革中,对考核的评价方式作了大量的修改,制定了符合我校学生实际,又能激发学生学习热情的考核方式。在该门课程的考试中,除了期末的考试由教师来评价之外,对学生的实践操作采取了过程性的考核方式,其中过程性的考核采用了“学生评价、学生互评、教学评价”等多种评价方式,激发了学生的学习兴趣。

6 总结

本课程的教学改革在我校实施一年以来,取得了一定的成效,但教改成果与国家精品课程标准有相当大的差距和不足,我们将继续加大《C语言程序设计》这门课程的教学改革国度,加强教学研究,发表高水平教学论文,完善网络教学资源,加强课程在线学习手段,提高学生的自主学习能力,最终增强学生对所学知识的综合应用能力。

参考文献:

[1] 任淑美, 李宁湘, 陈杰. 《C语言程序设计》课程教学改革与实践[J]. 计算机时代, 2014(7): 65-67.

第5篇

关键词:高职院校,程序设计,语言,教学方法

 

一、引言

近年来,随着科技的进步,各行业对计算机技术的应用越来越普及,为适应社会对高层次人才的需求,各高校也在非计算机专业加强了计算机知识的教学,在一些理工科专业中开设了计算机公共基础课程,并进一步提升了程序设计课程的重要性。另外,程序设计课程是高职高专院校计算机专业的专业基础课程之一,它不仅可以培养学生的编程能力,增强学生的逻辑思维能力,还是学生学习好后续专业课程的前提和保障。

为了将学生顺利地领进计算机程序设计语言的大门,为了培养和训练学生的逻辑思维能力和编程的实际动手能,为了取得较好的教学效果和提高教学质量。笔者通过近年来的教学经验,对程序设计课程教学中存在的实际问题做个分析、在教学思路与教学方法上提出一些建议。

二、教学中存在的问题

1、学习目标不明确,兴趣不浓,积极性不高

由于高职院校学生的入学成绩相对较低,学习基础和学习能力相对较差,对知识的渴望程度有限,在没有明确的学习目标指引下,很难学好一门课程。免费论文参考网。在教学中本人发现,有很多学生不清楚学习程序设计语言课程的重要性,认为程序语言设计课程与他未来的工作毫无关系;有些学生认为学习程序设计语言太枯燥,不如学习多媒体或网络的一些课程;有些学生是因为学习程序设计需要较强的逻辑思维能力和一定的数学、英语基础,因而在学习程序设计时显得力不从心,不能掌握应用计算机解题的基本思维方式,对计算机程序设计产生畏惧感,知难而退。

2、教学方式呆板,教学内容陈旧

在教学过程中,有许多教师仍在沿用传统的教学方法,偏重知识的传授,忽视能力的培养。课堂上往往只是知识的传授者、灌输者,以教师作为课堂的中心,以广大学生为讲授对象,教师一边讲解教学内容,一边进行演示,课堂气氛沉闷,师生间缺乏互动沟通,课堂上留给学生练习的时间偏少,忽视了学生的认知主体作用,无法激发学生的积极主动性,所有学生被迫按照老师的讲授速度进行学习,不利于培养思维能力与创造能力,多数理论停留在纸上谈兵的阶段。

教材内容陈旧、枯燥,脱离课程教学目的,脱离实际。有些教师往往把很大的精力甚至是主要精力放在程序设计语言的语法规则和语义上,不自觉地把“程序设计”课变成“程序语言”课,在考查方式上也常常是一张试卷决定该课程的成绩,导致了学生学习精力的偏移教材中的例题和习题大都是立足于程序语言本身的语法规则,与现实生活相差太远,致使部分学生觉得学习编程语言是一件枯燥的事。

3、过于注重理论学习而忽略了编程实践能力

在高职院校中,非计算机专业的程序设计语言课程的课时量往往很少,例如我校安排的理论课时和实践课时加起来总课时为64课时。在教学过程中,很多老师由于受到课时的限制,无法按照正常进度讲授完所需的课程知识,或者无法对知识进行详细展开讲解,只好占用上机时间讲授理论知识,导致学生过度重视课本上的理论细节的东西,忽略问题的整体结构,轻视实验课上的上机操作。

三、提高语言程序设计教学质量的几点思考

1、努力培养学生学习兴趣

对于计算机程序设计语言而言,由于许多学生在进入大学以前并未接触过它,所以,他们会认为计算机语言很深奥、很难学,导致对计算机语言的学习缺乏信心。教师应该采取适当的方式激发学生的积极性和自信心。

“兴趣是最好的老师”, 因为高职学生有基础较弱自律性不强的特点,所以在讲授语言程序设计课时更应该优先考虑如何调动学生的积极性,激发学生的学习兴趣,点燃他们的学习热情。所以在上课伊始应该向学生介绍作为 21世纪的大学生在计算机应用方面的要求,以及计算机应用对于他们今后就业的影响以及工作中的用途。另外,在刚进行计算机语言教学时,不易涉及难度大、不易理解的内容,要突出趣味性、易学性,降低学生对新事物的困难感。可在课堂上当场编写一些小程序、小游戏,并进行演示,以调动学生的兴趣和积极性。

2、采用灵活多变的教学方法

1)实例教学法

教师根据本节课的教学目标,确定本节课的教学目的,然后再精选具有一定代表性的、能涵盖本节课要讲的知识点的案例程序,通过对案例程序的简单讲解引出本节课要讲的语法知识,运用语法反过来分析程序的运行结果,根据程序的执行过程分析程序的功能,根据程序的功能反过来分析编程思路,理解了上述编程思路后,运用这种方法结合原程序结构再来完成一系列类似程序的编写。

下面以本人C语言课程中“for 语句”的教学过程为例,详细阐述一下运用实例教学法如何来实施课堂教学。

①根据本节课在教学大纲中的要求:熟练掌握for语句的使用,利用任务驱动的方式为本节课设定任务。(任务:求1-100之间所有的奇数和)

②精心选择案例程序。

③以案例程序引入本节课的for语句的语法知识,介绍for语句的一般形式,讲解for语句的执行过程。

④通过前面两项的讲解,将所学知识运用到案例中去,画出程序执行的实际过程,从而得出程序运行的结果。

⑤针对案例进行编程思路上的分析,让同学们真正地理解各变量及表达式在for语句中所起的作用,以便于他们今后独立编写程序。

2)比较归纳法

程序设计语言中有很多的定义、概念、语法规则,它们的使用灵活,功能强大,但是难以记忆。教师可以通过比较归纳的方法将这些概念、语法归类,使学生获得的零散知识系统化,对知识理解的更深刻,掌握得更牢固。

下面还是以本人C语言课程为例,在讲解完指针这一章后,及时归纳和总结指针的数据类型是至关重要的。学生们普遍反映这样一个问题,前面的章节学得挺明白的,一到了指针这一章就开始糊涂起来。而指针又是C语言的一个重要概念,也是 C语言的一个重要特色,如果不掌握指针就是没有掌握C的精华。免费论文参考网。所以在教学中一定要提醒学生,在学习本章内容时要多思考、多比较、多上机,应用的时候应十分小心。

3、突出上机实践的重要地位,加强操作环节教学指导

为了锻炼学生解决较大型复杂问题的能力,老师在安排实验课内容时,可以布置一个大题目作为长期任务,再按不同功能模块分解开来,形成一个个短期任务。每次实验课要求学生完成其中一个或几个简单的功能模块,这样,每次实验课就好像一条铁链上的一个个铁环,紧密联系。仅以VF语言课程教学中的“学生信息管理系统”为例,把这个系统作为一个长期任务,然后把这个系统划分为若干个小的模块。免费论文参考网。比如输入输出学生信息、添加学生信息、修改学生信息、查询学生信息等模块。这样,当学生完成每一个功能模块后,便发现原来自己实现的是一个复杂的程序。通过这种方法,一方面可以大大降低学生对大型复杂程序的惧怕心理,另一方面也可以培养学生结构化程序设计方法的思想。

四、结束语

程序设计语言课程作为高职院校学生的计算机基础课程,直接影响到学生的后续课程的学习以及未来就业中的实践能力,所以在为高职院校的学生讲授该课程时,一定要从内因和外因两方面进行深入研究学生的状况,合理利用教学环境中的各种教学资源,注重以兴趣为导向设计教学内容,并且采用有效的教学方法,这样就能够使该门课程的教学质量上一个台阶。

参考文献

[1] 谭浩强.C 程序设计[M] .北京:清华大学出版社, 2004.

[2] 杨延广.对高职程序设计课教学方法的研究与探讨.高教论坛,2006(2).

[3] 范新明.高校非计算机专业《程序设计基础》课程的教学模式研究与实践[J].电脑知识与技术,2009,5(20):5 462-5 463.

第6篇

论文关键词:移动学习,C语言程序设计,教学,改革

 

1 移动学习

移动学习(M-Learning)是借助移动互连技术,使用移动计算设备(智能手机、PDA、移动电话等)实现学习者随时随地进行不同目的、不同方式的学习[1]。移动的内涵包括:形式上是移动的,即学习者不再受时间、空间和有线网络的限制,可以随时随地进行不同需求、不同方式的学习;学习环境是移动的,学习资源和学习者也是移动的;内容上是互动的,进行教学活动的双方实时交流,教育信息、教育资源与教育服务依靠移动计算技术和互联网技术实现双向“移动”,教与学相互促进,才能更充分的体现移动学习的优越性;实现方式上是数字的,移动学习是基于无线移动设备进行的数字化学习,它是在数字化学习的基础上发展起来的,是远程学习发展的一个新阶段[2] 。

现阶段的移动学习受技术条件的制约,通常作为高校教学的一种辅助学习模式,主要应用于管理和为学习支持服务提供“交互”通道,学生和教师通过使用移动设备(如手机等)方便、灵活地实现交互式教学活动。高校移动学习的主要应用模式分为三大类:基于短信息的在线移动学习,基于连接的在线移动学习以及存储移动学习模式[3]。基于短信息的在线移动学习具有使用费用低,设备普遍支持等优点,主要应用于通信数据少并且可用简单文字描述的学习活动和学习服务,可用于向学习者发送课程安排、考试安排和考试成绩等信息,提供指导、激励和支持等作用。基于连接的在线移动学习和存储移动学习,需要建设WAP站点,提供能够支持移动设备访问和下载的学习资源,着重选取能够贴近学习者生活和工作同时又较为时尚和流行的主题作为学习内容。存储移动学习和基于短信息的在线移动学习将是目前在高校中最切实可行的移动学习应用模式[4] [5]。

2 C语言程序设计课程特点

C语言作为当今最为流行的程序设计语言之一改革,不仅是计算机专业的必修课,也是很多

非计算机专业的学习课程。随着计算机的普及,学生运用计算机的能力越来越强,但计算机程序设计课程因其较复杂的语法、编程等知识,依然是众多学生学习上的“拦路虎”。

C语言程序课程知识点琐碎,概念繁多,理论不易掌握;概念抽象且复杂,包含的数据类型和运算符丰富,需预习与复习相结合才产生较好学习效果;对应的规则繁多且易混淆,使用较为灵活,容易出错,使得学生容易产生畏难、厌倦情绪;理论与实验教学学时分布不均衡,导致课堂教学中,对如何分析和解决问题讲得不够充分,学生编程思路不清楚;实验过程中,不能将理论知识应用自如,在处理实际问题时往往不知从何入手,需要在平时教学中注意培养学生动手能力[6][7]。

C语言程序课程的这种特点,适合采用移动学习作为其辅助教学方式。针对C语言理论性强的特点,可以在课前课后发送定时短信,提示预习摘要求较高,不好的缩进格式影响其呈现效果,结构化风格使得程序占用篇幅往往较长等等,这些因素均会制约移动设备的可读性。

3移动学习在课程教学中的应用

根据上述分析,设计移动学习方式如下:总体原则,以传统教学方式为主,移动学习方式为辅,移动学习方式充当课堂教学的重要补充,能够实现课堂知识的延伸,指导和激励学生进行更深层次的学习和实践。实现方式,主要采用基于短信息的在线移动学习方式,配合基于连接的移动学习空间、论坛,以及存储移动学习资源建设。针对课堂教学,精心设计课前案例,提出驱动式问题,相关预习提示,课后设计相关重点回顾,知识点延伸,以短信形式发给学生,对于短信不能很好显示的内容可以邮件形式发送给学生,或者放在相关网站上,以消息的形式提醒学生查收。软硬件支持:考虑到学生普遍拥有设备的程度,将移动设备限定在普通移动手机,软件使用中国移动飞信校园版(EFetion_campus)[10],可以支持PC端向移动手机的短信群发,通过飞信、群、语音、邮箱、空间等多种方式实现互联网、移动网间的无缝互通改革,还可以使用日程提醒,邮件提醒等功能打造个性化的学习指导核心期刊。移动学习具体实现方式如图1。

图1 移动学习应用模式图

3.1功能模块介绍

移动学习做为一种辅助教学模式,能够参与到C语言课堂教学的课前准备,课后辅导以及实验指导等方面。

3.1.1短消息学习模块

(1)课前预习提示。可将每节的学习目标、重点、难点发送给学生,也可发一典型程序,加驱动式问题,发送到邮箱里,同时设置邮件提醒功能。

(2)课堂内容回顾。对前面课程学习过的知识内容以短信形式发给学生,提醒其回顾。

(3)作业提示、阶段测试。也可仿照上述短信设置方式,定时群发给所有的学生。

3.1.2移动学习空间或论坛

移动学习空间既可以方便学生在线浏览,也要努力适应基于连接的移动学习访问,其资料下载模块提供的学习资源,也要支持移动终端设备。移动学习论坛,实现学生自由交流空间。在移动学习论坛上定期设置讨论专题,既可以是关于某个错误进行分析,也可以针对相关程序选题集思广益,还可以是对当前教育进行探讨等等。

(1)课堂内容延伸。可提供诸如:MSDN使用介绍,帮助学生自如设计C/C++程序等;CSDN论坛介绍,提供同资深程序员交流学习的平台。

(2)常见错误提示分析。提供调试程序基本步骤,常见错误解读及可能出错原因。

(3)课程设计选题。设计相关程序选题,使其能够体现课程各个阶段的进度,并且具有一定的实用性,趣味性,能够调动学生的学习积极性。

(4)测试空间。提供一些历年试题,可以帮助学生巩固理论学习。

(5)教育思考。定期对教学进行总结,寻求更好的教学方式,也可以一些高校精品课程网站链接。

(6)资料下载。课程内容的各种学习资源,如PPT课件、多媒体课件、部分课程的录音、录像等;有关课程的各种辅导资料,如各章节的知识要点、课程设计任务库、程序设计案例库、试题库等都可以作为下载的资料。

3.2移动学习内容设计

在高校教育中,学生同时需要进行多门课程的学习,如果在针对某一门课程实施基于短信息的移动学习方式时,设计过多的短信内容,或者发送较多的次数,都将会给学生造成信息轰炸,带来过重的信息负担。配合C语言程序课堂教学,在课前课后发送两条飞信,每次不超过5页,对于无法以短信内容呈现的资源就发送到邮箱,同时以短信形式提醒学生注意查收。程序设计课程所涉及程序对格式要求较严格,一个程序案例通常占用较多篇幅,此时以邮件的方式发送较为合适,同时在相关论坛上设置讨论专题,根据学生回答设置最佳答案,统计学生活跃度,作为平时成绩参照。图2为课前预习的飞信基本内容设计。

图2 飞信基本内容设计

把课程内容按照“章-节-知识点”的层次模式进行组织,整理出每章每节的学习目标、重点、难点、学习指导、参考资料等内容改革,并概要总结出每个知识点的核心内容和若干测试题目,学习者可以通过短信息随时随地自由学习、复习这些重要的知识点,并对学习的效果进行测试。设计短信内容时需考虑程序格式问题,屏幕显示行数,尽量控制在8行*5屏=40行,每行8字以内,不要以图片的形式发送(涉及彩信资费问题)。

另一方面,为课程的核心内容提供文档、PPT课件、课程录音、课程录像等多种媒体格式、适合多种移动终端的学习资源,满足学习者不同的学习需求和学习习惯。学习者只要把这些资源通过教学网站,下载到自己的移动终端上,当他们在教室外面、公共汽车上等地方时,都可以通过移动终端来浏览这些学习内容,充分享受移动学习的便捷与方便,而且不需要承担高昂的移动通讯费用。但是供下载的资料要充分考虑移动学习的特点,不仅要考虑学生的设备支持程度,还要考虑移动学习的片段性特点,对其中的部分资料需要进行特殊处理使其适合移动学习方式,主要处理原则,按知识点,将文档,影音资料都处理成片段,确保一个片段一个知识点,每个片段持续10分钟左右核心期刊。

4 实验分析

借助中国移动飞信校园版,上述大部分移动学习方式都可以实现,从PC端到手机客户

端可以方便的实现短信群发,只要不超过一定数量,免费且易于操作。学生也分常乐意参与到这种形式的移动学习中来,非移动用户除了在接收短信受限之外,也可以加入飞信校园版PC端,可以共享资源。实验证明,使用移动学习方式作为程序设计课程的辅助教学方式能够大大调动学生学习的积极性。但是在学生中间出现了两级分化的现象,部分同学兴趣高涨,能够充分利用提供的学习资源,学习进度甚至出现超前现象,另外一部分同学上课时也在查看手机,学习不仅没有进步,反而沉迷于手机上网。这种现象提醒大家不仅应该注意实施移动学习的方式,同时还要加强大学生的思想教育,使其认识到网络资源的便利性和危害性,能够主动的去寻求有益的资源来提高自己。

使用飞信实现移动学习还有以下必须注意的地方:(1)飞信中涉及大量广告,容易分散学生注意力。(2)短信数量过大,易给学生造成信息轰炸,要限制性的使用。(3)需警惕不法分子盗取飞信或手机号,进行诈骗。可以利用飞信的二次开发功能,屏蔽其他模块,使其更适合校园使用。

移动学习对学习者也要有一定要求改革,比如说需要一定的自学能力,自制能力,以及较强的学习动机等[8][9]。现阶段的移动学习在高校教学中应该起辅助作用,但不能排除其对研究生,博士生及在职人员充电的作用,所以还是要做好移动资源的建设工作,注意打上数字签名保护知识产权。

5 结论

当前,移动学习是教育界的研究热点。将移动学习方式引入语言类课程的教学中已取得较大进展,但将其应用到C语言程序设计课程教学中来,还属于尝试阶段。移动学习给教学改革注入新鲜活力,其对高校教学的促进作用,不仅依赖教师的合理使用和学生的大力配合,还依赖于软件平台的设计。本文所使用的飞信校园版,受到发送短信条数,广告绑定等不利因素的限制,不仅要考虑课程特点,还要考虑软件的使用规则,不能充分发挥移动学习的优势。下一步需要改进的地方,不仅在于移动学习资源的建设,还要建设实施移动学习的软件平台,不仅要适合移动终端在线浏览,还要能够与校园各个系统整合,充分利用现有资源,更加适应程序设计课程的要求。

参考文献:

[1]德斯蒙德·基更.移动学习:下一代的学习[J].开放教育研究.2004

[2]刘豫钧,鬲淑芳.移动学习——国外研究现状之综述[J].现代教育技术.2004

[3]王建武.3G网络下基于彩信的被动式移动学习实践研究[D].西安:陕西师范大学.2009

[4]张珑,王建华,张军,邸佳奇.移动学习在高等学校教学改革中的应用[J]. 计算机教育.2010(6):34-37

[5]王伟,钟绍春,吕森林.大学生移动学习实证研究[J].开放教育研究,2009,15(2):22-27.

[6]张素芹,吴连生.独立学院“C语言程序设计”教学改革实践[J]. 计算机教育.2010

[7]顾钧.程序设计语言课程的概念体系及教学策略探讨[J].中国成人教育.2010

[8]李望秀.高校教学中的移动学习[D].长沙:湖南师范大学.2008

[9]徐楠.M_Learning在现代远程开放教育中的应用研究[D].南京:南京师范大学.2005

[10]efeixin.10086.cn/product/category_15.html

第7篇

关键词:独立学院;课程改革;人才培养;程序设计

随着计算机软件行业的发展与普及,十几年来计算机软件技术发生了翻天覆地的变化,而高等学校的教学内容、教学模式与教学方法却没有多大的改变,课程教学理念严重滞后于实际需要,教学效果存在相当大的问题。现在的计算机软件专业学生拥有的优势越来越少,就业压力也越来越大。对独立学院的计算机软件专业学生而言,更是如此。比专业理论知识,他们没有一本、二本的学生全面扎实,比实践操作能力,他们又远不及高职学生。那么独立学院应该培养怎样的计算机软件人才呢?学生将来毕业以后,凭借什么在社会上立足呢?这是我们老师一直在思考和探索的问题。

为适应新的形势,我院明确了计算机软件人才的定位:培养应用型软件人才。这个培养目标既是从独立学院学生的自身条件出发,又符合当前社会对计算机软件人才的需求。在这个培养目标的指导下,我们在计算机程序设计课程教学上进行了大胆尝试,修订了教学大纲,增加、删除了部分教学内容,并将新的教学模式与教学方法引入计算机基础教学中,取得了较好的效果。

1存在的问题

已往的教学经验表明,学生在学习程序设计类课程时最难的地方不是掌握某种程序设计语言的语法规范,而是掌握程序设计的基本方法。

程序设计语言的语法规范是死的,并且与任何一种自然语言相比,程序设计语言的语法规范更简单规则。因此,只要学生掌握好了程序设计的基本方法,再花费一定的时间掌握某一种程序设计语言的语法规范,就能用该程序设计语言设计程序,甚至达到精通水平。

具体而言,目前教学中存在的主要问题有:教学内容与教材组织过于陈旧;教学目标没有反映新形势的需要。其典型表现在:程序设计方法强调不够,抽象思维能力培养不足;某些程序设计中重要的概念讲授力度不足,如库与接口、UML建模以及目前流行的软件开发方法等,学生在实际的软件开发中无法满足企业的需要。

2构建程序设计基础培养四阶段课程体系

大多数独立学院的本科计算机软件专业现行的课程设计,与普通的一本、二本院校相比相差无几,没有突出独立学院的特点,也没有明确独立学院的培养目标。因此,对独立学院计算机软件专业课程体系进行改革迫在眉睫。我院以“计算机导论与C语言程序设计”为公共基础的程序逻辑训练、以“高级程序设计技术”为核心的程序设计方法培养、以“数据结构”为支持的数据与程序抽象能力培养、以“C++程序设计”贯穿面向对象程序设计新理念,并在大三大四高年级开设了Java、Linux、UML建模等程序设计类选修课程,形成了“基础训练+方法培养+提高能力+拓展层面+实践应用”的程序设计教学新模式[1],在强化程序设计能力培养过程中发挥了重要的作用。

3提出并实施四层次软件人才培养新模式

我院以课程体系为基础,提出并实施了“基础训练+提高能力+拓展层面+实践运用”的四层次软件人才培养模式。

3.1基础训练

程序设计基础训练课程开设在大学一年级,是大学阶段系统认识计算机、应用计算机的入门课程,通过程序设计的词法、语法及使用方法的学习,要求学生掌握、体会计算机解决问题的基本技能。在基础训练中,通过对计算机导论课程的学习,让学生认识并能熟练运用计算机编写程序;通过对C语言程序设计课程的学习,让学生初步掌握程序设计的方法,训练程序设计中的逻辑思维。

3.2能力提高

程序设计能力提高课程开设在二年级,主要从两个方面提高学生的程序设计能力:一是高级程序设计技术课程,重点学习典型的程序设计方法技术,便于学生系统地学习并掌握程序设计方法技术。二是数据结构课程,通过构造性思维的训练,重点突出数据抽象与程序抽象能力的培养,让学生在基础训练阶段之后能更深入地理解程序设计的概念。

3.3层面拓展

主要以市场需求为基础,包括工具类别与应用环境的拓展,以选修课形式开设在三、四年级。在具有良好C程序设计能力基础上,展开其他程序设计工具层面,如开设Java、VC++、VB等程序设计类选修课程,增强学生掌握新工具,举一反三的能力。随着我国经济发展,国外市场份额不断增加,熟悉和使用Unix环境已成为计算机软件专业应当掌握的重要技术,开设Unix环境编程和Linux程序设计等课程,将拓展应用环境,提高学生适应新环境的程序设计能力。

3.4实践应用

自2006年以来,我院就加大了程序设计课程中的实践课时比例,实践课时占到总学时的1/2或1/3,每门实践课都单独安排了实践课老师,指导学生更好地进行实践。在实践课设计中,我们既重视学生理论知识的巩固,又注重其解决实际问题能力的培养,因此,我们把实验自下而上分为知识层、应用层和综合层3个层次。

知识层注重对知识的理解和掌握,数据结构、数据库原理和Java程序设计等理论课增设了相应的课程设计,课程设计的主要内容是:按软件企业先进的项目管理和开发模式,以“项目驱动”进行软件系统开发的实训。应用层重点在于巩固与应用,学生在校期间参加课外兴趣小组或在毕业论文设计中,大部分学生都能使用VC++做系统级深层次应用。综合层则关注综合与创新,学校鼓励学生参加大型的综合性IT比赛,如ITAT、大学生挑战者杯创业大赛等。

3.5创造性思维能力的强化

计算机程序设计能力,对计算机专业学生的知识结构、技能的提高和智力的开发变得越来越重要,技能培养的重要程度决不亚于知识传授。对程序设计能力的提高来讲,编程序不难,编好程序不易。质的飞跃来自量的积累、艰苦的磨炼,所以良好的专业技能和创造性思维培养的关键在于实践。程序设计是高强度的脑力劳动,是创造性的艺术,只有提高了科学思维,学会了程序设计的真本领,才会将知识与技术变成能力,应用自如。

3.5.1案例驱动教学:兴趣引导

针对独立学院学生思维灵活但学习自觉性较差的特点,我们采用案例教学法,避免了传统填鸭式教学方法的呆板,通过实例演示,让学生对所学知识产生兴趣,有了一定的感性认识之后,再提升到理论高度,循序渐进地掌握知识。经过多次教学的探索,总结出重点讲授解题思路、算法设计及编程构思,突出上机训练,在编写程序过程中让学生自己进行探索性的学习,程序设计中的成果能极大地增加学生的成就感、培养学生程序设计的兴趣,并达到更加牢靠地巩固理论知识的目的。好的程序设计案例所采用的程序设计方法教会学生用适当的语言清晰地表达其思考过程。

3.5.2指导―大运动量实践―反馈训练:加强创造性思维培养

数据结构[2]的学习过程,是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解,习惯算法构造思维方法。针对数据结构技术性与综合性较突出的特点,我们提出并实施了“指导―大运动量实践―反馈训练”教学法。通过作业练习、课程实习、课程设计3个环节实现实践过程,前者偏重于对课程内容的理解,后者侧重于软件设计综合训练,促进了专业学生逻辑抽象能力和创新能力的培养。

3.5.3项目训练:提高应用能力

通过“项目训练”[3]方法,我们提出课程设计规范要求,突出关键技术要点,贯穿基本技能训练主线,精心设计综合性实验,体现加强实践能力培养的重要思路。数据结构课程设计时进行软件开发综合训练的第一门课,通过选用具有一定实用性的综合题目,采用学生个人进行和小组合作的方式,通过问题分析、总体结构设计、用户界面设计、程序设计基本技能和技术的一系列过程,培养学生动手实践、合作研究、协作开发大型软件项目的能力,培养学生采用软件工程正规方法进行设计与实现,为专业技能训练奠定了基础。“项目训练”方式将学生引入具体的项目研发,使学生有更多的主动学习机会,培养了科研能力。

3.5.4提高学生的兴趣与创新能力

竞赛等多种活动为学生提供了展现程序设计能力的舞台,激发了学生学习的主动性。我们已连续3年开展全校“电脑文化节”、“网页设计大赛”、“Flash竞赛”、“计算机知识竞赛”;学生参加省级、国家级数学建模比赛,6人次获国家级奖励,20人次获得省级奖励;学生在程序设计大赛中取得优异成绩,获得多项奖励,3人次获ITAT国家级奖,多人次获省大学生挑战杯一等奖。

4结语

计算机课程改革势在必行,特别是对于独立学院来说,更是迫在眉睫。改革的成功与否将直接关系到学生以后的就业。在进行计算机课程改革的基础上,我们针对软件人才的培养,提出程序设计教学的新模式和以设计为中心的能力培养新方法。作为一种有益的尝试,新的课程体系通过一种有趣的、面目可亲的方式向学生说明了创造性思维能力在程序设计中起到的重要作用。

参考文献:

[1] 翟玉庆,邓建明. 计算机科学研究型人才培养模式的探讨与实践[J]. 计算机教育,2005(1):31-33.

[2] 耿国华. 数据结构[M]. 北京:高等教育出版社,2007.

[3] 王志英,宁洪,戴葵. 强化计算机专业实践教学[C]//第七届全国计算机系系主任论坛论文集. 北京:高等教育出版社, 2004:37.

Reform of Computer Courses and Training of Software Personnel in Independent Colleges

LIU Ya, TAN Qian-mao, ZHOU Li

(Computer Science and Engineering Department, Jinjiang College, Sichuan University, Pengshan 620860, China)

第8篇

考试时间

云南西双版纳2020年4月自学考试时间安排在4月11日星期六、4月12日星期日(上午9:00-11:30;下午14:30-17:00)举行。

考试须知

(一)考场设置:由各州(市)招生考试机构确定。需在县城以外设考场的,须报省招考院批准。“广告”专科只在昆 明设考点。

(二)考生应试时,须带准考证、考试通知单和居民身份证(或其它能证明身份的有效证件),三证不全者不得进入考场。考生必须严格遵守考场规则,不得以任何形式作弊。凡违纪违法者,按2011年教育部第33号令和《刑九修正案》严肃查处。

(三)考试成绩以百分计,六十分及格,不及格者可参加该门课程的下一次考试。考试成绩公布在“云南省招考频道(ynzs.cn)”网站上,考生自行登录查询。考生对成绩有质疑的可在成绩公布之日起10个工作日内到各州(市)招生考试机构办理查分申请,由各州(市)招生考试机构汇总后统一到省招考院查分,查完后通知考生。省招考院不直接对考生查分。

(四)考试时,对需要使用计算器的科目,考生可携带没有存储功能的计算器,并且不得互相借用。不准使用有存储、接收、发射功能的电子工具。考生进入考场考试严禁携带任何通讯工具,否则将视同作弊。

(五)同一考试时间段,一名考生只能参加一门课程的考试。

(六)全国计算机等级考试(NCRE)成绩在自考系统中的使用:

根据全国考委办函[2004]148号文件规定:

1.NCRE课程暂与高等教育自学考试的部分专科课程进行衔接。

2.凡获得NCRE一级合格证书者,可以免考高等教育自学考试中的《计算机应用基础》(课程代码:00018)或《计算机应用技术》(课程代码:02316)课程(包括理论考试和上机考试两部分)。

3.凡获得NCRE二级C语言程序设计(笔试和上机)合格证书者,可以免考高等教育自学考试中的《高级语言程序设计(一)》(课程代码:00342)课程(包括理论考试和实践考核两部分)。

4.凡获得NCRE三级PC技术(笔试和上机)合格证书者,可以免考高等教育自学考试中的《微型计算机及其接*术》(课程代码:02319)和《微型计算机原理及应用》(课程代码:02277)课程(包括理论考试和实践考核两部分)。

(七)全国公共英语等级考试成绩在自考系统中的使用:

高等教育自学考试的考生参加PETS二级或PETS三级考试,笔试合格者的成绩可直接替代自考有关专业大专或本科公共英语〈即英语(一)(课程代码:00012)、英语(二)(课程代码:00015)〉的考试成绩,并可获得相应的学分(PETS二级替代专科英语(一)成绩,PETS三级替代本科英语(二)成绩,英语专业不能替代)。考生是否参加相应口试,则根据考生是否要求获得PETS等级证书或高等教育自学考试的相关专业来定。

(八)汉语言文学本科专业的毕业论文答辩定于每年的5月和11月,分两次举行,考生可与云南师范大学文学院联系进行答辩事宜。英语本科的“口译与听力”,专科的“听力”、“口语”考试时间由云南师范大学外语学院安排,请考生与学校联系。

(九)已取得自考专业全部课程合格证书的考生,如该专业有实践、实习、设计、毕业论文等考核要求的,应及时和主考院校联系实习考核事宜,待取得合格成绩后,方可办理毕业证书。

第9篇

考试时间

云南迪庆2020年4月自学考试时间安排在4月11日星期六、4月12日星期日(上午9:00-11:30;下午14:30-17:00)举行。

考试须知

(一)考场设置:由各州(市)招生考试机构确定。需在县城以外设考场的,须报省招考院批准。“广告”专科只在昆 明设考点。

(二)考生应试时,须带准考证、考试通知单和居民身份证(或其它能证明身份的有效证件),三证不全者不得进入考场。考生必须严格遵守考场规则,不得以任何形式作弊。凡违纪违法者,按2011年教育部第33号令和《刑九修正案》严肃查处。

(三)考试成绩以百分计,六十分及格,不及格者可参加该门课程的下一次考试。考试成绩公布在“云南省招考频道(ynzs.cn)”网站上,考生自行登录查询。考生对成绩有质疑的可在成绩公布之日起10个工作日内到各州(市)招生考试机构办理查分申请,由各州(市)招生考试机构汇总后统一到省招考院查分,查完后通知考生。省招考院不直接对考生查分。

(四)考试时,对需要使用计算器的科目,考生可携带没有存储功能的计算器,并且不得互相借用。不准使用有存储、接收、发射功能的电子工具。考生进入考场考试严禁携带任何通讯工具,否则将视同作弊。

(五)同一考试时间段,一名考生只能参加一门课程的考试。

(六)全国计算机等级考试(NCRE)成绩在自考系统中的使用:

根据全国考委办函[2004]148号文件规定:

1.NCRE课程暂与高等教育自学考试的部分专科课程进行衔接。

2.凡获得NCRE一级合格证书者,可以免考高等教育自学考试中的《计算机应用基础》(课程代码:00018)或《计算机应用技术》(课程代码:02316)课程(包括理论考试和上机考试两部分)。

3.凡获得NCRE二级C语言程序设计(笔试和上机)合格证书者,可以免考高等教育自学考试中的《高级语言程序设计(一)》(课程代码:00342)课程(包括理论考试和实践考核两部分)。

4.凡获得NCRE三级PC技术(笔试和上机)合格证书者,可以免考高等教育自学考试中的《微型计算机及其接*术》(课程代码:02319)和《微型计算机原理及应用》(课程代码:02277)课程(包括理论考试和实践考核两部分)。

(七)全国公共英语等级考试成绩在自考系统中的使用:

高等教育自学考试的考生参加PETS二级或PETS三级考试,笔试合格者的成绩可直接替代自考有关专业大专或本科公共英语〈即英语(一)(课程代码:00012)、英语(二)(课程代码:00015)〉的考试成绩,并可获得相应的学分(PETS二级替代专科英语(一)成绩,PETS三级替代本科英语(二)成绩,英语专业不能替代)。考生是否参加相应口试,则根据考生是否要求获得PETS等级证书或高等教育自学考试的相关专业来定。

(八)汉语言文学本科专业的毕业论文答辩定于每年的5月和11月,分两次举行,考生可与云南师范大学文学院联系进行答辩事宜。英语本科的“口译与听力”,专科的“听力”、“口语”考试时间由云南师范大学外语学院安排,请考生与学校联系。

(九)已取得自考专业全部课程合格证书的考生,如该专业有实践、实习、设计、毕业论文等考核要求的,应及时和主考院校联系实习考核事宜,待取得合格成绩后,方可办理毕业证书。

第10篇

关键词: 计算机基础课程; 教学改革

中图分类号:G64 文献标识码:B

文章编号:1672-5913(2007)04-0022-04

1 我校计算机基础课程的教学现状

高校非计算机专业计算机基础教育的目的是培养学生的基本信息素养和信息能力,使学生能将计算机与信息技术用于其工作领域,成为既熟悉本专业知识又掌握计算机应用技术的复合性人才。在进入信息时代的今天,计算机基础教育对于提高21世纪大学生的素质和能力有着十分重要的作用。根据教育部高等学校计算机科学与技术教学指导委员会非计算机专业计算机基础课程教学指导分委员会的“关于进一步加强高等学校计算机基础教学的意见”和中国高等院校计算机基础教育改革课题组的研究成果“中国高等院校计算机基础教育课程体系2004 ”等文件精神,我们在2004年将目前面向全校所有专业开设“计算机文化基础”课程名称改为“大学计算机基础”,将各类程序设计语言课程统一定为“计算机程序设计基础”。教学中尝试采用了多样化、立体式的教学模式,逐步完善和充实了课程教学内容,在“大学计算机基础”课程中强化计算机文化、信息处理基础、计算机网络和多媒体技术等内容的教学;在“计算机程序设计基础”课程中强化程序设计思想,突出利用计算机分析问题的思路和解决问题的能力,两类课程的实践环节教学均得到较大的重视,除了正常的课内教学之外,均增加了等量的课外实践学时,与此同时加大网络课程建设的力度,进一步了解国内同类课程的设置,加强与国内同行间的交流,教学水平与教学质量力图与国内著名高校接轨。经过多年的努力、实践和积极探索,通过不断转变教学理念、更新教学内容、完善教学方法、改进教学手段,我校基本构建起比较完善的计算机基础课程的教学体系,形成了一定的特色。2006年4月经专家验收,“大学计算机应用基础”被评为校级精品课程。

2 我校的专业设置和学生入学条件

我校的专业设置和2005级以及以前学生入学条件如表1所示。

3 非计算机专业计算机课程设置方案

多年的教学实践使我们认识到大学生的计算机基础教育是一个循序渐进的教育过程,要着眼于学生信息素养和信息能力的培养,包括通识素养和能力与应用创新素养和能力。通识素养和能力是对所有大学生的基本要求,是指在接受高等教育之后,在信息技术方面应该具备的基本知识和能力。例如计算机的基本知识,信息表述能力、信息交流能力、信息搜索能力等。应用创新素养和能力是指学生能自主学习,具备较强的创新意识和开发能力,能灵活自如地把计算机技术用于专业研究领域。实践证明,许多在计算机技术领域有成就的人是非计算机专业毕业的学生。他们既具有本专业的知识,又掌握计算机技术,跨学科的人才知识面宽,富有创造精神。关键在于正确引导和培养。

在研究非计算机专业计算机课程设置和教学时应当充分围绕这两个层次素质与能力。为此我们提出“3+1+X”(3门通识课+1门限选课+X门任选课)的分层课程设置方案,开设8门核心课程 ,表2给出了8门核心课程名称以及学时设置。

其中,“大学计算机基础”、“计算机基本操作技能”和“计算机程序设计基础为”为全校通识课,课程主要涉及计算机基础性和适用性的概念、技术和应用,它在培养学生的计算机知识、能力和素质方面起到基础性、先导性的作用,我们学校已将它们纳入学校通识课范畴,并作为学校重点课程来管理和建设。

对于“计算机程序设计基础”课程考虑到学生的兴趣不同、计算机基础不同、专业需要不同,由学生所在院系在“C语言程序设计”、“Visual Basic语言程序设计”、“Visual Foxpro语言程序设计”和“多媒体基础应用”四门课程中任选一门作为计算机程序设计基础课程。

在三门通识课程学习完成之后,各专业可根据需要在“数据库技术及应用”、“计算机网络技术及应用”中选择一门作为专业限选课。

为了达到新形势下高校计算机基础教育的目的,学校在学分制下采用的是多模块、多层次的进阶式教育模式。由于学生的基础各异,学校还提倡学生根据自己的基础知识、兴趣爱好和实际应用需要选修一些计算机课程和计算机实用技能课程。为此,我们还设置了一系列信息类选修课程,供学生自主选择。学生自主选修课程设置表如表3所示。

4 非计算机专业计算机课程建设的进一步改革设想

4.1大学计算机应用基础课程网站的建设

网络课堂的教学模式为学生的自主学习和师生之程网络课堂内容。2006校级精品课程“大学计算机应用基础”的网络课堂目前包括“大学计算机基础”和“计算机程序设计基础(C语言)”两门课程。在使用中发挥了应有的作用。

(1)扩容大学计算机应用基础网络课堂,将建设包括8门核心课程的网络课堂,完备相应的教学计划、教学大纲和教材建设。

(2)完善网络作业平台,实现在网上向学生布置作业、网上辅导答疑、网上做作业、网上批改作业、网上测试、网上讨论等一系列网络教学活动,充分发挥校园网在日常教学以及教学管理中的功能。

4.2教学方法的改革

在教学中要继续坚持以教师为主导、学生为主体的教学理念,注重发挥学生在各个教学活动中的主体作用,注重采用多种教学形式培养学生解决问题的能力和综合素质。

(1) 集中课堂教学。

根据各门课程特点发挥集体的智慧和经验制作优质的电子教案和多媒体辅助教学课件,并充分利用多媒体设备和多媒体软件进行生动、形象、直观的教学,使得介绍理论概念时不生硬、不枯燥,实时演示实际操作时具有直观性和动态性并保持有趣性。

(2)分散自主学习。

为了培养学生的自学意识和能力,在教学中要继续有意识地引导学生自学,把课程中的部分有趣又相对简单的章节留作自修内容,以论文、小结、调查报告等形式检查学生的学习情况。

(3)实践中学习。

在实训教学中,强调基本操作方法的灵活运用,注重培养学生的实际操作能力和创新学习意识。为了有效地进行实训教学,首先要加强实践教学指导的力度,我们将聘请一些具备厚实计算机操作能力的学生和教师一起进行实训辅导,其次制定科学的、系统的、先进的实训基本要求和目标、提高要求和目标以及综合要求和目标,同时配套以实训教材、电子课件、实训案例和实训素材做到抛砖引玉的作用,以发挥学生的才智,达到锻炼学生应用所学知识分析问题和解决问题的综合能力。

(4)理论结合实训的教学。

部分理论知识由于课时的限制和学生的基础无法详尽地介绍,如“大学计算机所基础”课程中数据库基础、多媒体技术基础等部分内容。在教学中通过实际案例驱动教学,在较少的学时下使学生能通过实例既理解和掌握了繁多的基本概念,同时可调动学生学习的兴趣,引发其进一步学习的意识,以取得较好的教学效果。

(5)网络课堂。

网络学习模式本身就是一种潜意识的课程学习,学生在使用网络环境时会促使其学习的欲望,并能与教师之间建立新型的师生关系。

(6)课外科技活动平台。

配合学生自发成立的青岛理工大学计算机分会活动,定期为学生举行计算机前沿技术、常用热门软件操作等讲座;开设共同关心的问题论坛;引导学生走出校园到知名企事业单位参观、考察,真实感受社会、感受专业。

4.3实训教学改革

信息类课程的特点之一就是理论和实践并重,所以学生实际运用计算机的能力可以作为评价课程教学效果的尺度之一。我们在日常教学中非常重视实训教学,并不断地进行实训教学的改革尝试。

(1)根据实训教学要求,我们将按照知识点建立“基本实训+提高实训+综合型实训”的分级体系,分级考核和锻炼学生对知识点的综合应用能力。

(2)考虑到新生计算机操作能力参差不齐,对一些具备计算机操作能力的学生可以让他们优先获得学分,我们在每个学期将分三阶段进行过关测试,分别按照达到基本、提高和综合能力给出及格、良好和优秀成绩。

(3)在有限的实验课学时内,加强实验教学的管理和实验教学的资源,建立开放机房。

4.4高素质师资队伍建设

几年来我们已形成了一支队伍稳定、热爱基础教学、团结协作、勇于改革,富有创新精神的教师队伍,其中包括一名校级拔尖人才,两名校级青年骨干教师,一人获得宝钢奖。为了深化教学改革的力度,不断提高教学质量,师资队伍的建设也是一项长期不懈的工作。

(1)我们将一如既往地定期进行教学法研究和专题讲座。

(2)组织教师进修学习,不断更新知识。

(3)积极接受和培养青年教师,鼓励年青教师攻读硕士、博士学位,提高自身的学术素质。

(4)积极参加全国各地区的教学研讨会,向兄弟院校学习,取长补短。

5结束语

经过多年的努力和实践,在大学非计算机专业的计算机教育方面取得了一定的成绩,并得到了肯定,但是课程设置和建设是一个系统工程,涉及到方方面面的问题,比如学校定位、学生来源、专业特点、师资结构等。我们所做的工作和将要进行的改革无论是课程设置、课程内容更新,还是教学方法的改革等,目标都是明确的,那就是为了提高我校计算机基础教学的教学质量、教学效果,最终使学生受益。

参考文献:

[1]冯博琴.非计算机专业计算机基础教育“白皮书”与教学改革实践[A].大学计算机基础课程报告论坛论文集[C],2005.

[2]龚培增.大学计算机基础课程体系建设与教学改革实践[A].大学计算机基础课程报告论坛论文集[C],2005.

第11篇

关键词:编程语言;课程群;编程能力;过程化教学管理

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)25-0140-02

Abstract: The curriculum group of programming language has basic function in developing students' programming ability. The main problems existing in the programming language curriculum group teaching are analyzed, and some concrete measures for the reform of programming language course group teaching are posted. these measures are important to improve the students' ability of programming.

Key words: Programming Language; Curriculum Group; Programming Ability; Teaching Process Management

1 引言

编程能力是软件工程专业学生应具备的核心能力之一,它的培养是通过一系列课程来实现的。编程语言如C语言、Java、Web程序设计、Java Web等组成了编程语言课程群,这个课程群在培养学生编程能力中具有基础性作用。编程语言课程群在编程能力培养的重要性已受到广泛认同,在我校新修订的软件工程人才培养方案中,为了适应应用型技术大学转型发展需要,编程语言课程群地位更加突出,特别是作为基础的第一门编程语言教学时数大大增加,同时调整了实验学时数,基本上理论与实验学时数各占一半,而且鼓励教师在实验室上理论课,加大了学生动手实践要求和机会。

近年来,我校在编程语言群教学工作取得了一些成绩,如:公开发表了十余篇编程语言教学改革论文,多个编程语言课程改革项目获得省级、校级立项建设,出版了几部编程语言自编教材或教学辅导书等。尽管如此,目前编程语言课程群教学还存在不少问题,不适应学校向应用技术大学转型发展的需要,不适应编程能力培养的需要。在教学中我们发现至少下面五个问题比较突出。

(1) 编程语言课程群的教学缺乏统一管理,部分教学内容重叠

编程语言课程群的教学工作缺乏统一管理,各门课程教学各行其是,课程之间部分教学内容重叠,课程之间的衔接不够。从总体上看,编程语言群中各编程语言的语法基础具有一定的相似性,如C语言与Java(或C++)。Java是在C语言的基础上发展起来的,语法基础与C语言相近。若在上Java课程时,对其前面的语法基础介绍与训练太多,将无法用更多的时间来介绍面向对象设计、GUI、异常处理、多线程、网络等高级主题;同时,对学生已经有一定基础的语言基础进行过多的重复,会降低学生的学习积极性和学习兴趣,甚至产生厌学情绪。

(2) 第一门编程语言的基础不牢固

学好第一门编程语言相当重要,但是万事开头难。若第一门编程语言学得好,将对后继编程语言及其他课程的学习奠定基础,就可以“举一反三,触类旁通”;反之,就可能是“基础不牢,地动山摇”。目前通常选用C语言作为第一编程语言,C语言对初学者来说是一门较难的课程,学好它并不容易,需要学生用心学习才行。在教学过程中我们发现,一些学生一开始学习不上心,日积月累,问题越来越多,就容易产生厌学情绪。更重要的是,C语言的语法严谨,不能随意编写程序,少数学生从课程开始到课程结束仍然写不出几个正确的程序,总是包含语法错误或逻辑错误。有的学生阅读、编写、调试程序的时间与精力不够,软件开发平台(如:Eclipse)使用不熟练,软件工程基本素养的训练和培养不够。

(3) 教学过程化管理不够

不注重学习过程的考核,期末笔试所占学期总成绩的比例大(占60%),而实验成绩占的比例小(占20%)。而且实验考试在实验成绩中的比例没有具体规定,没有明确规定:实验考试不及格,则课程总成绩不及格。实验考试过程没有期末笔试那么正规、正式,考试时间通常只有笔试的一半,试卷的批阅也没有规定。这不利于调动学生平时的学习积极性,平时的教学秩序、教学效果很难保证。实际上,学生阅读、编写、调试程序的能力主要是在平时的教学过程中培养出来的,期末笔试时间短、内容不全面,不能全面考核编程能力。

(4) 课外实验、课程设计、课程实训管理不够

目前编程语言的实验主要是在老师指导下的课内实验,而缺少课程规定的课外实验。尽管现在多数学生都有自己的计算机,但是缺乏在计算机实验室的集体学习环境。编程语言课程没有统一要求学生完成课程设计,学生学习一门编程语言编码量不够。课程实训往往规定在一两周内完成,通常3-5人为小组完成项目,但少数学生没有自己写代码,学生动手独立编程训练不够。不少学生没有认真训练如何编写好的程序和较大规模的程序,软件开发平台使用技巧掌握不够。

(5) 非编程语言课程的编程能力训练不够

非编程语言课程,特别是数据结构、操作系统、计算机组成原理、计算机网络、编译原理、软件工程等课程,程序设计的训练也非常重要,学习这些课程也是提高编程能力和水平的重要手段。但是,在这些课程的学习过程中,不少学生不愿自己编写程序,而只是调试老师指定的代码、粘贴来自网上的代码,这样既无法提高编程能力,也无法学好、学活相应的课程。

2 优化编程语言课程群的具体措施

2.1 加强编程语言课程群的教学管理

建立编程语言课程群教学指导小组,加强编程语言课程群的教学管理,改革课程考核体系,提高实验教学与实验成绩的比重。深入研究编程语言课程群(C语言、Java、Web程序设计、Java EE、C#等)教学内容的交叉、关联与继承关系,分析它们在培养编程能力过程中的角色和任务,对编程语言课程群的教学进行整体规划与优化[1]。必须让学生牢记:单凭阅读和学习语法结构并不能真正掌握一门程序设计语言,必须进行编程实践――亲自编写程序并研究别人写的程序。学习一门新程序设计语言的唯一途径就是使用它编写程序[2]。

精心设计各课程的教学内容、典型案例、编程项目与实训项目等,从简单的顺序结构(Input、Process、Output,简称IPO)编程,到模块化、结构化编程,再面向对象编程,再到Java Web开发、Java EE流行框架技术开发应用等。避免课程之间不必要的重复,提高教学效率。注重典型案例的基础作用,循序渐进地进行开展编程能力训练。任课教师要在教学指导小组的指导下工作,深入研究教学内容,讲究教学方法,加强教学互动,注意课程之间的教学内容衔接。

加强学生调试程序能力的培养,从第一门语言课程开始,学生就要练习编程语言和开发工具的基本调试技巧[3]。不断学习流行软件开发平台(如Visual Studio、Eclipse、MyEclipse等),最终熟练掌握开发平台的使用技巧,提高编写程序、调试程序、分析程序的能力。

2.2 突出第一门编程语言的基础地位

通常C语言作为入门语言教学,C语言对初学者来说是一门较难的课程。在教学过程中,我们实施“教、学、做”合一、“课堂与实验室合一”的教学模式,通过各种教学手段提高学生阅读、编写、调试程序的积极性和主动性,尽力使他们感受到编程的快乐和成就感[4]。另外,让学生学习并掌握流行软件开发平台(如Visual Studio、Eclipse等)的使用方法,从最基本的命名规范、注释、缩进的细微入手训练软件工程素养[5]。为加强C语言的编程能力,我们在大一的下学期开设“C实例分析与应用”课程,同时为后继课程(如:数据结构与算法等)打好基础。

此外,C语言作为第一门编程语言对初学者来说有一定困难,也可以选择其他语言(如:Python)作为第一语言。Python语言的设计哲学是“优雅”、“明确”、“简单”。国际上用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程[6,7,8]。

2.3 加强教学过程管理,严格实验考核

严师出高徒,第一堂课应让学生明确教学目标要求,约法三章,严格课程管理。注重教学过程化管理,根据编程语言课程实践性强的特点,要加强实验教学的过程化管理[9,10]。不仅要提高实验学时数占总学时数的比例,还要提高实验成绩在学期总成绩中的比重(如:40%以上)。加强平时的实验项目考核,学生编程能力的提高主要是在平时的实验项目中实现的。鼓励学生使用开发平台进行大量调试、修改程序训练,从中感受编程中失败的痛苦、成功的喜悦和成就感。通过在线考试系统或在线测评系统平成实验项目成绩的统计与管理。

实验考试过程应该正规、正式,考试时间不少于笔试。严格实验考试,若实验不及格,课程总成绩不及格。实验考试采用在线考试系统或在线测评系统方式,随机抽题,自动阅卷。为了提高学生的应试能力,以及阅读、分析、编写、调试程序的能力,鼓励学生平时在实验过程中(如:规定的实验项目完成之后)通过考试系统进行积极训练。

2.4 加强课外实验、实训教学管理

课内实验是在老师的指导下进行了,有的学生一离开老师的指导就无能为力了。课外实验正好可以培养学生的自主学习能力,促进同学之间的相互讨论,实在不能解决的问题也可以找机会问老师,课外实验的学时数应不少于课内实验。

大量项目实践是提高编程能力的根本保证。课内的课程设计、单独的课程实训以及企业实训是主要的项目实践活动。通过这些项目实践活动,逐渐掌握如何编写好的程序和较大规模的程序,掌握软件开发平台的使用技巧与程序调试能力,理解软件工程的基本方法,熟悉软件工程过程(问题定义、需求分析、系统设计、算法设计、模块测试和调试、集成测试等)。还可以不断提高学生问题分析能力、规划设计能力和团队合作精神等综合能力。通过完成各种实验项目可以不断赢得自信。

上述实践活动只有通过认真、踏实的态度,不断坚持下才能够达到好的效果,因此关键是要严格管理,绝对不能流于形式、走过场,应规定实训项目成绩等级的具体标准。

2.5 编程能力培养应贯穿所有专业课程

不断提高学生的编程能力,仅靠编程语言课程群是不够的,要加强非编程语言课程(如:数据结构、操作系统、计算机组成原理、编译原理、数据库原理、计算机网络等)的编程能力与编程能力训练,应提高非编程语言课程实验学时占整个课程学时的比例,以及实验成绩占学期总成绩的比例,使学生通过自己的编程实践与软件工程训练,提高对课程内容的理解和掌握。把这些课程的内容当做应用开发的工具、技术、系统、项目的成功案例,加以学习研究,特别是掌握其相关的设计与实现的基本思想和方法[11]。

此外,应鼓励学生参加各种程序设计竞赛,如:ACM程序设计大赛、中国大学生计算机设计大赛、全国大学生计算机博弈大赛等等,通过比赛展示自己计算机应用与创作才智,进一步提高自己解决实际问题的综合实践能力、创新创业能力和团队合作精神。

3 结语

加强编程语言课程群的管理,对课程群中各门课程教学内容进行总体规划和优化,精选编程案例、编程项目与实训项目,由浅入深、循序渐进地提高学生的编程能力。对于每一门编程语言课程,要加强教学的过程化管理,特别是实验教学的管理与考核。编程能力的培养应贯穿所有专业课程和专业活动,使学生在潜移默化中提高编程能力与软件工程素养。在第一门编程语言课程教学实践中,我们积极进行教学改革实践,表1是三学期“C语言程序设计”课程的成绩统计分析表,尽管这三个学期试题难度不全相同,对教师的评价指标也不完全一致,但从总的情况看,教学改革实践还是受到学生的欢迎和好评。

表1是第一门编程语言教学改革实践过程的情况分析,随着改革的进行,学生的满意度不断提高,采取了多种措施提高了学生的编程能力和软件工程素养。但全面提高编程能力,还需不断探索,采取改革编程语言课程群教学的综合措施。

参考文献:

[1] 张基温.计算机课程体系整合畅想[J].计算机教育,2014(8):59.

[2] Brian W. Kernighan, Dennis M. Ritchie. C程序设计语言(第2版・新版)[M].徐宝文, 等译.北京:机械工业出版社,2004.

[3] 罗先录,罗显松,胡韶峰,等.应用型本科计算机类专业程序设计课程体系建设研究[J], 工业和信息化教育. 2016(3):38-41.

[4] 吴元斌. 提高C语言初学者编程能力的几点措施[J]. 现代计算机,2015(1):13-15.

[5] B. A. Forouzan, R. F. Gilberg. C程序设计-软件工程环境(原书第3版)[M].黄林鹏 等, 译. 北京:机械工业出版社,2008.

[6] 梁勇(Liang Y. D.). Python语言程序设计[M]. 李娜 译.北京:机械工业出版社,2015.

[7] 沙行勉. 计算机科学导论: 以Python为舟[M]. 北京:清华大学出版社,2014.

[8] 嵩天,黄天羽,礼欣. Python 语言:程序设计课程教学改革的理想选择[J].《中国大学教学》, 2016(2):42-47.

[9] 郭小清,谢忠红.计算机专业程序设计类实验课程教学方法与考核方式探讨[J].高校实验室工作研究,2015(1):11-12.

第12篇

【论文摘要】学习之间的影响有促进和干扰之分,一种学习对另一种学习起促进作用的称为正迁移;如果起干扰或抑制作用的,称为负迁移。在计算机语言教学实践中,学生要接触许多新知识,会面临许多新问题,通过对所讲授内容进行合理安排,加强学生对基本概念、基本语法的理解等途径,可以促进学生产生积极的迁移,提高教学实效。

心理学上把已获得的知识、情感和态度对后续学习活动的影响或者后续学习活动对先前学习活动的影响称为学习迁移,它广泛存在于知识、技能、态度、品德等学习中。学习之间的影响有促进和干扰之分,一种学习对另一种学习起促进作用的称为正迁移;如果起干扰或抑制作用的,称为负迁移。知识的迁移在学生学习知识的不同阶段都表现出来并发挥作用,教学中,教师应遵循促进学习迁移的教学原则,尽量引导正迁移,避免负迁移,充分体现“为迁移而教”,促进学生对所学新知识的迁移与运用,对于提高计算机编程教学效果具有很重要的作用。

1.精选教学材料,重基础、找规律,促进计算机语言教学中的正迁移

我们在组织教材时,应把基本概念和规律放在首位,突出教材的系统性和规律性。例如在计算机程序语言教学中,程序是计算机编程中的一个重要概念,程序的实现要遵循问题的求解步骤。算法是学生对求解问题的第一个描述,学生熟练了通过算法来描述题目的求解,才有可能去利用程序语言进行源代码的组合,而后编写出符合要求的源代码。算法描述求解步骤的熟练应用,便成了一个迁移的生长点,在学习其他程序设计语言时,就可以举一反三,触类旁通。这告诉我们:迁移,能够利用原来的“序”作为生长点,产生适合于其他领域的新“序”。教学实践也证明,这样的"生长点"找准了,并做好迁移示范,迁移的效果是相当明显的。这样的“生长点”在计算机编程过程中很多,也就是我们平时所讲的“基础”。抓好基础,才能举一反三,才会触类旁通。在学生头脑中有意培养一些熟练的“生长点”,让迁移从中“生长”开去,是一条正迁移的捷径。

2.合理编排教学内容,准确把握不同语言之间的异同点是实现正迁移的有效途径

在计算机教学中,应注意对不同计算机编程语言知识进行异同比较,在对比过程中,学生始终处于主动积极、探索进取状态,引起有意注意,促成思维交锋,这样对完善旧知识,自觉完成从旧知识到达新知识的迁移,并巩固新知识,都极为有利;不然,就语句论语句,该对比不对比,不仅不会促进迁移,反而会造成负迁移。

心理学研究表明:对比抗干扰,加强对易混知识的比较,找准分化点,利于排除干扰,加深对某些相关概念的认识和理解,促使易混知识在学生头脑中彻底分化。例如:学生学过“当型循环”后,已能熟练掌握用“当型循环”来编写程序。当学了“计数型循环”后,碰到问题时,对于究竟该用哪种循环来求解,学生往往感到不知所措。这种负迁移的产生,是因为比较牢固的旧知识排挤了巩固程度较差的新知识。为了克服这种干扰,可采用列表比较,逐条对比的方法,严格划清十分相似的新旧知识间的界限,让学生掌握新旧知识的异同点。通过新旧知识的对比,达到较好的教学效果。

类比推理也是分析比较行之有效的方法,类比促进迁移。在计算机编程教学中,类比方法具有探索和解释两个功能。探索功能体现在学生通过类比提出假设,进行推测,提出问题,并设想解决问题的方向。解释功能在于唤起学生头脑中已有的知识或经验表象,对将要学习的知识提供一个相近的表象,实现知识或经验的迁移。例如学习过C语言程序设计的知识点后,在学习PHP网页程序设计时,就可以对比以前所学过的C语言程序设计知识,通过类比分析,实现学习的正迁移。 转贴于

3.创设问题情境,激发学生的求知欲是实现正迁移的催化剂

创设问题情境就是在讲授内容和学生求知心理之间制造一种“不协调”,将学生引入一种与问题有关的情境中,造成一种悬念,使学生产生向往、探索的欲望,处于欲罢不能的状态。创设问题情境时应注意:问题要小而具体、新颖有趣、有适当的难度;有启发性,要善于将所要解决的课题寓于学生实际掌握的知识基础之中,造成心理上的悬念。悬念解除之时,也就是正迁移实现之时。例如编程求解N的阶乘,可以用循环来实现;也可以不用循环,利用函数的递归来实现。教师提出两种解题的思路:通过循环实现是利用前面讲过的循环语句来求解,实现起来很容易,但不用循环,仅用函数怎么来求解?至此,引起了学生认知的冲突,创设了问题的情境,唤起学生强烈的求知欲,以高度集中的注意力去探究上面提出的问题,把学生的注意力引到如何通过函数的递归来实现问题的求解,加深学生对函数递归编程的认知。

在教学中还可以采用幻灯片、实验演示等多种可以丰富感性认知的呈现方法来培养学生对计算机编程的浓厚兴趣。例如许多学生喜欢玩电脑游戏,通过实验演示方法向学生展示用计算机语言编写的一些游戏例子,激活学生的学习兴趣,将学生的兴趣从玩游戏转到编写游戏程序上来。实验演示有利于开阔视野、发展智力,特别是发展学生的创造力。实践证明,只要我们利用学习动机的迁移,因势利导地把学生已有的对其他活动的兴趣转移到学习上来,这样就可以激发学生学习新知识的强烈动机。

4.促进新、旧知识的交互作用,改善认知结构是防止负迁移的有效手段

人的每一个认识活动都含有一定的认知结构,它是人类认识客观事物在主观上的反映。建构认知结构,是计算机编程教学的中心环节。促进新、旧知识的交互作用,对于完善认知结构,使认知结构系统化、综合化、整体化具有重要作用。

在教学中,要引导学生积极地把新概念或规律与自己认知结构中原有的适当概念相联系,把新概念、规律纳入原有概念、规律中,同时使新概念、规律与原有的有关概念、规律进一步分化和融汇贯通,组成一个整体结构。例如学习C语言编程时,可指导学生进行如下的认知活动:

4.1把C语言中的数据类型和表达式概念与认知结构中原有的计算机编程语言的概念相联系。

4.2把C语言中的基本语句的语法规则与原有的计算机编程语言相关语句的语法规则相比较,将新旧(下转第78页)(上接第73页)知识融汇贯通,形成一个有机的整体结构。

在教学中,要引导学生积极地唤起头脑中已有的有关概念,与新感知的概念一起,进行进一步的概括和抽象,总结出共同因素,上升到更高的层次。例如在学生认知结构中已有了结构化程序设计中的顺序结构程序设计、分支结构程序设计、循环结构程序设计的基础上,再来学习可视化编程。可视化编程是在结构化程序设计上的一个提升,用可视化编程工具编写程序,学生可以象搭积木似的来构造程序的框架,但问题的具体求解方面还是要用到结构化程序设计的概念。由结构化程序设计到可视化编辑,认知结构需要更新到一个更高的层次。

综上所示,迁移对计算机语言的学习作用不容忽视。教学不只是要让学生掌握一门学科或几门学科的具体的知识与技能,而且还要让学生学会如何学习,即掌握学习的方法。学习方法是一种学习经验,它可以对后继学习产生一程比较广泛的一般性迁移。在计算机编程教学中,使学生养成良好的学习习惯、掌握正确的学习方法,是促进知识顺利迁移所不可少的前提。所以教师在采用行之有效的教法、认真研究学生的学法,进行教学改革的同时,认真学习知识迁移规律,并考虑影响知识迁移的各种因素,定能提高教学效果,使教学达到持久迁移的目的。■

【参考文献】