您好,欢迎来到99网。
搜索
您的当前位置:首页计算机函数入门教学范例

计算机函数入门教学范例

来源:99网

计算机函数入门教学范文1

关键词:程序设计、程序设计语言、多语言、并行教学

一、 前言

现在相关专业的教学计划中一般都开设了“程序设计”课程,有的为了增强编程能力,先后开设了多种面向过程的程序设计语言,如:QBASIC、FOXPRO、C语言,接着又开设了多种面向对象的程序设计语言,如:VB、VF、VC语言。这种教学安排对教师来说可利用市场上现成的教材,对学生来说最大的好处就是当学生毕业时求职表上可以多几门课的成绩,也就似乎多了几种能力,找到工作的可能性似乎就大,其实90%的同学根本就不敢去找编程的工作。[1]每门课长期沿用这样的教学模式:过于注重语句、语法和一些细节,基本上是以程序设计语言自身的体系为脉络展开,学生每学习一种语言就要学一遍诸如常量、变量、运算符、表达式、程序结构、过程等程序设计语言所涉及的概念;没有把逻辑与编程解题思路放在主体地位上,对如何分析和解决问题讲得不够,对学生编程的能力和上机解题的能力训练不够。许多学生在学习程序设计语言的课程时觉得枯燥难学,学过之后不能用来解决实际问题。在这样的教学模式培养之下,学生虽然学习了一定量的程序设计知识,但缺乏对知识的整体把握,动手编程的能力较差,甚至部分学生遇到实际问题就无从下手。所以系统化程序设计思维培养模式的研究已经迫在眉睫。

二、 国内外现状

1) 成功地解决了计算机文化基础的,但未解决程序设计的入门问题。

90年代,计算机文化基础课进行了一场大的改变,就是由以计算机操作入门代替了程序设计语言入门,事实证明这场改革是正确的,在计算机的普及教育中起了重要作用。这种改革表面上是改了入门的内容,而实质是抛开了程序设计这个让人头痛的课程。这一点无疑是正确的,因为非计算机专业,一般情况下没有必要编程。但是这种改革并没有从根本上改变计算机专业的状况(特别是软件专业),因为程序设计类课程不仅是计算机专业学生的必修课程,也是其他理工科学生的必修课程。一名计算机专业的本科生要学习五至八门程序设计课程,一名其他理工类的学生也要学习三门以上的程序设计课程,那么如何通过这些课程的学习培养学生的系统化程序设计思维就显得尤为重要。

2) 大部分教材是为设计师门介绍新语言的,但不适宜初学者。

介绍一门新程序设计语言,当然是指为已有程序设计基础的设计师门介绍新语言的,重点是介绍语句的格式和功能,是一本操作说明手册。而对刚入校的学生来说就不能用这种方法了。因为程序设计思想,是一种逻辑思维,是必须有一个过程才能培养起来的。就像学英语一样,不是教完单词和语法,学生就能写出好作文。市场上的程序设计课教材,基本上即是入门教材也是进修教材,给入门者用太难,给进修者又提供不了多少帮助。所以必须全面刷新程序设计课教材的体系。

3) 部分教材涉及前导课程太多,使初学者望而生畏。

近几年,市场出现的《程序设计》高职教材涉及前导课程太多使初学者望而生畏,经常听教师说学生基础太差,学不好。说实在的,由于大学扩展,高职层次生源质量有所下降,前导课程学得不好的比较多,所以应尽量去掉一些非必须的高等数学、逻辑推理、咬文嚼字等方面的内容。所以最好只涉及计算机文化基础课及中学前语文、数学课。

三、 程序设计语言与程序设计是有区别的

随着程序设计学科的发展,程序设计思想经历了从简单的顺序计算到结构化的程序设计,再到面向对象的程序设计的发展过程,形成了一整套的思想理论和思维方法。程序设计过程本身就是系统化的过程,首先要对解决的问题有一个系统化的认识,从整个系统的观点出发,设计出整体模型,进行功能模块的划分,然后在整体的程序设计风格的基础之上编写程序代码。

我认为程序设计语言课与程序设计课是有很大的差异的,程序设计语言是介绍语句的格式和功能,重点注意一些不同点就可以了。程序设计语言课是为已有程序设计基础的设计师门介绍新语言的做法,而对刚入校的学生来说就不能用这种方法了。因为程序设计思想,是一种逻辑思维,是必须有一个过程才能培养起来的。就像学英语一样,不是教完单词和语法,学生就能写出好作文。

四、 传统的课程体系及效果

