开篇:润墨网以专业的文秘视角,为您筛选了八篇函数教学实施报告范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
关键词: 初中数学 学讲计划 新授课 教学策略
“学讲计划”的有效实施体现于数学教学中,就是“新授课”形式的出现。新授课就是为了让学生自主探究某一个数学法则、定理,或者掌握解答问题的某种方法而进行的授课形式,它的主要任务就是要让学生通过自我知识的构建,完成从学懂到理解,从理解到掌握,从掌握到运用的学习过程。本文结合教学实践,对新授课实际应用策略进行了分析与讨论。
1.构建问题情境
无论是哪一种类型的新授课形式,都是以学生自主探究与合作学习为目的而进行的,所以问题情境的构建是新授课的第一步,而问题情境的“问题”应如何设计,应该更值得关注。笔者认为,创设数学问题情境,应从学生已有的生活经验中或者已有的知识结构中,找到问题起点,其目的是使学生能够在最近的思维发展区探索新规则。如在认识“全等图形”时,像这样的以概念教学为主的新授课,可以先为学生创设一个“概念情境”,首先让他们能够迅速地明白“全等”是什么,可以让学生回想或者观察一下自己身边的两张书桌、两扇窗户,结婚时贴的双喜字等,为接下如何证明全等埋下伏笔。然后,再构建问题情境:“怎样能够在不重合的前提下,画出一个与已知三角形全等的三角形?”这样的构建过程,让学生对三角形三边与三角及两者关系都进行了了解,而且在这个问题解决过程中,学生可能会找到“全等”的方法,也可能会找到“非全等”的方法,所以这是一个“证实”与“伪证实”的探究过程。在学生探究完毕之后,师生共同对证实方法进行梳理,教师引导学生将过程和结论进一步“数学化”,完成“提纯”的过程,这样学生就会完成从“已经达到”的水平向“新水平”跨越的过程。
2.基础性训练
基础性训练,是让学生将自己通过探究取得的知识与方法应用于数学问题的解决中,从而使其问题解决能力在一定的广度与高度上得到提高。它关注的是学生对掌握的方法如何进行实际应用,因此一般在新授课基础性训练环节,教师通常应采用先由学生独立解决,再引导其进行小组合作,最后进行陈述展示的方法,以达到巩固知识、提高能力的目的。如在讲到“一次函数的图像”时,先让学生猜想:“一次函数图像会是怎样的?”接着让他们尝试自己验证,如何在同一平面直角坐标系中画出“y=3x,y=-2x,y=-2x-3”(先独立解决,独立思考);然后在尝试中开始归纳一次函数图像的特征,并思考一次函数图像与位置之间存在怎样的关系(可以提议学生自由结组,合作完成);教师引导学生学生确定研究方法,学生在教师引导下得出了解析式中待定参数“k与b的值”与函数图像位置有关,这时教师进一步引导:对于两个参数函数问题进行研究时,可以先将一个固定,然后对另一个参数在“数”上的变化进行研究,就会发现因“数”而产生的“形”上的差异。最后让学生再次观察他们所画的四个一次函数图像,并派出小组代表回答当k相同,b不同和当k不同,b相同的一次函数图像存在怎样的关系?通过这种基础性训练,学生对研究函数图像的方法非常明确,同时也参与了整个研究过程,所以对知识有着更牢固和更深刻的理解,并且直接体验了研究函数图像的一般方法,对于方法的运用更得心应手。
3.拓展延伸
拓展延伸,就是让学生在理解和掌握的基础上,对知识进行再回顾、再认识与再总结的过程,通过知识的进一步延伸,让他们适当接触到与知识相关的更多的问题,从而使他们的知识、经验和思想得到深化。如在学习了“二次函数”之后,教师提出了解个关于“设计公路隧道”的方案,要求学生分析这个方案的可行性,并写出具体的操作实施过程。让学生在经历“提出分析方法”、“操作实施”和“作出合理判断”的过程中,提高他们的数学知识应用的意识、效率和质量。如果学生表示出了对于提出分析方法有困难,那么可以让他们通过小组合作的形式共同解决。要求学生以小组为单位,写出可行性分析报告,并开展组间交流活动,搜集他人的意见,完善自己的报告,最后在课上通过演讲的方式进行呈现。这样的拓展活动,可以帮助学生提高应用知识的层次,让学生意识到自己究竟掌握了哪些知识,而这些知识又如何在现实生活中进行应用,在实际问题的分析与解决中,在与其他人的交流与沟通中,学生会慢慢积累起更多的思想方法与知识经验,清楚地明白自己究竟应该学什么,讲什么。
在初中数学教学中实施“学讲计划”,实际上就是让学生体验从知识理解到知识构建的过程,它是教学中心从“教”到“学”的转移。“新授课”是学讲计划下的一种新型教学方法,它是在教师引导与学生互助前提下展开的一系列的独立思考、自主探索、合作交流,最终谋取共同发展的过程。数学教师要在不断尝试中对新授课进行改进,让其真正成为学生培养能力、学习知识、提升情感的“助推器”。
参考文献:
关键词:项目教学法;Excel;函数;创造力;主动性
一、问题的提出
目前各高等职业院校各门专业基本都开设了《计算机应用基础》课程,并取得了一些成果,但在实践教学过程中还存在着一些问题。
1.教学内容零散、抽象、教学方式单一
《计算机应用基础》是一门基础学科。老师可以让“讲”、“听”、“练”结合起来,有效地提高学生的实践操作能力。但实践证明,学生仅仅通过机械的模仿、在遇到实际问题的时候懒于思考,“等”“靠”的现象还是比较严重。
2.教学过程中缺少团队意识、组织能力的培养
如今社会事物复杂,由于个人能力和知识的局限性,个人无法独立完成一些复杂的任务,这样就更需要我们培养更多的复合型人才,培养学生的与人合作的意识。在以往的教学模式中,我们强调个人能力的训练,忽略了团队意思和组织管理能力的培养,所以进一步养成了学生的“等”“靠”“拿”的思想。
二、项目教学法的提出
“给你55分钟,你可以造一座桥吗?”这是德国教育专家弗雷德・海因里希教授在“德国及欧美国家素质教育报告演示会”上介绍“项目教学法”的一个实例。首先由学生或教师在现实中选取一个“造一座桥”的项目,学生分组对项目进行讨论,并写出各自的计划书;接着正式实施项目――利用一种被称为“造就一代工程师伟业”的“慧鱼”模型拼装桥梁;然后演示项目结果,由学生阐述设计思想和构造机理;最后由教师对学生的作品进行评估。通过以上步骤,可以充分发掘学生的创造潜能,培养和提高他们的动手能力、实践能力、分析能力和综合能力。
三、项目教学法在“Excel 2003电子表格中函数的运用”的运用。
项目目标:
(1)运用Excel 2003电子表格中常见函数。
(2)培养学生实际操作能力,以及与同伴合作交流意识和能力,加强团队合作。
项目重点:
(1)熟记求和函数SUM、求平均函数Average、求最大值MAX、最小值MIN、计数、排名(位)函数RANK、计数函数COUNT(数字项)/COUNTA(数据项)
(2)掌握使用常见函数解决实际项目问题的能力。
(3)提高学生之间的团结、互信、合作、组织能力。
项目难点:
(1)条件计数函数COUNTIF、和数据库计数函数DCOUNT的使用。
(2)生的各种能力培养。
讲授新课:
(1)导入项目
同学们刚经过其中考试,大家一定对自己的成绩比较关心。下面我们来看某班级期末成绩汇总表。展示已经做好的某班级期末成绩汇总表。
同学们发现仅仅利用我们前面学过的公式,是无法计算出这张表格内所有内容的。例如班级的排名、每门科目的最高分、最低分、班级人数、每门科目的各分数段的人数、优秀率、良好率、及格率等。这就要用到Exce 2003电子表格中的函数。
(2)确定项目
这一节课的主要任务是同学们通过合作利用Excel2003电子表格中的函数完成成绩汇总表。
(3)项目分析
设计项目之后,教师不要急于演示,而让学生分组讨论、分析例子,分析例子中用到的知识点,有些是学生可以利用学过的公式能解决的,可以让学生自己先动手做一做,有一些是没有学习过的,即稳含的函数新知识点,这也正是这个项目所要解决的问题,这些问题最好都是由学生提出。因为学生之间都会存在差异。在完成项目过程中,一些学生还会主动提出这样那样的问题,这时教师要随时解答学生提出的问题,帮助学生完成项目。根据学生的提问,让学生充分利用Excel 2003当中的帮助(F1键)。
(4)项目示范
对技工院校的学生来说,项目示范引导是十分必要的。项目分析后,教师应自己先动手完成该项目,这样既能对项目有个全面的了解,掌握操作难点,便于更好地指导学生,又能拿出明确而具体的成果给学生示范,使学生有明确的目标和感性认识,知道实施该项目要解决哪些问题,关键步骤在哪里。引导示范的效果对部分接受能力和基础比较薄弱的学生来说意义更大,让他们能够有模仿的对象,在会做的基础上去考虑创新。在本节课上主要给学生示范操作Excel 2003中常见函数的运用方法。让学生有个感性认识,再说明该项目的目标是什么,有哪些问题需要解决,操作时应注意哪几个关键步骤,怎样运用学过的知识解决可能遇到的问题等。
(5)项目操作
项目教学法与传统的教学法相比,最大的区别就在于以教师为中心转变为以学生为中心,以学生动手操作、完成项目为目标来贯穿整个教学过程,因此项目操作是项目教学法的主体和关键。这个环节首先要注意引导各组学生制定好实施计划,并同心协力去实现计划,培养学生的团队精神;其次要鼓励每个学生充分发挥自己的特长和主观能动性,在项目中承担好各自的角色;最后要注意操作步骤的循序渐进,从简单到复杂,从模仿到创新,引导学生由浅入深、由点到面完成项目。
(6)项目展示
当一组学生完成项目后,推荐组长展示成果,这不仅是老师检查每组学生学习效果的手段,还可以让组与组之间、学生与学生之间相互学习,取长补短,并从中充分体会到成功的喜悦。对待每组学生展示成果,我们都应该抱着欣赏的态度,从肯定的角度给予评价。这样的成果展示不仅检查了学生对本项目的知识掌握情况,而且还锻炼了学生的语言组织能力和表达能力。这使得课堂的氛围变得轻松,让同学们在无形之中培养了团队合作的精神。
(7)项目评价
目前流行的统计软件有SAS、SPSS、Statistica、EViews、Excel等,但上述软件的特点和功能优势各不相同,所以要根据学生的专业特点和教学要求选用不同的统计软件或者软件组合。但是由于专业统计软件需要安装后才可以使用,不便于课堂教学使用,也不便于学生的自主学习。而与上述专业统计软件相比,微软公司开发的MSOfficeExcel被广泛应用于统计学的课堂教学当中[4-9]。作为当前使用最普遍的电子表格软件,它不仅能够制作图表,而且还提供了较为强大的统计分析功能,更为重要的是,该软件比其他专业统计软件简单易学、便于掌握、易于推广。利用Excel提供的统计函数和数据分析工具,结合电子表格技术,可以实现数据管理、描述统计、假设检验、方差分析和回归分析等统计功能,基本能够满足管理专业教学对统计分析方面的要求。因此,在统计学课程实验教学软件的选择上,我们首先选择了Excel软件,依据Excel软件中的电子表格功能、函数功能、数据分析功能,形成以Excel为主要统计决策工具的实验教学内容。但是由于Excel软件中没有直接提供箱线图、茎叶图、无交互作用可重复的双因素方差分析、方差分析中的多重比较、非参数检验、质量控制图等方法[9],所以,在学生掌握Excel软件统计分析功能的基础上,进一步为学生介绍SPSS专业统计软件的使用,以提升学生对统计数据的进一步处理能力。这样就可以更好地满足统计学课程的教学需要,实现其教学目标。
2实验教学内容设计
统计学课程的理论教学是实验教学的基础和前提,因此必须对实验教学内容进行合理的设计与安排,使之与理论教学进度协调一致。按照管理专业统计学课程教学大纲的要求,该课程教学的内容基本上可以分为以下几个部分:数据的整理与展示、描述性统计分析、抽样分布、推断统计学、方差分析和回归分析。因此,统计学实验教学内容设计为:以收集数据、整理数据、分析数据和根据数据所提供的信息进行统计决策为主线,将统计学课程的实验教学内容相应地分为四个模块,即收集数据模块、整理数据模块、分析数据模块和决策分析模块。将各模块的内容依据Excel的电子表格功能、函数功能、数据分析功能,结合SPSS软件的统计功能,形成的统计学课程实验教学体系。将统计学课程的54学时,按照理论教学与实验教学学时2∶1进行分配,即其中的18学时为实验教学。可以看出,统计学课程实验教学的主要内容及学时安排如下:
(1)收集数据模块的教学内容主要包括3部分,一是统计数据的录入;二是统计数据的排序、筛选与数据透视表;三是抽样方法。安排两个教学学时。
(2)整理数据模块的教学内容主要包括2部分,一部分是数据的图表展示,另一部分是统计函数的学习和运用。安排5个教学学时。其中数据的图表展示是整理和反映统计资料的主要工具。常用的表格就是频数分布表;常用的统计图有:饼图、条形图、柱形图、折线图、散点图、雷达图、直方图等。本节内容要求学生能够按照不同的统计数据类型对数据进行分类处理,正确计算和绘制频数分布表,掌握基本统计图形的绘制,最重要的是能够针对不同数据类型,选择适当的统计图形来展示其规律。而统计函数主要涉及到数据集中趋势的测量、数据离散趋势的测量、以及相关关系等内容,实现对数据的描述性统计分析。通过对统计函数的学习,要求学生熟练掌握表示数据集中趋势的统计函数,如总和(sum)、均值(average)、众数(mode)、中位数(median)、百分位数(percentile);表示数据离散程度的统计函数,如方差(variance)、标准差(standarddeviation)、极差(range)、四分位差(quartiledevia-tion)、异众比率(variationration)、离散系数(coeffi-cientofvariation);以及表示数据分布形状特征的统。除了基本统计图表和统计函数以外,这部分内容还包括如何使用Excel数据分析中的描述统计命令和直方图命令,并将这两个命令的统计输出结果和统计函数两者一一对应起来,以巩固和强化基本统计知识。
(3)分析数据模块的教学内容涉及到的统计学理论知识较多,主要包括:参数估计、假设检验、方差分析和回归分析。所以基础理论知识的掌握程度对学生理解和分析相应的统计输出结果具有很大的影响。但是这一模块的实验教学内容相对比较简单,涉及到的计算机操作命令主要都集中在Excel的数据分析功能中,如:关于假设检验的命令有t-检验(平均值的成对二样本分析、双样本等方差假设、双样本异方差假设)以及z-检验(双样本平均差检验);关于方差分析的命令有单因素方差分析、可重复双因素方差分析、无重复双因素方差分析;关于回归分析的命令有相关系数和协方差,以及回归命令。此外,在这一模块的教学当中,还要注意与统计函数的相互融合,要求学生掌握如:参数估计中的置信区间;假设检验中卡方检验、F检验、t检验和z检验;回归分析中的相关系数、协方差、线性回归、线性回归拟合方程的斜率和截距等统计函数。鉴于这部分内容的难度及其重要性,安排5个教学学时。
(4)在决策分析这个模块,主要是培养学生的综合统计分析能力,使学习过程成为进行研究、探索和应用的新型教学过程。具体方法是将学生分成若干小组,选择有兴趣的问题,以小组为单位进行社会调查实践活动,综合应用各种统计分析工具,对数据进行系统的审核、整理、统计和分析,并完成调查报告。这部分内容可以安排3~6个教学学时,让学生在课外进行。除了上述四个基本模块的实验内容以外,根据课程需要,还需补充以下两个内容,一是概率与概率分布的计算,要求学生掌握经典随机变量的概率计算,如二项分布、POISSON分布、指数分布和正态分布;二是分位数和p值的计算,如统计中常用的四个分位数的计算。安排3个教学学时。最后,利用3个教学学时,为学生展示和介绍SPSS专业统计软件的主要功能,重点强调该软件与Excel操作中的不同之处,譬如在数据输入前,要先定义变量;箱线图和茎叶图的展示;方差分析中的多重比较;非参数检验等内容。这部分教学内容也可以结合学生的社会调查实践活动,以学生的需求为导向,充分发挥学生的主观能动性,培养学生的自主研究性学习能力。
3实验教学方式
数学实验课程内容一般分为基础实验、验证性实验、探究性实验、应用性实验和拓展性实验五类。在统计学课程的实验教学中,一方面我们强调基础实验,要求学生必须掌握统计软件的基本操作和主要功能,如统计函数的使用、图形的绘制和数据分析功能的操作。另一方面,适当增加验证性实验和应用性实验。如运用统计软件的基本操作和主要功能来展示抽样分布和中心极限定理的基本内容,加深对抽象理论的感性认识;结合统计实践调查活动,采用应用性实验方法,锻炼学生的数据搜集、整理和加工的能力,以及统计分析能力,综合运用所学统计学知识去解决实际问题。
4实验教学的实施保障措施
(1)统计学课程的实验教学必须与课堂理论教学同步进行,按照理论教学进程有针对性地设计实验教学环节,保持与课堂理论教学内容的协调一致。
(2)为了确保实验教学目标有计划、高质量地实现,应当编写实验教学指导手册,给出详细而完整的实验教学设计,包括具体内容、操作步骤、结果分析、时间安排。通过精心选择的实验例题、练习题和思考题,促成学生的有效学习和实验,充分体现实验教学目标。
(3)必须重视学生实验报告的撰写及完成质量。实验报告不是简单地将课堂上的实验过程记录一遍,而是对实验中的各种问题及相关知识的总结和思考。所以每次实验课程结束后,都应要求学生对所学内容进行总结和思考,独立完成实验报告,并将实验报告成绩作为评定实验成绩的重要依据。
(4)要加强对实验教学的考核。对实验教学成效的考核内容包括以下几方面:实验教学基础材料的准备工作;教师在实验教学过程中的履责情况;学生对教师个人和教学过程的评估及反馈建议;以及对学生实验课成绩的评价。对学生实验课成绩的评价也应当是全方位的综合评价,包括课堂上的上机操作表现、实验报告的完成质量、以及实践调查活动成果。通过实验教学的考核方式和内容,引导教师和学生共同努力,实现统计学课程的基本教学目标,提升学生的统计应用能力。
5结语
关键词:微机控制;实验教学;实验平台;考核
1课程目标
按我校计算机科学技术专业教学计划安排,微机控制系统是一门选修课程,涵盖了微机控制系统构造、输出与输入模块、汇编语言与C51编程与调试、多任务处理、嵌入式操作系统、分布式控制、微机控制系统原理等内容,主要采用课堂教学、实验的方法,通过课堂讨论、课后作业、实验设计与调试、测验与讲评,使学生在掌握微机系统工作原理的基础上,学习汇编语言与C51程序设计,并通过实验设计加以应用。通过该门课程的训练,要为进一步学习嵌入系统设计,从事工业控制类系统设计创造条件。
可以看出,该课程具有鲜明的实践性特点,但如何在有限的课堂教学时数内和不完备的实验条件下达到教学目标,成为教师必须要解决的问题。张鑫[1]等对单片机汇编语言教学进行了有益的探索,黄春耀[2]对单片机实践教学给出了一种教学思路,张大明[3]、于永[4]88-333等把单片机实训进行了模块化设计,这些做法为我们在课程中进行的教学改革提供了指导,并为顺利衔接嵌入式系统[5]教学,打下了良好基础。
2实验教学单元划分与实施
2.1实验教学单元划分
为了达到本课程的上述教学目标,可以用不同的路线实现。我们选择在汇编语言的基础上以C51为主要编程语言[6],这样可以在多数单片机实验系统上实验,并容易扩充应用系统。
在具体教学单元划分上,我们按基本单元和综合单元来分类,设计了4个基本单元,其目的是掌握基本功能模块的C51编程控制方法,并熟悉调试工具的使用,见下表前4个教学单元。下表中后5个教学单元在基本单元的基础上完成,有较强的综合性。
2.2实验教学实施
为了能保证各教学单元在执行次序上的协调,必须采用严格的控制机制。我们在教学实施上实行以下管理规范。
1) 基本单元由教师在课堂上讲解原理,根据硬件电路和程序流程给出样板程序。实验由学生按单元逐个实现,并根据实验任务至少完成一个方案。
2) 综合单元是在基本单元的基础上实现的。教师不给出样板程序,在明确硬件系统的基础上,将基本单元进行综合,只讲解思路和流程。学生在实现规定任务的前提下,如果能够实现更多合理功能,可以视情况加分。
3) 基本单元实验可以在课内完成。综合单元实验因最后效果可以不同,且要求独立实现,因而要求课外完成调试,在规定时间检查并编写报告。
2.3进阶规则
按照既定的实验教学单元划分,学生必须按规则逐级提高难度,达到单元目标,最终也就达到了课程目标要求。进阶规则如下。
1) 如果基本单元任务未完成,必须继续停留在基本阶段完成基本教学单元任务;
2) 综合单元必须独立完成,可以选择部分课题完成,如果无法完成则退出课程学习。
3实验教学
学生完成实验需要有一个实验平台。我们自行开发了相关的实验系统,它以AT89S51为核心,辅以8255接口芯片,以LED数码显示及键盘为I/O设备,另扩充A/D,其硬件原理框图见图1。该实验系统用一片可编程并行接口芯片8255A扩展了键盘和数码显示器,其他常用模块已接入电路板,但全部控制程
序均由用户提供,其特点是容易扩展、可在线擦除和重写程序、便于实施模块化设计。
软件工具选用KEIL C51,它可以完成汇编语言和C51源程序的编译,得到HEX格式的目标文件。此外,它还提供了一个小型嵌入式操作系统的环境RTX51 TINY,在此基础上可以进行多任务处理。
Atmel公司的微控制器在系统编程软件(ISP)可以借用AT89S51的P1口进行在线编程,将前面编译得到的HEX文件烧入Flash ROM中。它可以在Windows 9x,Windows NT 4.0及以上版本,或Windows 2000 环境下运行,其对硬件环境的最低要求是:
1)Intel Pentium类微处理器;推荐使用Pentium 166或以上微处理器。
2)32 MB 以上内存。
3)CD-ROM 光驱。
4)VGA或更高分辨率的显卡;推荐用Super VGA。
5)Microsoft 鼠标。
6)Atmel ISP 连接电缆。
在系统编程可以反复使用AT89S51中的程序存储器,便于程序调试。
事实上,本课程的教学围绕表1中的9个教学单元展开,其中后面5个综合教学单元具有较强的实践性,是前面基本教学单元的综合。例如,在数字时钟单元里,用AT89S51中的定时/计数器来实现定时,用LED显示时、分、秒,并且要求能用键盘随时修改时间。
课程教学目标是通过完成这些教学单元任务而实现的,而教学单元任务可以通过实验任务的完成效果得到检验。按照我们的管理规范和进阶规则,学生完成基本单元和综合单元任务是通过实验电路设计、程序编码、调试实现、编写报告来达到的,并视完成情况评定这部分成绩,占总成绩的40%。
4实验教学单元任务
4.1基本实验教学单元
在基本实验教学单元中,我们结合几个典型应用,讲解C51编程要点。例如,在定时/计数器单元,我们的单元任务是掌握以下几方面内容。
1) 定时与计数初值计算与计数器启动控制;
2) 查询程序控制方法;
3) 中断程序控制要点;
4)Keil C51调试。
为此,我们设计了一个样板程序,用T1定时1秒,每过1秒钟改变8个发光二极管显示效果。这里涉及头文件reg51.h,定时时间的查询,显示效果的控制。
在C51的中断控制程序中,需要明确以下内容。
1) 中断类型号,以确定中断向量;
2) 在主控程序中,必须打开了相关的中断控制位;
3) 定时/计数器的中断控制标志TF1无需在中断控制程序中清0,它会由中断系统清0。
为此我们给出相应的中断函数,并总结一般的中断函数书写格式。另外,还给出C51数据存储类型并进行讨论。
在LED数码管显示输出控制程序中,我们给出一个动态扫描程序。这里需要规定一个显示缓冲区,并通过可编程接口芯片进行显示输出控制,因而要对存储器进行绝对地址访问,为此需要了解头文件absacc.h。
通过键盘输入控制,要掌握编码键盘的一般工作原理,其中涉及消除抖动和按键编码方案。事实上,更重要的是掌握面向硬件系统的设计策略。
为此,我们专门给出一个计数策略教学单元,既可以选择用定时/计数器进行外部事件计数,也可以选择中断系统进行外部事件计数。
4.2综合实验教学单元
在基本教学单元,一般在课堂上给出相应的硬件电路图和程序设计流程图,最后给出样板程序。在综合教学单元,如果也给出详细的程序代码,则无法让学生达到自行设计应用系统的课程目标。
因此,在综合单元的教学中,我们只在课堂上讨论其中涉及的核心问题。例如,在数字时钟教学单元,核心问题是将二进制数转换为BCD码并存放在显示缓冲区。每当1秒定时时间到,就需要修改时间,并重新转换。这可以用查询方式进行控制,也可以用中断方式进行控制。为方便C51编码,可以定义一个包含时、分、秒信息的结构体变量。在查询方式下,本教学单元中各函数功能划分结果见表2。
异步串行通信中,核心问题是通信协议。在两台微型计算机的串行通信中,基本的通信条件是帧格式和波特率[3]72-91,[4]14-20。如果需要进行多机通信,就必须制订完整的通信协议。
较为复杂的是多任务处理。事实上,在实际应用系统中,通常都涉及到多任务处理。为弄清多任务处理的一般策略,我们给出一个方案,它在主函数中通过一个多重分支来处理不同任务,然后主函数进入一个死循环。每当发生一个相应事件时,系统中断,在中断处理函数中获得多重分支的入口地址,并根据任务不同修改中断返回地址,从而切入不同的分支程序,完成不同的任务处理。
在KEIL C51中,有一个小型的嵌入式实时操作系统RTX51,它具有多任务处理能力,各任务分时使用CPU等系统资源。在RTX51中,针对需要处理的不同任务编写任务函数,RTX51首先执行任务0,在创建其它任务后,任务0删除。在RTX51中,用户可通过两个系统文件startup.a51和conf_tny.a51来设定系统参数,以适应不同的应用系统实际情况。另外,RTX51中还提供了一系列系统函数,用户可以通过这些函数来完成时间片轮转和信号量传递。
总之,综合单元的教学既要对有关任务深入讨论,又不能直接给出程序编码,而是引导学生自主完成系统设计和程序编码,并进行调试。这部分内容被设计成6次作业,由学生独立完成。根据学生完成情况,评定成绩,这部分成绩占总成绩的30%。
4.3更深入的专题
近年来,工业控制领域出现了很多新技术,如工业以太网和现场总线等。因而本课程应当反映这些新技术的相关内容。
PID控制算法是微机控制系统的基本控制算法,为实现该算法,需要明确控制对象、闭环控制系统各环节、负反馈原理。
CAN是一种常用的现场总线标准,由德国Bosch公司制订,于1993年,广泛应用于汽车、电梯、医药等行业,已列为国际标准。CAN采用多主方式工作,低速情况下通信距离可达到10千米,出现问题的节点会自动关闭,不影响网络上其它节点。由MCU、CAN控制器、CAN总线收发器可以构造CAN节点,由多个节点可以形成CAN网络,由此实现分布式控制。
上述专题学生可根据自己兴趣选择,并查阅参考资料完成实验设计。
5考核标准
作为专业选修课,微机控制系统的课程考核不能完全依期末考试成绩评定。
事实上,国外高校在多数专业课程考核中,都十分强调形成性评价,课程成绩中期末考试成绩的比重一般都不超过50%。
Stanford大学计算机科学专业在全美各大学历年排名中一般都在前3名,为此,我们查阅了其最近一年(2008-2009)主要专业课程的考核方式,归纳成下面的表3。可以看出,在所列出的十门专业课程考核中,没有一门课程的期末考试成绩占总成绩的权重超过50%。
参照其做法,本课程的教学考核环节包括平时课堂讨论、作业情况、实验设计、期末考试,其中平时成绩占总成绩30%、期末考试成绩占30%,考虑到实践性环节的重要性,本课程的实践教学环节考核成绩占总成绩40%。每次实验中,准备工作和程序编写占20%,程序调试和结果分析占50%,报告占30%。
在这样的考核标准下,多数同学实验准备更加充分,实验过程更加努力,认真编写报告,并能独立完成综合单元的任务,顺利达到课程教学目标。
6结语
专业选修课程微机控制系统,其教学目标实践性强,但教学时数少,实验系统有待构造。针对此情况,我们把实验教学内容划分为4个基本教学单元,5个综合教学单元,并自行开发了实验系统。教学期间针对5个综合课题进行实验设计,要求学生通过大量系统设计和程序调试实践获得提高。
为达到课程目标,我们制订了管理规范和进阶规则,向学生公布,并充分整合现有软硬件资源,构造实验平台。
参考国内外高校的考核制度,我们把期末考试的权重规定为30%,而强调形成性评价和过程考核,并在实验考核中客观认真地反映每个人的学习状况,严格要求独立完成每次实验的准备、程序调试和报告。
本课程的教学,达到了课程目标的要求,实现了规范要求,又充分反映个人特点的因材施教,值得在其他专业课程教学中借鉴。
参考文献:
[1] 张鑫,朱智林,元红妍. 单片机汇编语言教学的改革与探索[J]. 计算机教育,2006(1):36-38.
[2] 黄春耀. 在“单片机原理与应用”课程中引入Proteus教学研究[J]. 计算机教育,2008(22):77-79.
[3] 张大明. 单片机控制实训指导与综合应用实例[M]. 北京:机械工业出版社,2007.
[4] 于永,戴佳,常江. 51单片机C语言常用模块与综合系统设计[M]. 北京:电子工业出版社,2007.
关键词:高职;C语言:项目实训
中图分类号:G434
文献标识码:B
文章编号:1002-2422(2010)05-0080-02
1 高职C语言项目实训的重要性
(1)C语言具有丰富的数据类型、众多的语句、丰富的库函数以及较多的语法规则。由于受课时的影响,很多教师在教学过程中,着重讲授语法及相关概念,结合各章节的内容演示一些实现各种语句的小程序,如条件转移语句、循环语句、数组、指针、函数、结构体等。而学生上机实验时,忙于调试实现各种语句的小程序以及程序中的各种语法错误,很少能够将这些知识全部贯穿起来,更谈不上建立程序设计的思想。很多学生学完以后,只会编写一些小程序,感觉就像学习语文知识时,只会“造句”,不会“写文章”一样。而项目实训,则通过开发一个实际的项目,不仅将学过的内容综合起来,而且增强了学生分析程序、调试程序的能力,同时对程序设计的思路更加清晰。
(2)高职院校的学生入学基础相对比较差,抽象思维能力比较弱,逻辑分析能力相对比较差,而程序设计课程刚好需要较强的抽象思维能力及逻辑分析能力。因此,c语言程序设计对于大部分高职学生来讲,内容比较抽象,概念比较多,入门比较难,有很多人甚至产生厌学的思想。开设实训专周,实施项目实训,主要以上机操作与调试程序为主,学生选择自己喜欢的项目进行开发,不仅提高了学生的学习兴趣,且培养了学生的实际操作能力及分析问题的能力。
(3)实训专周,时间比较短,要开发一个软件项目相对比较难,再加上高职学生的基础参差不齐,单独一个人很难完成一个项目的开发。因此,主要是分组进行项目实训,由6~7个人组成一个小组,模拟软件公司人员设置让学生扮演不同角色,有项目经理、系统分析员、软件开发员、软件测试员、文档员等,通过小组项目开发,不仅提高学生的参与意识,培养团队精神,锻炼沟通交流能力,同时还增强了学生的职业素质、职业意识。
2 C语言项目实训的设计思路
2.1制定项目任务书
项目任务书主要明确实训的目的及内容,让学生懂得为什么要进行实训。实训的目的是什么,实训的内容是什么,实训的形式是什么,时间安排如何,清楚最后要提交的实训成果,了解实训成绩评分的细则。
2.2分组
分组对于项目能否按时完成非常重要,因此,分组要采用“指定”与“自由组合”相结合。“指定”主要是由指导教师指定每个小组的组长,主要是结合学生在学习c语言过程中,对学习内容掌握的情况以及上机调试程序的情况来确定,这些组长一般要有较强的组织能力及较高的威信,具有较强的程序设计能力。组长选定后,就由学生根据各个组长的情况进行自由组合,一个组一般6~7人为宜。
2.3选题
由指导教师根据教学过程中使用比较多的案例,拟定学生比较熟悉的一些项目,如学生成绩管理系统、校园Ic卡管理系统、上网卡管理系统、考勤卡管理系统、会员卡管理系统等。一般指导教师拟定的选题比学生的组数多,让学生有更多的选择,学生也可以自己拟定题目,由指导教师审核后实施。为了保证每个组的实训效果,要求每个组的选题不能相同。
2.4考核方式
考核方式分指导教师考核与学生互评相结合,指导教师主要根据各个小组的实训过程、实训创新、小组答辩、以及实训成果四个方面给各个小组进行评分,一般实训过程占30%,实训创新占20%,小组答辩占20%,实训成果占30%。而学生互评主要是小组的每个成员根据每个人在项目实训过程中参与程度以及发挥的作用进行互评,一般采取不记名的方式给小组中每个成员进行评分。然后指导教师根据每个学生所在的组所得分数结合同组同学的评分、以及学生撰写实训报告的情况进行综合,最后得出每个学生的实训成绩。
2.5提交成果
提交成果主要包括每个小组编写程序的源代码、小组汇报PPT以及每个学生的实训报告。
3 C语言项目实训实施与管理
3.1资讯
在进行项目实训前一个星期,先对实训班级进行分组,并给每个组发放项目任务书,同时指导老师提供一些完整的实例,如公交卡管理系统、通讯录管理系统等。让学生以小组为单位利用课余时间收集与项目相关的资料,并复习已经学过的知识。
3.2计划
针对项目实训实施过程进行计划,包括每天要完成的实训内容,小组人员的具体工作安排,包括谁主要负责编程,谁主要负责调试,谁进行文档处理,谁制作汇报PPT等。
3.3决策
每个小组的项目确定后,就要进行系统分析,由于学生没有软件开发的经验,因此,系统分析及系统设计就要求指导老师参与,并进行引导。每个小组根据系统的功能进行模块设计,并确定系统的主要功能模块。这个过程指导老师必须全程参与,特别是功能模块的确定非常重要,如果功能模块多,涉及内容多,很难在一周内完成,因此,要把握好项目规模的“度”。
3.4实施
实施主要是过程的实施,包括系统分析、讨论系统功能模块、进行编码、调试程序等。要求每个同学负责项目中的一个模块,负责编码及调试,最后再合并一个总的项目。
3.5检查
检查主要是过程检查及结果检查。由于是实训专周,学生除了这门课的实训外,没有其它的学习任务,因此,学生可以从早到晚投入到课程实训中。由于C语言实训是软件开发,因此,都是在计算机房内完成。指导老师可以随时检查各个组完成项目的情况,并有针对性的进行指导。
3.6评价
是对各个小组完成项目的情况进行评价。一周实训结束后,一般来讲,各个小组都能够完成项目的整体设计及整个项目的编码,只是由于水平不同,完成的效果不同。最后,各个小组派出代表汇报各自项目完成的情况、主要创新点,并进行演示。指导教师则根据各个小组的汇报进行讲评。
4 C语言项目实训存在的主要问题
4.1项目的“度”较难把握
由于C语言的项目实训主要以软件开发为主,而这门课基本上是学生接触编程语言的第一门课,由于没有参加过软件开发,刚开始进行实训时,大部分同学都是比较迷茫,不知道怎么着手。因此,项目题目的确定以及各个模块的规模非常重要,难度太大无法按时完成,影响学生的兴趣,而难度小,又影响学生综合能力的提高,所以项目的难度比较难把握。
4.2编写程序的规范性比较差
在课程实验时,由于都是编写一些短小的程序,解决某个单一的算法,所以编写程序及调试程序的难度相对较小,也不注意程序的规范问题。而项目实训由于编写一个较大的软件,涉及很多函数,而且每个函数都是由不同的同学完成,变量的定义以及函数之间数据的传递等规范性比较差,使得最后进行程序合并时,漏洞百出,要花大量的时间进行修改。
4.3部分学生参与度不够
由于高职学生的基础参差不齐,又是小组项目实训,有部分基础差一点的学生在编程和调试程序阶段根本插不上手,一个组往往只有3~4个人在忙。
4.4学生互评拉不下面子
由于分组以自由组合为主,同组的同学大家都比较熟,在学生互评中,都拉不下面子,不管个人水平如何,参与程度如何,互评的结果都差不多,一般只相差3~4分,给指导老师对同学的评分带来一定的困难。
一、理论教学
我们将C语言课程理论教学内容分成三大部分,在教学中将“数组”前的知识归为第一部分,将“函数、指针”知识归为第二部分,将“结构体、文件”知识归为第三部分。
第一部分主要讲解C语言的基本概念,基本的数据类型,基本运筹方法,基本语句和基本的程序结构,对于第一部分的内容中的变量要重点讲解变量的存储方式,变量的存储空间及存储范围,表达式部分应重点讲解运算符的优先级程序控制,结构重点放在同一结构的嵌套与不同结构的相互嵌套。第二部分主要讲解指针、函数,重点应放在函数的参数、函数的调用、函数的递归调用、指针函数、函数指针、指向数组的指针。使学生掌握编程的模块化思想及通过指针实现多种结构类型的引用、内存的动态分配。第三部分主要讲解结构体,基本的文件操作、程序设计方法和设计技巧。第三部分重点应放在结构体和文件指针上,要详细讲解通过文件指针对文件进行访问,使学生掌握复杂结构类型的数据组织与处理、数据与文件的关系及文件数据的处理[1]。
二、案例分析
由于课时减少,我们精简了教学内容,精心设计教学环节和教学过程,通过实例讲解、上机练习、课外作业,使学生掌握编程的最基本的结构语句,提高学生的程序阅读能力,通过程序改错,程序补充来训练学生的程序理解和分析能力。
1. 案例教学
案例教学法本身就是一种综合性的教学方法[2],教学内容采用是以算法分析、程序设计为主, 语言知识为辅的组织方式;教学方法是引入案例的主题式教学;教学内容以算法设计作为贯穿各主题的主线;案例分析是教学的核心。为了培养学生的综合程序设计能力,我们注重算法分析,突出算法设计,强化学生的计算思维,通过案例分析来培养学生的思维能力。另外,案例分析可以更好地适应不同层次的学生,在传统的C语言程序设计教学中,在讲过语法规则之后,给出一些只含有课本上已学过的简单语句的简单实例,仅仅是说明其语法及功能,程序本身没有多大的实用性及吸引性,而在案例教学中,为了程序实现更有趣,教师往往会联系一些实际问题,学习能力较强的并且对此感兴趣的同学可以学到更多的知识。
2. 案例设计
在进行案例教学中,我们结合教材,精心设计教学案例,重点培养学生的计算机思维和创新能力。在课堂教学过程中,要求老师要在激发学生创新意识的基础上,加强培养学生发掘问题和解决问题的能力。在教学中利用C语言知识点紧密联系的特点,设计一系列具有启发性的教学案例。
我们设计的案例满足了如下要求:一是难度适当;二是在教和学方面富有探索性;三是能培养学生的计算思维和创新能力。在案例分析过程中引导学生自己发现问题,自己解决问题,通过对实际问题的解决来启发学生的思维,通过问题――算法――程序这一系列的过渡来解决实际问题,从而达到对理论知识的掌握和运用,使学生逐步养成独立思维和创造性地运用知识的习惯。在C语言教学过程中,始终将算法分析和设计作为教学重点,在教学内容组织上以算法设计为主,语言知识为辅。从分析问题入手,引导学生找出解决问题的方法,再给出设计的算法,同时还应将算法用流程图表示出来,使学生能够清晰地了解程序的功能和结构,这样就容易将其换成程序代码。案例分析能够使学生主动参与学习活动,教师和学生之间以及学生和学生之间能够相互交流和沟通,形成良性互动。作为案例讨论的组织者和引导者,对同一个案例,老师允许不同学生提出不同分析结果和实现方法,让学生能够自主思维。
3. 教学案例实例
百元纸币兑换:一张一百元的纸币换成等值的10元、5元、2元和1元一张的小钞票。每次换成50张每种至少一张,共有多少种换法?
案例分析:首先每种一张,余下100-18=82元。已经换了4张,还要46张,就是46张10元或者5元或者2元或者1元组成82元。依次设10元、5元、2元、1元的张数为x、y、z、m则:
10x+5y+2z+m=82;
x+y+z+m=46;
以上x,y,z,m的取值要求是不小于0。
因为有四种纸币,要对每一种纸币数进行遍历,就要用四重循环嵌套,算法如下:
intx,y,z,m,k=0;//k为兑换方法数量
for(x=0;x
for(y=0;y
for(z=0;x
for(m=0;m
if(10x+5y+2z+m==82&&x+y+z+
m==46)then
k=k+1
三、 项目实训
在C语言理论课结束后,我们安排三周时间让学生集中进行课程设计,课程设计采用项目实训的方式,项目的工作量要适度,要有一定的难度,以该项目设计和改进中的问题为动力,尽可能涉及更多的C语言知识点,全面贯穿整个课程内容,以达到训练学生综合运用所学知识解决问题的能力,提高学生的动手能力。
1. 项目标准
教师要明确项目拓展所涉及的C语言知识点和项目的基本目标。项目应能贯穿整个课程的各个环节:格式化的输入输出;各种程序控制结构;各种变量、表达式的使用;函数的调用,尤其是递归调用;指针使用;指针函数与函数指针;文件的建立、打开、读、写、保存等操作,要求实现项目要求的功能。项目难度适中,使学生不必进行复杂的项目背景分析就可以进行不同程度的功能扩展。同时项目的实施能够突出以算法为中心来进行程序设计。
2.项目分组与评分
项目实训要按照软件工程的方法进行,让学生具备初步的软件设计思想。我们要求教师首先制定项目任务书,明确实训的目的及内容,让学生懂得为什么要进行项目制作,目的是什么?目标是什么?教师可拟定多个项目,并将学生分成对应的项目小组。分组采用由老师指定与自由组合等形式,指定主要是由指导教师来分配项目小组,主要是结合学生在学习语言过程中,对学习内容掌握的情况以及上机实践的情况来确定,这些项目组的组长一般要有较强的组织能力及综合设计能力;自由组合一般由学生自行结合,指导老师把关。一个组一般3人为宜,项目选题由指导教师根据教学内容和教学案例,拟定学生比较熟悉的一些项目,一般指导教师拟定的选题比学生的组数多,可按照1比1.2比例进行,让学生自由选择,学生也可以自己拟定题目,但必须由指导教师审核,为了保证每个组的项目实训效果,要求每个组的选题不能相同。考核方式可以采用指导教师打分与学生互评相结合,指导教师根据每个项目小组的项目结果,给各个小组进行评分,然后每个小组答辩,答辩要求学生先制作好PPT进行汇报,汇报的内容要简明表述项目实施所用的知识点,项目实施中所遇到的困难和解决方法,最后演示所完成的程序。报告完成以后,其他小组提问并进行评议,指导老师完成对项目点评。
3.项目实例
项目名称:用C语言制作班级通讯录。
要求实现如下功能:记录插入、记录查询、记录删除、记录按学号进行排序、记录打印。
项目涵盖的内容:文件操作、函数或过程调用、搜索算法设计、排序算法设计、数组操作、结构类型使用、自定义数据类型、打印机操作等内容。
时间要求:三个星期内完成。
上交资料:项目设计书(含设计心得)、源代码、汇报PPT。
四、结束语
虽然目前C语言教学计划上减少了课时量,但是我们通过对教材进行分阶段划分,使学生在阶段性的目标下学习,同时在备课环节中组织教师精心地设计教学案例;教师在理论课上,通过教学案例,对相关理论进行仔细讲解与分析。在理论结束后,安排三周时间集中进行项目实训,通过“理论教学、案例分析、项目实训三位一体C语言教学模式”的周密实施,学生的思维能力,动手能力得到很大的提高,学生的程序设计能力在程序设计大赛中得到了很好的体现。
参考文献:
[1]谭浩强.C程序设计[M].北京:清华大学出版社,2001.
[2]胡 枫.C语言程序设计教学方法探析[J].计算机光盘软件与应用,2012(12):278―279.
[3]黄锦祝.高职语言项目实训的设计与实施[J].电脑学习,2010 (5):
80―84.
[4]邱建林,王 波,等.计算机程序设计语言教学的探索[J].牡丹江大学学报,2001(4).
关键词:数据结构;实验教学;教学改革
作者简介:刘志鹏(1980-),男,江苏南京人,南京邮电大学计算机学院,讲师;段卫华(1977-),男,江苏南京人,南京邮电大学计算机学院,讲师。(江苏 南京 210003)
基金项目:本文系南京邮电大学计算机学院教学改革项目(项目编号:12)的研究成果。
中文图书分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)01-0132-02
“数据结构”课程是计算机科学与信息管理等专业的核心课程之一,它在计算机领域的重要性仅次于编程基础。[1]我国制定的CCC2002体系强调了“数据结构”在计算学科及电子信息学科中的作用与地位。该课程一般以“计算机高级程序设计语言”为先修课程,也是“操作系统”、“数据库”、“编译原理”等专业课程的基础。“数据结构”课程涉及的知识点较多、实践性很强,除了要求学生有严密的逻辑思维外,还需要拥有较好的编程实践基础。目前,大多数高校“数据结构”课程的教学工作均在一学期内完成。学生学习任务较重,往往在学习过程中出现“重理论、轻实践”的现象。许多学生在设计和实现算法方面表现不佳。为了在有限的学时中得到更好的教学效果,使学生在算法设计和实现两个方面的能力都有所提高,笔者从“数据结构”课程实验教学环节入手,尝试了一系列的探索和研究。
一、实践教学目前存在的问题
“数据结构”是一门实践性很强的课程。实践有助于学生更好地理解和应用所学习的理论知识,实践环节是无法替代的,直接影响学生的学习效果。然而,目前的“数据结构”实验教学环节普遍存在如下的一些问题:
1.学生对实践环节重视不够
目前,学生对“数据结构”课程实践环节普遍不够重视。主要原因如下:
第一,主流开发语言和集成开发环境,如C++、Java等,均提供了现成的数据结构程序库。程序员可直接调用程序库中的函数而无需重头编写底层数据结构。部分学生认为,只要掌握程序库的使用方法,便无需实践数据结构的底层实现。然而,无论是C++的STL和Boost程序库,还是Java语言的集合类,均无法满足某些程序苛刻的性能要求。因此对学生而言,仅仅掌握某种特定编程语言的程序库是不够的。
第二,由于“数据结构”课程以笔试作为衡量学生学习成果的主要方式,加上实践环节考查指标并不明确,造成很多同学不重视实践环节,导致实践环节效果不理想。
第三,学生对“数据结构”在操作系统、数据库、编译器中的实际应用知之甚少,部分同学虽然知道“数据结构”课程十分重要,但并不知道数据结构在各个领域的广泛应用。
2.学生程序设计能力薄弱
学生程序设计能力薄弱,是部分高校长期普遍存在的现象。究其原因,主要包括以下两个方面:
首先,部分学生程序设计基础较薄弱。对于C++的某些基本语法并不熟悉,也不了解使用封装、继承和多态型在编写大规模代码过程中带来的好处。大量的对语法知识的要求导致学生难以阅读和编写程序,造成学生思想上的困惑。
其次,对程序设计能力薄弱、基础较差的学生而言,某些优秀教材[2,3]并不适合。学生阅读这些教材时,虽然能够理解算法的含义,但是却无法将伪代码转换成对应编程语言的程序代码。这一方面导致学生无法动手实践,另一方面也进一步削弱了学生的编程能力。
3.实践过程中无法得到及时的反馈
许多学生在“数据结构”实践课中采用先编写、后调试的方法,这种编写代码的方式对代码量较少、代码逻辑较简单的程序是有效的。但对于代码量较多、代码逻辑复杂的“数据结构”程序则不可取。由于拼写和逻辑错误,导致最终程序错误较多,难以调试。由于在代码编写过程中无法得到及时的反馈,导致学生丧失了进一步学习的兴趣。
此外,编写代码、正确执行后,许多同学不及时总结经验教训,反复犯相同错误。对待实验报告撰写工作态度不端正。教师没有及时将实验报告成绩和其中存在的问题及时反馈给学生,部分学生不了解实验报告和实验的评分细则,对实践环节最终成绩不满,也反过来削弱了学生学习该门课程的兴趣。
二、实践环节的教学改革
针对教学中存在的以上情况,笔者主要从以下几个方面进行实践环节的探索和改革:
1.引导学生重视实践环节
第一,加重实践环节占用总评成绩的比例,从原先的10%-15%增加到20%。改变传统模式下主要依靠平时作业、课堂表现和期末考试成绩的评价模式。增强实践环节比重,旨在督促学生参与实践、编写程序和撰写报告。
第二,在课堂教学中,提纲挈领地讲解C++、Java语言程序库的不足之处,使学生明确具备编写数据结构代码能力的重要性。
第三,针对多种数据结构,讲解其在操作系统、[4]数据库[5]和编译器中的实际应用。开源软件为“数据结构”教学提供了大量的实际案例。通过介绍数据结构的实际应用,提升学生的学习兴趣,提高学生对实践环节的重视程度和兴趣。
最后,尽早明确实验任务和目标。让学生在教学过程和实践环节中明确认识到,只有按部就班,才可以完成实验任务。在实践环节中,不能随着学生的完成情况无限制地增加题目的要求和难度,而应做到因材施教,因人而异。
2.提升学生程序设计能力
教材是学生入门和提高的主要材料。笔者选用人民邮电出版社陈慧南编著的《数据结构:使用C++语言描述(第2版)》作为“数据结构”课程的教材。该教材2007年入选普通高等教育“十一五”国家级规划教材,其中对每一种主要的数据结构均给出了C++代码实现。与传统经典教材[2,3]相比,省略了学生将伪代码转换为可执行代码的中间过程。学生在实现基本数据结构时可直接参考教材程序完成。该教材列出了“数据结构”中使用的C++知识点,并指导学生在课后自行开展有针对性的复习。通过边复习、边学习的方式,部分同学能够克服程序设计能力不足的缺陷,建立理解和实践“数据结构”课程的信心。
针对许多学生仅能理解C++代码片段,无法将这些代码片段合成完整的程序问题,笔者通过课堂教学和实践环节两个方面加以弥补。在课堂教学中,教师至少编写一个完整的数据结构实现。通过演示,使学生了解编写代码的具体动态流程和技巧。实践环节中,采用循序渐进的代码编写方式,即课堂上先给出对应算法完整程序的框架,并演示程序得到的最终结果,让学生去填写框架中的函数内容,接下来要求学生独立完成一些函数模块,具体操作方法与文献[6]中的第一项研究方法相同。实践表明,采用结对编程、独立完成实验报告的方式与独自完成实践环节的效果相比较,实践环节学生平均成绩高5~7分。
3.及时反馈实践结果
鼓励学生在编写代码前,首先编写测试用例。一方面有助于学生了解代码中的边界条件,考虑代码实现中的各种特殊情况。另一方面也有助于学生在编写代码的过程中及时获得反馈。避免传统编写代码方式所导致的程序无法正常运行的情况,增强学生的信心。
第二,指导学生编写代码的正确次序。例如,在编写单链表类时,先实现构造函数和析构函数,再实现插入函数和打印函数。这样便可先检测插入函数是否正常工作,在此基础上,再完成删除函数等其他功能函数。这种迭代开发、单元测试,将错误局部化的思想对于培养学生正确的程序设计观念十分重要。指导学生重视代码重构的工作并鼓励学生重构代码,通过介绍编码规范,强调良好代码风格的重要性。
第三,指导学生调试程序。针对Visual C++ 6.0集成开发环境和gcc编译器,总结学生在编码时常犯的各种编程错误,并给出相应的代码调试方法。通过不断完善文档、分发并反馈,从而减轻教师的工作量,培养学生的参与精神和不断总结的能力。
最后除课后答疑外,笔者还及时通过电子邮件反馈疑难解答和平时成绩。教师将有代表性的提问进行总结和群发邮件,使学生能及时掌握自己的最新成绩,并允许学生质疑分数的公平性和公正性,制定较详细的实践环节评分标准,明确实验报告的结构,要求学生重视需求分析、概要设计,并要如实撰写总结和体会部分。许多同学的总结都停留在表面,并没有总结实际学到的编程知识和调试方法。
以下是在“数据结构”课程实践环节中的的评分标准:
能独立查阅文献资料,较好地理解课题任务并提出实施方案;内容详实准确、文字流畅,符合规定内容及字数要求;论证、分析、设计、计算、结构、建模、实验正确合理;用语符合技术规范,图表、公式清楚;努力学习,遵守纪律,作风严谨务实,按期完成规定的任务。
三、实践环节教学效果
1.课堂和实验课教学效果
通过课堂讲授和实践性环节锻炼,学生能端正学习态度,树立编写代码的信心和决心。通过制定合理的编程任务,每个学生都能动手编写程序。通过动手实践,加深了对数据结构相关知识点的理解。采用结对编程、测试优先和代码重构,学生认识到编写能够运行的代码和优秀代码的差异。有些同学能够进一步完成更高难度的编程任务,并参加国家级的比赛,如挑战杯等。
2.实践环节效果反馈
本次共有97名学生学习“数据结构”课程,每个学生需要完成4份实验报告。统计结果表明,上交报告的积极性、分析设计的规范性和总结体会,与去年相比,均有很大程度的提高。拖延上交实验报告的情况从去年的11.0%降低到3.1%,实验报告的内容更加规范,总结体会内容大多集中在编程过程中遇到的问题及解决方案上。通过填充和扩充代码两种编程方法,绝大多数学生完成了数据结构实践环节的基本任务,如单链表的实现等。51.5%的同学能够完成更加复杂的程序设计任务,如双向链表等。
“数据结构”课程是计算机专业的专业基础课程,应用范围非常广泛。本文分析了数据结构实践教学中目前存在的一些问题,积极探索和尝试新的教学方式,在一定程度上调动了学生的积极性,为学生的软件开发打下了良好的基础。但对于课程体系的建设及教学方法的改进等问题,仍然需要开展进一步的研究。
参考文献:
[1]Mehran Sahami.Expanding the Frontiers of Computer Science Education[EB/OL].http://wccce11.unbc.ca/wccce11-sahami.pdf.
[2]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2011.
[3]科曼,等.算法导论[M].潘金贵,等译.北京:机械工业出版社,
2006.
[4]毛德操,胡希明.Linux内核源代码情景分析[M].杭州:浙江大学出版社,2001.
高等数学的教学改革要为学生的进一步学习提供必要的数学准备服务,把培养学生数学素质和运用数学方法解决实际问题的能力作为根本目标。根据高等职业技术教育的特点和要求,教学以高职基础课为专业课服务这一宗旨为主要指导思想,培养数学计算和应用能力高,适应时现代化市场需求的人才。高职数学的教学改革应在尽量不破坏数学自身系统性的前提下,突出对理论知识的应用和时间能力的培养。因此要根据实际需要灵活地处理教学内容,把过去整齐划一的教学内容进行改造,按照专业课教学的基本要求,分专业按需要选择微分方程,级数,积分变换,矩阵,概率等内容,直接选取专业课程相关内容,实现数学课程和专业课程的融会贯通,在教学深度的把握上,以够用为原则。强调知识应用性和使用价值,尽量避开定理的逻辑推理过程,侧重讲解其使用意义。
下面笔者将根据多年教学实践,对如何加强高职院校的高等数学教学的过程实施和评价方式作出一些探索:
一、实施办法浅析:
1.根据高职教育的特点和要求,以“应用为目的,以必需、够用为度”,注重能力培养,强化实际应用。本课程为高等职业技术院校各类专业必修的一门重要基础课,它是学生进一步学习有关专业知识、专业技术以及参加社会实践的重要基础和必不可少的工具,故各专业的后续课程都有联系,主要是为各专业课程的学习提供思维方法和解决问题的工具与能力,因此,在教学过程中,必须贯穿“以应用为目的,必需、够用为尺度”的原则。
2.根据对工科专业所做的问卷调查以及该课程的培养方案,确定以下教学内容:函数、极限与连续、微分及其应用、积分及其应用、线性代数与线性规划初步、概率与数理统计初步。在函数部分,着重介绍函数极限的运算方法,弱化函数连续性的讨论;在微分及其应用部分,着重介绍一元函数微分学的相关运算方法和微分的近似计算,弱化拉格朗日中值定理及其应用;在积分及其应用部分,着重介绍一元函数积分学中的相关运算、函数的积分方法和技巧和运用积分来解决些简单的应用问题,弱化定积分的概念;在线性代数与线性规划初步部分,着重介绍用简单的线性规划知识解决简单的市场规划和预测的问题,弱化行列式和矩阵的相关计算、解线性方程组;在概率与数理统计初步部分,着重介绍与掌握概率与数理统计的相关知识、分辨简单事件的概型方法和利用概率公式求实际中简单事件的概率,弱化统计量及其分布、参数估计和假设检验。
3.课程教学以课堂教学为主,体现以学生为中心的理念,必须在教学过程中充分发挥学生的主观能动性,发掘学生的创新精神,根据学生数学能力情况采用分层次教学,由相近的专业的两个自然班分成A、B两个层次的教学班,在同时不同地点分别由两位于教师进行课堂教学。以利于不同层次的学生的学习。
4.以“问题解决”为核心组织教学,创立良好的教学环节促进“问题解决”的实现。教学的问题可分为概念问题、方法问题、思想问题、计算问题、推论问题、应用问题以及实际操作或模拟实现等问题。教师组织教学就是要引导和帮助学生或激励和启发学生一一解决这些问题。要让学生置身于问题之中,有获得问题解决的成就感,也有乐于和敢于面对新问题挑战的紧张感。这可以大大提高学生的分析问题解决问题的能力,实际应用的能力,知识拓展的能力,以及总体把握的能力;而且这对提高团队协作能力和科学的素质有极大的帮助。为促进“问题解决”的实现,必须创立良好的教学环境。多媒体辅助教学就是一种重要的手段。多媒体辅助教学的突出功能就是信息交换量大,而且实时快捷,另一个突出功能就是形象直观,易于接受。另外设立相关资料库、报告会、专题讨论、分组讨论等都是可考虑采用的手段。
二、考核与评价探索
1.考核与评价的目的
评价的目的在于教学的诊断、反馈、评定和激励。是全面考察学生的学习状况,激励学生的学习热情,促进学生的全面发展。全面客观的反映教学的真实情况,为改进教学提供真实可靠的依据。
2.考核与评价的原则
1)对学习过程的评价与对学习结果的评价相统一的原则。既不仅要关注对学生学习结果的最后判断,更要关注学习过程的发展、变化状态,随时把握它们的发展态势,使之不断得到调节和完善。
2)教师评价与学生自我评价和相互评价相统一的原则。即评价的主体应多样化。
3)对学生智力因素与非智力因素评价相统一的原则。既评价的内容应是全方位,多层次的,既包括对学生知识、技能、能力的评价,也包括对学生态度、情感、行为等的评价。
3.考核与评价的内容
1)恰当评价学生的知识和技能
2)注重学生学习过程和学习方法的评价
3)注重评价学生的知识和技能的运用和应用能力
4)重视评价学生的创新意识和创造性思维的能力
5)重视针对学生的科学素质的评价
4.评价的形式