现在计算机相关专业的教学计划中一般都开设了“程序设计”课程,有的为了增强编程能力,先后开设了多种面向过程的程序设计语言,如:QBASIC、FOXPRO、C语言,接着又开设了多种面向对象的程序设计语言,如:VB、VF、VC语言,这种一门接一门的开设,暂且称为单语言串行教学体系。各学校开设情况有所不同,有的开6门,也有的开4门,还有的只有2门,我们在此不来评说该开几门语言课或该开哪几门好一些。这种教学安排对教师来说可利用市场上现成的教材,对学生来说最大的好处就是当学生毕业时求职表上可以多几门课的成绩,也就似乎多了几种能力,找到工作的可能性似乎就大,其实90%的同学根本就不敢去找编程的工作。[2]每门课长期沿用这样的教学模式:过于注重语句、语法和一些细节,基本上是以程序设计语言自身的体系为脉络展开,学生每学习一种语言就要学一遍诸如常量、变量、运算符、表达式、程序结构、函数过程等程序设计语言所涉及的概念;没有把逻辑与编程解题思路放在主体地位上,对如何分析和解决问题讲得不够,对学生编程的能力和上机解题的能力训练不够。许多学生在学习程序设计语言的课程时觉得枯燥难学,学过之后不能用来解决实际问题。在这样的教学模式培养之下,学生虽然学习了一定量的程序设计知识,但缺乏对知识的整体把握,动手编程的能力较差,甚至部分学生遇到实际问题就无从下手。所以系统化程序设计思维培养模式的研究已经迫在眉睫。[3]如果我们在开课门数和总课时数上不变的条件下,我认为计算机有关专业,特别是高职学院的程序设计课应采用分期多语言并行教学,即要求教师同时用多种程序设计语言教学,同样要求学生同时用几门语言书写和调试程序,如果按这种方法进行一下课程体系调整,就能使学生毕业时既学了多门程序设计语言、又能有较强的编程能力、求职时真正能达到专业对口、并且很快地参与到软件开发课题中。

五、 多语言并行教学的可行性

多语言并行教学最大的疑惑是学生是否受得了?效果是否有改进?我们以小学生六年的部分学习课程来考察,列出如下表,设共有6年,每年均开六门课(数学、语文、英语、体育、音乐、政治),则开课的顺序是按行顺序:A行B行C行D行E行F行(即第一年只开数学),还是按列顺序:1列2列3列4列5列6列(即6门课同时开),不言而喻按列顺序好。若按行顺序,即单门串行方式,在学三年级数学时大多会出现语文跟不上的现象,导致许多学生放弃学业,这时数学也就是三年级水平,而语文及其它课程均未入门。如果真是这样开课每年不知要新添多少文盲。若是按列顺序,即多门并行方式,即使学三年级数学时遇到困难,放弃学业,这时的数学是三年级水平,而其它课程也同样也是三年级水平,况且这种现象很少会出现,80%的学生都能小学毕业。这时他们的各门课的能力基本上是均衡发展的。

若将QBASIC、FOXPRO、C、VB、VF、VC++语言比作数学、语文、英语、体育、音乐、政治六门课。每一门课都分为一到六章。

从上表分析得到:按列顺序1列2列3列4列5列6列,开课效果好,并且由于程序设计语言是大同小异,同一序号章节的内容基本相同,正是因为这一点,也许会有人说,一个学期开一章是不是太少?这样教师才会有大量的时间讲程序设计的思想,就能由小到大的讲应用。学生也会有大量的时间练习和思考,当然可根据难易程度也可多章合并。象数学课一样,逻辑思维能力逐步加强,是最能体现高职特色的一种教学体系。根据各校情况不一样,可将各学期开设的内容分别称为“程序设计入门”、“初级程序设计”、“中级程序设计”、“高级程序设计”、“面向对象程序设计”、“软件开发技术”。

六、 多语言并行教学安排

其中的课时数应根据学校准备开设的语言门数进行适当的增减。建议一般开六门语言用课时;4门语言用48课时;2门语言用32课时;即可分周完成,也可分期完成。

计算机函数入门教学范文2

关键词: 中职学校 《全国计算机等级考试一级B教程》 教学方法 激发兴趣

随着信息技术应用的广泛深入,《全国计算机等级考试一级B教程》这门课程已成为各类中等职业学校学生必修的基础课程之一。本课程的教学任务是使学生了解和掌握计算机的基础知识,掌握计算机的基本操作技能,熟练掌握办公软件的应用和WINDOWS的基本操作。由于职业学校课程设置相对比较紧,如何让学生在较短的时间内迅速掌握计算机的基础知识和基本操作技能,是摆在全体职业学校计算机老师面前的紧迫任务。下面笔者结合从教计算机教学多年的经验,谈谈自己的看法。

1.合理制订教学计划

一般来说,《全国计算机等级考试一级B教程》是计算机学科教育的入门课程,是所有专业学生学习计算机的第一门课程。由于本课程是一门实践性很强、内容涉及面广的课程,而且学完之后又要参加全国计算机等级考试(一级B),因此合理制订好教学计划起着至关重要的作用。

基于我校的实际情况,本课程的教学大致安排如下:

教学时间安排:每周4学时,计划教学周数18周,总课时数72学时。其中理论教学26课时,实践教学36学时,习题2课时,复习、机动各4课时。主要教学内容包括①计算机基础知识,②windows XP操作,③word的使用,④excel的使用,⑤网络基本操作,⑥汉字输入等。

通常一学期一般是18教学周左右,再考虑到全国计算机等级考试的考试时间安排,在安排教学计划时一般只安排一学期的教学时间,即新生入学的第一学期安排本课程的教学。第二学期在学生临考前的半个月时间内安排8课时的考前训练。

2.凝聚备课组的力量,精心组织每一堂课

个人的力量是有限的,集体的力量才是无穷的。。备课组学期初要统一制订活动计划,包括教学计划、学生活动计划等,组内成员分工明确,各司其职,正所谓“众人拾柴火焰高”。大家分工合作,形成合力。每周有固定的时间集体备课,在集体备课的基础上融入个人特色,精心组织好每一堂课。备课组内成员的备课内容体现了共性和个性的兼顾。课堂内容组织的好坏将直接影响到教学计划执行的效果的强弱。

(1)精讲多练,从练习中发现问题和解决问题。

对于实践性很强的课程,让学生亲自上机动手实践远比听老师讲要有效得多。有时老师耐心细致地讲解,不如让学生自己动手操作。学生可通过操作发现问题,再通过老师适当地点评或同学之间协作解决问题,这样不仅老师教学省力,而且可以培养学生的协作精神,教学效果更好。所以每节课在对新知识进行必要的讲解、演示后,应立即结合本节课的重点、难点布置一些练习,让学生亲自动手实践,在实践中把握真知、掌握方法。在练习的过程中,针对学生各种不同的问题,老师要随机辅导,并把学生掌握得比较薄弱的地方总结出来,再次演示和讲解。笔者在讲授章节Excel函数的使用时,对于Sum、If等函数学习时曾经采用两种方法对比。第一种方法:老师先讲,学生后练,以老师讲为主。第二种方法:老师先简单讲,然后学生练习,再经过老师适当点评,再让学生练习。以学生练习为主,几乎绝大多数时间让学生操作。第二种教学方法的效果要远远好于第一种。

(2)激发学习兴趣,挖掘学习潜力。

“兴趣是最好的老师”,只有学生对所学内容产生浓厚的兴趣,才会产生强烈的求知欲望,只有对所学的知识产生兴趣,才会对学习产生积极性和坚定性。初学计算机时,由于好奇心驱使,大多数学生学习积极性很高,但随着在学习过程中遇到这样或那样的困难,就会产生厌学情绪。因此,激发学生学习计算机的兴趣是教学成功的关键。在教授《全国计算机等级考试一级B教程》这门课时,可根据本科教学内容和学生的认知能力,设法运用各种适当的教学手段和方法吸引学生,激发学生的学习愿望和兴趣。

计算机函数入门教学范文3

【摘要】在高职院校,计算机是一门很重要的学科,而《C语言程序设计》则是计算机学科中一门基础专业课

程,如何让基础比本科生差的高职院校的学生去学好这门课程,是许多高职院校计算机专业课教师的难点。

本文是笔者在C语言教学过程中的一些教学改革,希望对调动学生的积极性和教师素质的提高起到一些促进

作用。

【关键词】C语言实验教学高职院校

一、引言

C语言是一门各大院校的基础计算机课程,等级考试二级的考试语言。并且C语言是一种通用性计算机

程序设计语言。它兼有汇编语言和高级语言的双重优点,运用它既能编写操作系统软件,又能开发各个领域

的应用软件。C语言计算机语言的入门基础语言,学好了C语言,不管今后再学习其他各类语言,就有了坚实

的基础。但是在职校,学生本身的基础就比较薄弱,又缺乏学习的主动性和自觉性,很多学生只能简单的掌握

C语言的一些基础知识,像函数调用,指针的引用,结构体,共用体的知识点就掌握不了了,而且C语言是

没有固定的计算机老师来教授的,几乎任何计算机老师都上过这门课程,但大部分老师都没有精力去钻研

这门课程,基本操作也不熟练,调试程序也难通过,这样一来学生就出现厌烦,消极的情绪,达不到实验

的教学效果[1-2]。

二、网络环境下C语言实验系统的设计

1、系统设计思想

C语言实验系统具有比较完备的C语言知识体系的介绍,有培养兴趣的综合性实验设计题,具有出现各种

问题的解决方法和资料库,这个系统是用JSP开发B/S模型的网络环境下的C语言实验系统[3]。

2、系统设计模块

(1)新手上路模块:主要是介绍C语言的入门基础知识。

(2)基本操作模块:主要是介绍调试环境。

(3)进阶实验模块:每一实验章节都有50道实验题,学生可以抽取调试,不会的有答案介绍。

(4)问题中心模块:学生可以提问,老师定时回答。

(5)专题汇总模块:包括计算机等级考试二级的模拟试题,在线模拟考试,评分。

三、实验教学过程

严格制定C语言实验课的成绩和评分标准,课后严格要求学生填写实验报告。以2010级计算机软件(1)

班为例,学生实验课按学号和姓名上机登陆,根据自身的能力选择题目的难易进行实验,进入相应的章节

,题目会自动出来,然后根据题目编写和调试程序,上机老师随机抽出实验题目,由老师边调试边讲解让

学生记住常见语法错误和熟悉调试程序的过程,这样对学生既有压力又有动力,学生可以学到知识(实验

教学过程如图1所示)。

选择难度低又完成较早的同学可以重新登陆,选择难度较高的题目再做,对于学习好的同学在完成自已的

实验任务后可以进入C语言的在线学习,遇到问题可以自已查找资料学习,遇到的难题可以在线和老师同学

交流。

在这样的教学过程中,学生开始慢慢对C语言编译器有了进一步的了解,对编译器的提示也开始看得懂了,

对调试程序也有了兴趣,可以在线讨论,学生在这里可以交流心得体会,好奇和求知欲在他们体内逐渐膨

胀。

四、教师素质的提高[4]

"双师型"的教师要求教师既要能将课上好,又要能将实际应用带入课程,使教学从实践中来,又服务于实

践。随着教学改革的深入,现代教育技术和成果的应用,以及应用型人才培养的需要,对老师素质提出了

更高要求。在将实验平台搭建于课堂之上后,由于是在课堂上编写程序,而不是已编写好的程序的展示,

这就要求老师具有良好的计算机编程工具的使用能力、字符输入能力和程序设改革以往的考试由任课老师

自己命题并且考核成绩为平时成绩(30%)+考试成绩(70%)的模式,实现教考分离,准备建立网

上考试系统,把平时测验和期末考试有机地结合起来。严格按教学大纲要求建立高质量的试题库,并根据

教学的发展积极探索考试内容和方法的改进,不断的充实和完善试题。

五、结束语

采用在网络环境下C语言实验教学系统进行教学以来,老师不用对同一错误讲解多遍,几乎所有学生都

会参加程序的调试,老师和学生配合得更好,形成了良性循环。本着教学内容突出基础理论知识的应用和

实践能力培养的原则,以应用为目的,以"必需、够用"为度,加强针对性和实用性,教学效果显著。但在

实验前学生无法知道实验内容和题目而进行准备,还有些学生由于底子薄自学能力和动手能力不够高,在

具体实验过程中无法完成实验任务,所以在今后的C语言教学实验过程中还须做进一步的进行改革和摸索。

参考文献

[1]徐章艳."C语言程序设计"实验教学的探讨[J].电子电气学,2004,(2):84-85

[2] 孙仲廷.《试讨论如何实施C语言实验教学》省略

[3]杨红云,邱晓虹,于义科.计算机相关专业适应市场需求的教学改革初探[M].江西人民出版社,

计算机函数入门教学范文4

关键词:QBASIC;数学思维;编程

中图分类号:TP301.6文献标识码:A文章编号:16727800(2012)008004802

。0引言

在计算机编程语言中,QBASIC是一种比较灵活的程序设计语言,也最容易入门,它主要培养学生的程序设计能力和程序阅读能力,它的语言比较接近生活语言并和数学语言相通,下面我们就来谈一谈怎样利用数学知识解决程序设计的问题。

1文本作图实例

在学习QBASIC语言时,经常会遇到许多输出各种文本图形的程序设计题,QBASIC语言能够较好地实现文本作图,所谓文本图形是指在文本方式下,用QBASIC语言的PRINT语句显示字符,组成有规律的图形,这种绘图方式称为文本作图,在QBASIC的文本方式下,屏幕从上往下共有25行,每行从左往右可显示80个字符,绘制一个文本方式下的图形,需要确定4点:①用什么字符组成图形;②每一行有多少字符;③每行首字符在屏幕上的位置;④这个图形由几行字符组成。

文本作图是QBASIC语言中循环结构的一个重要应用。循环语句,首先:要确定循环体,即被反复执行的程序段;其次:确定循环体循环的次数。

图1文本图形一

如图1,面对这样的文本图形,我们怎样实现编程呢?总体原则应是化繁为简,由点到线,由线到面,点即打印一个星号;线即打印一行星号;面为整个图形文本。

我们知道打印输出命令用“PRINT”,输出格式中,分号表示相连输出;逗号表示间隔输出,PRINT后面不带任何参数表示换行,每行星号前有空格,我们可以用PRINT TAB(表达式)来指定每行首个星号的输出位置。

分析文本图形,找出图形中最具有代表性的一行,如第4行,编写打印第4行的程序段:

PRINT  TAB(2);

FOR J=1 TO 7

PRINT“*”;

NEXTJ

PRINT

打印第1、2、3、5行的编写方法与之相似,只是循环的终值和每行的位置在变化,设置变量Y,M。Y用来确定每行的字符数,M用来确定每行第一个字符的位置,通过以上分析,每行的程序段都可以由下列程序段实现,即

PRINTTAB(M);

FOR J=1 TO Y

PRINT“*”;

NEXTJ

PRINT

该图形共有5行,执行该程序段5次,即循环5次,如下:

FOR X=1 TO 5

PRINTTAB(M);

FOR J=1 TO Y

PRINT “*”;

NEXTJ

PRINT

NEXTX

通过上面的程序段我们发现,外循环控制图形的行数,内循环控制每行的字符个数,每行字符的起始位置也不一样,这些变量的对应关系,从表中可以看出。

表1变量对应关系一行数X12345起始位置M54321字符个数Y13579根据表1中关系,通过描点法,在直角坐标平面内画出对应的点,连接这些点所成的直线,就是函数的图像,如图2、图3所示。解出函数方程式为Y=2X-1和M=6-X,代入程序段中,完成程序:

图2函数图像一图3函数图像二

FOR X=1 TO 5

PRINTTAB(6-X);

FOR J=1 TO 2 *X-1

PRINT “*”;

NEXTJ

PRINT

NEXTX

END

将图1变化为图4所示。

图4文本图形二图5函数图像三图6函数图像四

由于图4上下对称,在编制程序时,外循环的变量也设置为对称。程序段如下:

FOR X=-4 TO 4

PIRNTTAB(M);

FOR J=1 TO Y

PRINT“*”;

NEXT J

PRINT

NEXT X

变量的对应关系如表2所示。

表2变量对应关系二行数X-4-3-2-101234起始位置M543212345字符个数Y135797531根据表2中关系,通过描点法,在直角坐标平面内画出对应的点,连接这些点所形成的曲线就是函数的图像,如图5、图6所示。解出函数方程式为Y=9-2|X|和M=|X|+1,将函数方程式Y,M代入程序段,完成程序:

FOR X=-4 TO 4

PRINTTAB(ABS(X)+1);

FOR J=1 TO 9-2*ABS(X)

PRINT“*”;

NEXTJ

PRINT

NEXTX

END

2结语

通过以上分析可以看出,这些文本图形都有共性的方面, 即每行的位置、每行的列数在变化中,以变量的形成编制出共同的程序模块,结合实际图形,运用数学知识找出图形的行数与这些变量之间的关系。。

总之,计算机教学是一个根据社会发展和技术发展而“与时俱进”的教学,只要我们不断地在教学和实践中去体现、发现、总结,一定能够构建一种适合学生和计算机专业特点的科学的教学模式及教学方法。

参考文献:

\[1\]黄敏.浅析程序设计与数学的关系——C语言程序设计为例\[J\].重庆工贸职业技术学院学报,2007(3).

计算机函数入门教学范文5

关键词:C语言;实验;教学改革

;马士明(1983-),男,山东滨州人,滨州学院计算机科学技术系,助教。(山东滨州256600)

基金项目:本文系滨州学院教学研究资助项目(项目编号:BZXYJYXM200737)的研究成果。

中图分类号:G2.423     文献标识码:A     文章编号:1007-0079(2012)10-0118-02

C语言以其结构化、灵活性好、可移植性强、效率高等优点被广大院校理工科专业选为程序设计的入门课程。[1]随着应用型人才培养改革的不断深入,学生培养目标和教育教学理念也不断更新,但自进入高校课堂20余年来,受传统应试教育的引导,大都将授课重点放在C语言的基本语法的理论讲授上,而实验教学大多用于C语言的语法规则的验证和说明,这种教学模式仅从语言的使用这个单一的角度进行教学而使得大多数学生在学完之后吃不透、用不活所学语言知识。。本文从C语言的特点出发,对如何在当前课时、实验资源有限的情况下,通过实验教学促进、完善课堂教学效果,培养学生实践能力、创新能力和应用能力进行了深入的探讨与实践。

一、改革实验教学内容

在应用型人才培养模式下,实验教学的组织要兼顾实践性与创新性。我们在原有教学大纲的基础上,根据电子信息类专业的特点重新修订了实验大纲,教学内容中提高了设计性和综合性实验的比例。

1.改革实验内容组织结构

为了不影响专业教学计划,又能保证实验教学改革的顺利进行,我们结合理论教学进度,编写了相对开放的实验教学大纲和讲义,将实验分为基础性实验、设计性实验和综合性实验三个层次,又将每个层次的实验内容分为必做和选做两类,以供不同专业按要求进行灵活选择。根据理论教学进度安排基础性实验,让学生熟悉编程、调试环境,掌握基本指令并学会简单编程,加深对课堂理论教学内容的理解;在单元章节之后安排设计型实验,采用任务驱动教学法,验证性与应用性实验相结合,在完成基础性实验的基础上,逐步丰富功能要求,并要求学生在实验报告中加以总结归纳,培养学生的综合思维能力;综合型实验其实是一个开放性试验,安排于每个知识单元或模块(从知识的角度出发,于理论教材编排)完成之后,每一个项目只给出具体的功能及性能要求,对具体方法不作要求和指导,并将一个实验课题分为设计、调试、总结、改进等几个进程,先由学生根据题目要求完成功能设计并通过调试,再由教师根据学生的设计从功能及性能方面进行有针对性的分析讲解,进而提出设计建议,然后由学生完成设计改进并写出实验报告及分析总结,以达到实践性与创新性的同步提高。

2.创新实验内容

目前,高校教学过程中所用教材及参考书大都以普教为目标,极少有针对专业或行业的例题和习题出现,而各高校开设的C语言实验教学内容恰恰大多为所用教材或参考书的习题。这类经典习题专业针对性差,对学生来说缺乏趣味性,用以进行功能验证尚可,但对于能力提高或创新教育的确是勉为其难了。而且随着网络等学习资源的普及使得问题的解决极为简单,学生仅需上网搜索一下即可得到完整答案,于是实验课程就成了简单的验证,很难起到锻炼和提高的作用。

为此,我们专门针对电子信息类专业的特点精心设计了实验内容,基础性实验采用经典案例,针对性强,利于学生的入门学习;设计型和综合型实验尽量选择与学生专业相关的项目,如数字滤波的实现、数据分析与验证等。这样一方面能够贴近学生所学专业,使学生不但学会了C语言,而且使得C语言有了“用武之地”;另一方面,在实际学习过程中,能够将学过的其他专业知识融入进来,提高了学生的兴趣及学习积极性,对其他专业课程的学习以至学生的学习风貌与学习态度起到了积极的推动作用。

二、改革实验教学模式

随着各高校对高等教育应用型人才培养改革的不断深入,各专业的教学内容有了较大幅度的修改和增加,在实际教学安排中“C语言程序设计”的理论与实践课时都进行了一定程度的压缩,为保证实践教学效果,在组织教学时进行了一些改革。

1.推行任务推动教学

随着计算机技术的应用与发展,C语言作为各理工科专业的程序设计入门课程,其培养方向应该是掌握程序设计及调试的一般方法,所以在实验教学组织中应以程序设计为主线,有意识地淡化C语言本身语句、语法的介绍,并积极推行典型算法与案例教学相结合的方法,通过精心设计与编排,将复杂枯燥的语法知识分解到每个生动、有趣、实用的程序实例中,把软件工程学的思想贯穿于算法分析和程序设计的过程中。例如,在每个知识单元开始之前先提出一个典型问题,如“业绩提成计算”、“数据排序”等,从问题入手,然后循循善诱,通过任务的分解、解决、综合逐步加以解决,这样不但使学生在程序分析与解决中掌握了相关语法,而且程序设计和解决问题的能力也得到了极大的提高。[2-3]

2.突出结构化程序设计特点

结构化程序设计是C语言程序设计的一大特点,而在当前的教材中却极少涉及到相关的实例,从而使得结构化程序设计在C语言教学中成了一句实实在在的空话。有些学生平时学得很认真,对语法、语句等细节也很熟悉,但碰到稍微复杂一点的编程则无从下手。在教学中,教师应该将现代程序设计的相关理念传授给学生:一般来讲,一个较复杂的软件常可以按功能分割为若干个典型的小模块,每个小模块最终都成为功能单一、结构清晰、接口简单、容易理解和编写的小程序,而加工对象――“数据流”就是将这些模块串接起来的“主线”,只要让学生掌握了典型的算法就可将这些算法变成像搭积木一样组装成相应软件的算法。

如在学过数组部分后,教师给出一个由计时函数GetTickCount()、格式输出函数printf()函数、格式输入函数scanf()一起构成的能够测试人的反应时间的“反应计时器”函数。在此基础之上布置学生设计主函数和相关函数,通过调用“反应计时器”函数完成两个个体各一组样本的采集(如各采集并存储10个的反应时间),并计算各自平均值、标准差等指标;进而进行t检验,对个体差别进行分析验证。这样不但使学生学会了相应的算法实现,而且对结构化程序的灵活性和易于扩展等特点及工程应用中的程序设计方法有了较为深刻的理解,同时对工程数学中较为“死板”的统计与检验内容的实际应用有了一个感性的认识,达到了实践能力与创新能力共同提高的培养目标。

另外,在教学过程中,教师还应有意识地总结归纳一些典型算法,并作为验证型实验内容,要求学生熟练掌握,如累加、累乘、查找、排序等,在后续设计型和综合型实验中将相关内容加入,使得学生能够用会、用活,为以后的程序设计奠定基础。同时,典型算法的熟练掌握也可增加学生学习计算机语言的信心,并提高学习兴趣。[4]

3.充分利用多媒体及网络教学平台

多媒体课件具有演示直观、动态性强等特点,易于被学生所接受和理解,尤其对于实践教学,多媒体课件能够进行直观的演示与模拟,满足了实验教学的要求,把难以理解的内容或不容易观察到的事物用多媒体充分显示出来,调动学生的视觉直观功能,为突破难点创造出良好的氛围,有效地弥补传统教学的不足。

运用网络教学平台进行课后习题的布置与讨论,引导学生提出问题并找寻解决方案。一方面,充分节约了课堂教学时间,缓解了课时不足带来的影响;另一方面,能够将更多的学生吸引到问题的分析与讨论中,“讨论出真知”――相对课堂教学而言,网络讨论扩大了讨论的参与面,能够最大限度地穷尽并纠正学生在问题理解过程中可能出现的问题,极大地提高了学生的学习积极性与学习效果。

4.强化实验教学过程管理

C语言是一门实践性很强的课程,除了要把理论知识学好外,上机实践也是相当重要的一个关键环节。学习中存在的疑点或难点,学生可通过上机调试得到明确解答,同时也加深对学习内容的理解。对学生而言,在每一次的上机前应做好充分准备,编写好上机内容;对上机中出现的问题应能调试分析,编写实验报告,分析程序结果。学生只有反复上机操作才能对C语言有更深、更全面的认识和理解,逐步提高实际操作和学习的能力。对教师而言,应精心设计上机实验内容。设计上机内容时,尽量把所学的内容综合起来,达到知识的系统化。同时,也可布置一些趣味性较浓的内容,以提高学生的学习兴趣,变学生的被动学习为主动学习。另外,上机内容尽量结合学生专业,让学生觉得学有所用。

三、改革实验教学评价模式

注意综合素质的培养与评价,在“C语言程序设计”期末考核中采用实验与理论考核相结合、平时成绩与期终考核成绩相结合的综合考核评价方式,并采用实验教学成绩一票否决的形式,从而改变学生在以往课程学习中“重理论,轻实践”的思想,激发学生学习的积极性与自主性,尤其在创新性培养上。具体做法是摒弃原先那种以对错判分的一刀切的评价方式,在平时教学中对学生实验完成的成绩评判要采用个案分析的方法,在充分理解学生设计意图的基础上因势利导,对设计中的创新之处或闪光点要给予充分的肯定;对不足和错误之处要帮助学生仔细分析,然后由学生自己总结改正,以提高学生的自信心,保护其学习兴趣,最后根据学生的完成情况及钻研态度进行综合评判。

四、总结

任何一种程序设计语言都有其独有的语法特点,作为程序设计入门课程的“C语言程序设计”也不例外,但是,应该认识到在高校C语言教学中,学习语法不是学习程序设计语言的真正目的,而是应该在掌握语法的基础上,通过学习与实践,真正地学会使用C语言来解决各种实际问题,进而使学生掌握程序设计思想,真正成为学生进入程序设计领域的“敲门砖”、“导航灯”。通过对近两年的学生期终理论考试成绩对比分析发现,改革前后对于语法部分的得分率没有明显变化,而综合编程题的得分率比以前有了大约25%的提高,且学生学习的积极性比以前有较大的提高,课程结束后不少学生又通过计算机等级考试等各种形式进行了进一步的学习与提高,C语言实践教学改革取得了理想的效果。

参考文献:

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

[2]郑人杰,马素霞,殷人昆,等.软件工程概论[M].北京:机械工业出版社,2001.

计算机函数入门教学范文6

关键词:程序设计基础;数据结构;计算思维;教学衔接

0、引言

程序设计基础与数据结构是计算机类专业的两门专业基础课,在计算机类专业教学中具有举足轻重的作用,都旨在培养学生的编程能力和计算思维能力,并为后续课程打下坚实的专业基础,但在这两门课程的教学过程中,存在一系列问题,严重影响课程的教学效果。笔者分析和研究产生这些实际问题的原因,对这两门课程的知识融合、内容衔接以及教学实践等进行探讨,提出切实可行的解决方案,更好地实现两门课程的教学目标。

1、课程教学内容和教学目标

程序设计基础课程是学生接触的第一门专业基础课,也是进行计算机编程的入门课程。课程的教学目标是使学生掌握程序设计的基本方法,培养其拥有良好的程序设计风格、较强的软件开发能力以及一定的计算思维能力,为后续课程打下良好的基础。

数据结构是继程序设计基础课程之后的一门综合专业基础课,是计算机类专业的核心课程之一,具有举足轻重的作用。它是程序设计基础课程所讲知识的自然延伸和具体应用。对数据结构的理解、掌握和应用拓展,将对学生解决具体实际问题时的数据分析、数据组织、数据处理和编程能力有着深远的影响。课程的教学目标是培养学生缜密的逻辑思维和数据抽象能力以及学生在软件设计领域中科学的计算思维能力,帮助学生将数据结构和算法与具体的编程实现相结合并灵活地应用到实践和工程实际中。

2、两门课程间的关系

从程序与数据结构本身的关系来说,一个好的程序离不开合适的数据结构,而数据结构中算法的实现离不开具体的程序设计。。在课程设置上,程序设计基础是数据结构的前导课程,两门课程一脉相承,不可分割。

学生对程序设计基础课程的掌握程度、具备的计算思维和编程能力,直接关系到以程序设计语言实现算法的数据结构课程的教学效果。数据结构课程通过创造性思维的训练,重点突出数据抽象与程序抽象能力的培养,从而进一步提升学生的计算思维能力和编程能力,但两门课程在实际教学中存在一些问题,主要原因是课程设置、教学内容、教学方法和教学实践方式等多方面存在缺陷。经分析,对程序设计基础和数据结构课程进行知识整合和内容衔接,采用适当的教学方式,改进教学实践是探讨和研究的主要内容。

3、两门课程在实际教学中存在的衔接问题

3.1 两门课程教学内容的脱离

。尤其是先行课程序设计基础的教学内容和课程案例完全脱离了数据结构课程,使数据结构中最频繁使用的知识和内容在程序设计基础课程中甚少提及,不能为数据结构课程的讲解打下扎实的程序设计基础。

3.2 程序设计编程语言与数据结构实现语言不一致

程序设计基础课程所教授的编程语言与数据结构教材或实验所使用的实现语言不一致,如将C++语言作为程序设计基础的教授语言,而在数据结构的实现上选择c语言或Java语言,以至于数据结构的理论教学与具体上机编程实现脱节,严重影响了上机实验和课程设计环节。

3.3 程序设计方法与数据结构实现方法不一致

程序设计基础课程中或注重面向过程的程序设计方法,或注重面向对象的程序设计方法,但在数据结构课程中却很难利用前导课程中学到的程序设计方法实现相关的数据结构和算法,从而影响了学生对数据结构课程知识的应用与实现。另一方面,学生在学习过程中没有充分理解数据结构课程的作用和实际意义,以至于在实际项目和问题中不知使用什么方法(面向过程或面向对象)分析解决问题,不知如何运用数据结构知识解决实际问题。

3.4 前导课程对后续课程实践环节的影响

数据结构实验环节相对课堂理论环节较薄弱。此问题的存在多半是因为数据结构具体实现的关键技术在程序设计基础课中未被讲解或强调,在进行数据结构算法从理论到伪代码、再由伪代码到真代码转换的过程中难以真正编程实现,使学生对数据结构的理解和掌握仅停留在抽象层、概念层、理论层,难以上升到实现层,从而影响学生的学习兴趣和积极性。。

3.5

提高学生计算思维能力是程序设计基础和数据结构课程共同的目标。计算思维是抽象的多个层次上的思维,而抽象是表达实际的方法。。

。数据结构中的知识又太抽象,如果缺乏相应的实际案例对抽象知识加以应用,那么就会导致学生不知道怎样将所学的知识应用到实际中,缺乏具体问题具体分析和解决的能力。

3.6 教师本身知识结构欠缺,上机实践指导教师数量不足

授课教师知识结构的缺乏将导致一些现实问题:如果程序设计基础的教师不懂数据结构,那么其自然不会将相关知识引入课堂,同时也缺乏用所教授的语言具体实现数据结构中结构和算法的能力;如果数据结构的教师缺乏相关编程语言知识,那么就会给上机辅导带来困难。同时,两门课程具有很强的实践性,若上机实践辅导教师不足,将不利于学生编程能力的提升以及相关软件大赛学生的培养和辅导。

针对以上实际教学中存在的问题,可知为提高程序设计基础与数据结构课程的教学效果,根据计算机类专业这两门课程教学内容和目标,对两门课程进行知识整合和内容衔接的必要性,对课程衔接的方法和思路等进行探讨势在必行。。

4、程序设计基础和数据结构课程衔接的新方法和思路

4.1 做好两门课程教学内容的融合和衔接

教师需紧密结合计算机类专业的培养目标,精心设计程序设计基础和数据结构课程的教学内容,既要满足课程的专业基础性,又要满足后续课程学习的需要,严密制订教学大纲,做好程序设计基础与数据结构教学内容的衔接以及相关教材的选定。

。。例如,教师讲数组时可引入几种数据结构中简单的排序算法冒泡排序、选择排序等;讲完指针和结构体后可引入最基本的数据结构――链表;讲完嵌套函数调用后可引入“递归”,它是数据结构中解决问题的常见思想和算法,可以通过简单的递归函数帮助学生理解递归思想和递归调用过程,这些是理解数据结构中复杂递归函数的基础。在程序设计基础教学中,只讲递归函数的简单应用,而在数据结构教学中,需要介绍递归函数的复杂应用:栈、树、八皇后问题、N个数的全排列等。围绕“递归”这一重要知识点,从易到难并结合课程本身特点进行理论分析,将有益于整合课程教学内容,引导学生循序渐进地学习和思考。

针对在程序设计基础课程中不重要但在数据结构及算法中被广泛使用的知识点,教师需要在讲解程序设计课程时将其点出并告诉学生此知识在后续数据结构课中的重要性,引起学生对该知识点的兴趣和重视,如指针的灵活使用、结构体类型的复杂应用、类型重命名、类的拷贝构造函数(深拷贝)、函数模板、类模版等。

同时,教师要对程序设计基础课程内容进行适当补充和扩充,如增加c++函数模板、类模板的相关知识,为将泛型程序设计、c++的STL引人数据结构课程奠定知识基础,缩小教学知识与实际运用的距离,提高学生的动手编程能力和知识运用能力。

4.2 保证程序设计编程语言与数据结构实现语言的一致

程序设计基础课程所教授的编程语言要与数据结构教材或实验所使用的编程语言一致,这样不仅能大大提高学生的编程能力,还有利于数据结构课程的上机实现。

4.3 将面向对象思想引入程序设计与数据结构中

随着程序设计方法从传统的结构化程序设计演化到面向对象程序设计,数据结构在面向对象程序设计中也将成为面向对象的数据结构,且将随着程序设计理论和技术的发展而不断变化发展。在程序设计基础课程中讲授面向对象的编程语言如c++语言,既可以实现面向过程的数据结构,又能实现面向对象的数据结构。数据结构课程采用面向对象的观点讲授并以C++语言作为算法的描述工具,从而强化数据结构基本知识和面向对象高级程序设计基本能力的双基训练以及实际动手能力培养。在设计数据结构实践项目时,将面向对象的程序设计思想、面向对象的程序设计语言和数据结构课程教学内容恰当地融合,有效整合两门课程中的重叠部分,突出各自的侧重点,符合当前软件设计思想和软件开发趋势。

4.4 加强课程中计算思维能力的培养

在程序设计和数据结构的教学方法上,将面向语法为中心的教学逐渐转变为面向问题求解的教学,从问题出发采用适当的数据结构,将其抽象成解决问题的算法描述,用程序设计语言实现问题求解,使课程从过去的仅讲授孤立的知识点,转变为讲授计算思维和问题求解的过程,从而达到突出思维方法训练的目的。。例如,讲“图”时,可以把现在流行的复杂网络、社交网络引入其中;讲解“队列”时,可将春节买票引入其中,让学生从身边的例子理解理论知识的具体应用。对有些案例可以提倡“一题多解”,不局限于一种数据结构、解题思路和实现方法,通过一题多问、一题多解带动学生探索、比较、寻求更好的解决途径,达到学生分析解决问题能力的提高和计算思维能力的培养。

4.5 提升教师能力,配备充足的上机辅导教师

学校要加强程序设计基础与数据结构课程相关授课教师整体能力的提升。教师不仅要掌握自己所教授课程的知识,还要对该课程的前续及后续课程内容有所了解,便于维护教学的整体秩序和融合学生的知识体系。同时,教师要积极参与各种软件大赛和企业培训,将教授的理论知识和实际项目相结合,达到应用知识解决复杂问题的目的。此外,两门课程的上机实践环节要配备足量的辅导教师,不让学生输在编程入门的起跑线上。

4.6 依托程序设计竞赛,提高学生的编程能力

依托全国软件大赛、ACM大赛等程序设计竞赛,将竞赛题目引入程序设计基础和数据结构课堂中。此类题目强调考查学生对各种算法的应用能力,综合性较强,非常适合辅助学生学习和体会数据结构的妙用,提升学生分析和解决实际问题的能力,引导学生将所学知识准确而灵活地运用到实际生活中,大大提高学生的实践动手和程序设计能力,促进其知识的融会贯通。另外,通过竞赛等多种活动可以为学生提供展现程序设计能力的舞台,激发学生学习的主动性,培养其计算思维能力。

例如,在教授程序设计基础时,讲完逻辑表达式和多重循环结构后,可以将大赛中的逻辑推理题目引入教学中并引出常见的解题方法和思路一枚举法,从而加深对枚举法的认识。通过采用数据结构中的双向链表和线性数组两种方式实现大赛中常见的约瑟夫环问题。

4.7 引入OJ平台。加强课程实践环节

引人在线判题(Online Judge,oJ)系统,提高学生的实践能力。能力需要以丰富的知识作为支撑,而实践是能力赖以生长的土壤。在OJ系统中,学生可以在线提交程序源代码,系统对源代码进行编译和执行并通过预先设计的测试数据检验程序源代码的正确性。引入0J系统不仅可以辅助教师批改作业,减轻教师工作压力,还可以促使学生加强平时上机编程练习,通过编程排名方式提高学生的学习兴趣。OJ系统中拥有大量题库,可以让学生进行上机实践,培养自身的计算思维能力,提高编程能力。0J系统不仅可以作为程序设计基础课程的实践平台,还可作为数据结构课程的实践平台。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务