语言课程设计总结十篇

时间:2023-03-29 14:28:44

语言课程设计总结

语言课程设计总结篇1

【关键词】C语言程序设计 实践教学方法 实践实践能力 积极性

【基金项目】2013年防灾科技学院教研教改项目(2013B24); 2012年防灾科技学院教研教改重点项目(2012A04)。

【中图分类号】G42 【文献标识码】A 【文章编号】2095-3089(2013)05-0246-01

公共基础课程C语言程序设计是面向非计算机专业本科生开设的,这门课程的教学目标是通过理论学习和编程训练,使学生较全面、系统地理解和掌握C程序设计的基本概念、语法知识和计算机程序设计的基本思想和方法,初步具备运用C程序解决实际问题的能力。通过本课程的学习培养学生利用计算机处理问题的思维方式,启发学生主动将计算机引入到其他基础课和专业课[1]。

C 语言是一门实践操作性很强的课程,要学好C 程序设计不仅要掌握好理论知识,实验教学更不容忽视。通过上机实验,不仅可帮助学生消化和巩固课堂所学知识,也可帮助学生验证学习中的疑难问题,更重要的是可激发和提高学生学习C 语言程序设计的兴趣[2]。

1.C语言程序设计实践课存在的问题

通过进行问卷调查非计算机专业学生,有69%的学生认为C语言课程对自己今后的学习与工作中比较有用;有81.25%的学生希望理论和实验课时比例为1:1,有56.25%的学生把影响学习积极性的主要原因归咎于教师、课程内容等方面;主动研究、解决问题的学生仅占37.5%,68.8%的学生课下基本不看有关C语言程序设计的书籍,75%的学生基本不会进行学习小结,68.75%的学生课下基本不会主动复习、预习新课;在C语言程序设计课程学习过程中遇到的问题,出错时希望得到教师辅导的占51.3%,只有37.5%的学生课下会花时间编写程序。

笔者从事C语言程序设计教学工作多年,通过实际教学和综合调查分析,学生层面问题突出主要体现在以下几个方面:

1)对课程认识不够重视

有的学生对C 语言认识不足,觉得没什么用,学习上缺乏主动性和积极性;有的同学又觉得C 语言很难,学习缺乏信心,对计算机程序产生一种畏惧的心理。有的学生对实验课不重视,抱着应付的态度,不愿投入很多的时间和精力[3]。

2)学生学习兴趣有待提高

在C语言的教学中,实验课的时间仅占课程的三分之一,明显感觉学生无法按时完成当次实验所要完成的任务,只能依靠学生课下自己找时间再继续完成,这样势必会存在一些问题,学生可能抄袭现象严重,还可能因为在完成实验任务的时候,对于遇到的问题不能及时得到辅导与解决,而会“知难而退”,大大消减了学生对课程学习的积极性[4]。

3)课下投入精力不足

有的学生只是在课堂上听讲,课下没有进行总结归纳、认真复习、做习题、主动查阅学习资料、不能将实验作业提前预习准备。导致知识掌握不牢固,不能有效利用实验课有限时间。

4)有效学习方法欠缺

有的学生在实践过程中过分依赖指导老师,有任何问题就找老师,自己缺乏必要的思考。在学生逐渐掌握并积累一些常用的编程方法和技巧后,可以把总结归纳作为一种重要的学习方法,提高学习效率。

由于以上的各种问题,使得实验课效果不佳,从而影响了C 语言课程的整体教学效果。

2. C语言程序设计实践教学方法的探讨

经过几年的教学实践、观察总结以及研究尝试,本文针对以上问题,总结提出几点建议来改善实践教学的效果。

1)明确学习目的,加强对C 语言认识的重要性

让学生认识到学习C 语言是具有普遍适用性的,根据各专业的不同特点,使学生明白C 语言作为一门基础性程序设计语言,对理工科各专业后续课程的开设起着开路先锋的作用,而且通过C 语言培养起来的逻辑思维和计算能力,是伴随我们学习全程的。另外,要使学生树立信心,使他们能正确地认识到自己在经过一段时期的学习以后是可以编写程序的,可以通过计算机解决本专业领域的问题,从而提高学习的主动性和积极性[3]。

2)培养学习兴趣

兴趣是学习的最好动力之一,兴趣源必须由教师来创造,并贯穿于教师授课全过程的各个环节中。针对C 语言程序设计这门课程的特点教师可采用以下方法提高学生对本课程的兴趣。

教师在课程刚开始时,能够对学生指出日常生活中哪些产品或工作可以是C语言进行程序设计完成的,并能够演示,以便吸引学生的眼球和激发学生学习的兴趣。在日后的课程中,逐渐利用已学知识来解决生活和专业学习中的实际问题。

3)充分利用实践课程

在实验教学中,由于实验课时间相对有限,建议老师在布置作业时一般要难易适当,使学生在经过努力后,基本都能编程实现,这样学生编完程序后就有一种成就感。如果作业太简单,学生轻松实现,印象不深,成就感不强烈,觉得太容易,没有兴趣。如果作业太难,学生难于实现,就会出现放弃或抄袭现象,也会丧失学习本课程的兴趣,更无从谈起学生的成就感。

对于后续课程的综合程序设计,可以将实验任务提前布置,留给学生更多的准备和预习时间,可以要求学生将作业在实验课之前写在作业本或编辑为电子版,对于出现的问题在实践课上进行独立、求助老师来解决,这样有助于问题的解决和提高学习效率,并且能够督促学生利用课余时间来进行复习和预习。这样学生对每个题目已经了解,避免学生上机时现看教材、现编程序的现象。

4)建设课程资源平台

创建资源丰富的课程资源平台,网站资源包含课程介绍、教学大纲、教学日历、教学材料、课程通知、答疑讨论、教学邮箱、课程作业等丰富的基本教学资源,所有资源实现资源共享,学生可以自行下载课件、学习资料,并进行交流讨论,为教师的教和学生的学提供学习和交流的平台,能更好地提高学生的学习主动性和学习效率。

3.结束语

本学期的C 语言程序设计课程在实践环节采取了上述教学方法后,学生对实验课的学习态度发生了根本变化,学生虽然有压力,却很有成就感,感觉学有所用。实践证明,以上实践教学方法极大地提高了学生,学习主动性和动手实践等综合能力,取得了良好的教学效果,在C语言程序设计实践课程教学中切实可行。当然,要真正上好《C 语言程序设计》的实验课,还必须将各种有效措施有机地结合起来,我们要在教学实际中总结新经验、勤于探索新方法并不断改进,才能在教学实践中取得好的教学效果,提高学生用C语言解决实际问题的综合能力。

参考文献:

[1]王冰.C 语言程序设计课程教学方法的探讨[J].计算机教育,2009 (2):142-144.

[2]程志梅,刘光萍,李荣.非计算机专业C 语言程序设计实验课程教学探讨[J].电脑知识与技术,2009(7):1649,1660.

语言课程设计总结篇2

[关键词]职业技术学院 计算机语言类课程 教学改革

如何在教学过程中针对职业技术学院的特点,充分调动学生的学习积极性,最大限度地挖掘学生潜能,激发学生的创新思维,培养面向生产、服务、管理第一线的开放型、外向型、实用型人才,是摆在从事计算机语言类课程教学教师面前亟待解决的问题。

一、理论课教学的改革

1.合理安排教学内容。教师在组织教学过程中,应该合理安排教学内容,将一些枯燥乏味的内容尽可能注入通俗有趣、与他们生活息息相关的实例中去,这样既可以使学生掌握基本知识,又增强了他们解决问题的能力。

2.实施任务教学法。任务教学是以明确的任务作为课堂主要教学目标,在学生实践任务过程中,培养学生自我分析、解决、总结问题能力的教学模式。在实施任务教学法的过程中,教师必须根据教学进度、学生所关心的问题,针对某一阶段的教学内容和技能要求,设计一个包含相关知识点的综合性任务,使学生在真实的问题下应用旧知识,探索新知识,使所学知识得到巩固、加深和迁移。

3.实施问题教学法。高职高专学生的基础较差,在学习中表现理解能力差的特点,因此,在理论教学过程中,要结合计算机语言类课程和高职高专学生的特点,改变传统教学模式,将以往教师帮助学生解答疑惑转变为教师寻找、发现与理论知识和学生生活相关的实际问题,使学生在思考、解答问题中增强理解,培养学生进行创造性思维的能力,充分调动高职高专学生的学习积极性,使学生在解决问题的过程中获取新知识,新理论。

4.改变授课模式。教师是教学的主体,学生是学习的主体,教师的教学效果要通过学生的主动理解掌握来实现。因此应采用交流式、对话式、讨论式等多种互动的模式,让学生积极地参与到课堂教学中来,充分调动学生的主观能动性,发挥每个学生的聪明才智,让课堂变为教师和学生的共同课堂。

5.使用多媒体授课,课堂渗透实践。计算机语言类课程是理论与实践结合非常密切的课程,在讲授理论知识时经常会遇到一些抽象的、难以理解的概念、理论和算法,教师使用多媒体对它们进行演示、模拟,使抽象、复杂的问题简单化,从而使学生便于理解和掌握,同时也更能激发学生学习计算机语言课程的兴趣和求知欲望。

二、实践课教学的改革

1.精心设计实践内容。教师既要善于营造热烈的群体氛围,又必须给学生留有冷静的独立思考的空间。在设计实践内容的过程中,应着重做好以下三个方面。一是要结合学生的实际情况。尽量体现知识性、趣味性、实用性,激发高职高专学生的灵感和创造欲,使学生对实验内容感兴趣,产生上机一试的愿望。这样,就可以充分挖掘高职高专学生潜能,调动学生的学习积极性,使学生乐于思考,善于创新,通过上机实践,完成实践内容,增强高职高专学生的自豪感和成就感,把高职高专学生从枯燥的程序设计中解脱出来;二是要注重实践课与理论课相适应。实践课对于培养学生创造力、检验学生理论知识掌握程度具有非常重要的指导作用,因此设计实践课内容时应做到内容和时间与理论课教学内容相适应,这样才能够加深高职高专学生对基本理论、基本知识的理解和掌握;三是注重尺度的把握。在设计实践内容时,难易程度和工作量的大小是教师要考虑的内容。对于工作量小题目可以一人一组,但对于工作量较大题目,一个学生在一次实践中无法完成,那么就要开设小组来设计,使学生从接触这门课开始就能够养成良好的协作精神。对于一些有一定难度的实验内容,教师在实践前给出解决问题的总体框架,把理论课教学知识点密切相关的、并且是容易出现问题的地方留给学生,要求学生在理解问题的总体框架下完成相关问题的设计,从而既培养了学生对待实际问题的总体设计能力,同时又达到了巩固基本理论和基本知识的目的。

2.主动指导。在传统的实践教学中,教师总是等学生问问题,这种被动指导存在着许多弊端,特别对刚接触这门课程的学生来说显得尤为突出,因为学生刚接触编程,实践过程存在很多问题,有时学生碍面子或缺乏自信心,即使有很多不懂的问题,宁可不做也不问教师。这样一来使学生从课程学习的一开始就害怕上机,因此要改变这种指导方法,作为任课教师要变被动为主动,主动发现问题,对于学生普遍存在的问题要进行集中演示,引导学生主动完成实践内容。

3.注重实践过程。指导教师在实践教学过程中只注重实践结果,把实践内容布置给学生,学生交上机报告,教师认真批改报告,至于报告中的结果是怎样来的,具体实现过程是什么,作为教师却全然不知,因此教师要全身心地投入到实践的全过程中去,只有这样,教师才能真正掌握学生的实际情况,发现问题,及时解决问题。

4.加强实践课讲评。作为计算机语言类课程的教学绝对不能忽视实践教学中讲评这一重要环节。以往教师只对理论课上布置的作业所存在的问题进行讲评,忽视实践课的讲评。实践课是检验学生基本知识、基本理论、基本技能掌握情况的一把尺子,不注重实践课讲评,结果使实践课教学效果越来越差,从而影响整个课程的教学质量。

三、其他方面的教学改革

1.及时总结教学经验。教学艺术无止境,不善于总结自己在教学中经验的教师不能算是称职的教师,相同的教学方法针对不同的教学对象、教学内容应有所不同。对于不同专业、不同层次学生绝不能从一而终,一成不变。我们应该在教学过程中经常总结自己的教学经验,对它进行分析,不断改进教学的方式、方法。

2.课程考试考核方法。对于高职高专学生来说,计算机语言类课程学习目的就是为了应用,因此,对于计算机语言类课程的考核应将重点放在实践性教学环节上,只有学生真正能够应用所学语言解决实际问题,才能说明学生掌握了这门语言。所以要改变以往以理论为主的考核方法。

3.提高教师自身素质。教师的教学能力直接决定了教学质量。计算机语言类课程具有种类多,更新快的特点,这就要求教师必须跟上计算机语言的发展,不断地充实自己,适应多变的语言环境,同时,由于计算机语言类课程是计算机专业众多后续课程的基础,这就要求计算机语言类课程的教师不仅要精通语言,而且要精通计算机其他方面知识,提高自身的综合素质,使教学过程做到有的放矢。

参考文献

[1]刘建华.计算机语言类课程教学模式初探.高教论坛,2005,(01).

[2]王航宇.浅议计算机语言的发展趋势.西安航空职业技术学院学报,2006,(02).

语言课程设计总结篇3

关键词:C语言程序设计;算法设计;能力培养;课程设置

《C语言程序设计》课程的教学目标着重培养非计算机专业学生使用计算机分析和解决实际问题的意识与方法。笔者在多年的C语言课程实践教学活动中发现,该门课程的教学普遍以知识的传授为主,注重语言基本语法知识讲解,轻视学生编程能力的培养。这种教学现状导致很多学生只能考试,不能编程。这种教学现象的存在与课程的教学目标是完全相违的。为此本文提出了以算法设计能力、编程能力和自主学习能力培养为目标的课程教学方案。

1基于能力培养为目标的程序设计方案的实施

程序设计是为解决实际的某一问题而设计的一系列求解活动的描述,其实现的关键就是构建出解决问题的算法。基于能力培养为目标的程序设计教学方案的实施,要抛弃传统的复杂的语法细节,以突出算法设计和编程能力为主要目标,并注重计算思维能力的培养。

1.1课程教学内容设置

以能力培养为目标的教学,注重对学生分析实际问题、构建算法、编程能力的培养。具体教学内容安排如下:(1)详细讲解算法知识。算法是程序设计课程的灵魂,掌握常用算法知识对程序设计课程的学习可起到意想不到的效果。在程序设计基础课程的教学中应树立算法这一核心思想。首先通过自然语言的描述引入算法概念,强调结构化程序设计中顺序结构、选择结构和循环结构的重要地位。(2)略讲基础语法中的数据类型和数据的输入与输出方法。对于C语言基础语法中的数据类型涉及到的繁琐的数据存储相关知识省略不讲,简化对数据类型自动转换与强制转换的讨论。简化数据输入输出方法,省略复杂的输入输出格式。通过顺序结构程序设计训练,掌握最简单的程序设计方法。(3)课程基础语法知识的的核心集中在三大控制结构、函数和数组。通过对大量的实际常用问题的算法设计,逐步建立问题求解一般过程。并通过对一些常见的算法的实现,强化编程能力的训练,使学生理解和掌握模块化的程序设计方法。

1.2多元化教学方法的使用

基于能力培养为目标的程序设计课程教学,授课过程中应采用多元化的教学方法,如案例教学法、任务驱动教学、互动式教学等。在理论课的教学中重点尝试使用了四段式互动式教学方法,该方法的实施由四个阶段组成:模仿编程、读程序、改写程序和独立编写。模仿编程适用于程序设计的初学阶段,采用类似书法学习中描红的方法,只需要按照授课老师给的一些程序例题进行模仿编程。读程序阶段需要授课教师事先准备好大量的程序例题,让学生逐行阅读,并逐行添加注释。改写程序阶段就是将一个已经阅读过的程序实例用不同方式进行实现。通过前面三个阶段的反复训练,学生已经掌握了C语言基本语法知识,最后就是让学生独立分析问题编写程序的训练。与传统教学方法相比,互动式教学方法有利于提高学生学习C语言程序设计的积极性,提高了程序设计课程学习的效率,可有效使学生从被动学习转换为主动学习。

1.3课程实验环节设置

改变C语言程序设计实验课中传统的“课前预习———课堂实验———撰写实验报告”的三段串行模式,重视程序调试环节。以能力培养为目标的程序设计课程教学,应注重程序调试方法和调试能力培养,要教会学生进行单步执行、观察数据变化、断点设置等。在实验课开设的初期,当遇到有学生请求教师进行排错,授课教师要抓住机会,讲解程序调试和查错的方法,以使学生在实验课的前期就能够掌握程序调试的方法。在实验课的教学过程中以培养学生能力为目标,使用了“结对编程”这一创新的教学模式。结对编程是指两名同学肩并肩地坐在同一台电脑前合作完成同一个程序设计。通过研究发现,采用独立编程的学生在实验过程中遇到语法错误、逻辑错误总是习惯请教老师。然而采用结对编程的同学,在整个实验期间则忙于广泛与其他同学交流和讨论,遇到问题时相互帮助,利用他们所学的知识积极解决问题。结对编程能够提高程序设计质量、减少程序代码的错误、提高编程技巧、增强团队之间的相互沟通、使每个参与者都能受益。

2实验教学效果分析

在实施以能力培养为目标的程序设计教学方案之前,武汉生物工程学院开设的C语言课程,大多数学生的编程能力和算法设计能力较低,学生学习该门课程的积极性不高,课程的教学质量偏低。通过改革方案的实施,在2012年秋季开始采用了以能力培养为目标的程序设计课程教学方案进行课程教学的开展,考试方式采用编程题占60%的试卷统一进行测试,近3年课程考试编程能力的结果分析见表1。从表1的数据分析可以看出,通过实施了以能力培养为目标的程序设计教学,授课教师认清了语言知识与编程能力之间的联系。在课程教学中有意识的突出对学生编程能力的培养,弱化了一些语言语法知识的讲解。这种教学方式不仅有效的提高了学生课程的学习兴趣,降低了课堂的流失率,还有效的提高了学生的算法构建、程序调试和编程能力的提高,考核效果较好。

3总结

以能力培养为目标的课程教学方案的使用,有效的改善了传统C语言教学偏重语言语法知识,忽视编程能力培养的教学误区。以能力为目标的程序设计课程教学,重在学生编程能力的培养。在保证能够描述算法的前提下简化语言的语法知识,改进教学方法、改革课程考核方法,总体提高了学生学习C语言程序设计课程的兴趣,取得了较好的教学效果。

参考文献

1李丽萍,王冬梅.C语言教学改革的探索与实践[J].辽宁工业大学学报,2009(2)

2王孝平,董秀成,谢维成.电器信息类专业高级程序设计教学内容和方法的探索与实践[J].武汉大学学报(理学版),2012(S2)

3袁红照,关涌涛.程序设计教学中结对编程的实践和效能分析[J].安阳师范学院学报,2011(5)

4詹英,王黎征.结对编程在程序设计课程实践教学中的应用[J].南阳理工学院学报,2009(3)

语言课程设计总结篇4

(中国矿业大学(北京) 机电与信息工程学院,北京 100083)

摘要:分析C语言教学中存在的普遍问题,从教学内容组织形式、教学方法以及考核方式等方面提出一系列有针对性的教学方法,指出这种教学方法能有效地提高学生的学习效率和质量。

关键词 :C语言程序设计;公共基础课;教学方法

基金项目:北京高等学校青年英才计划项目;煤炭资源与安全开采国家重点实验室开放课题(SKLCRSM11KFB12)。

作者简介:王振武,男,副教授,研究方向为数据挖掘、图形图像处理,wangzhenwu@126.com。

0 引言

为提高大学生利用计算机解决问题的能力,全国高校普遍为理工科专业的低年级学生开设了C语言程序设计这门必修的公共基础课程。一方面,该课程是学生接触的第一门程序设计类课程,其编程思维的养成是一个较长的过程;另一方面,该课程具有内容繁多、知识点关联性强、算法抽象、实践性要求高等特点,学生在学习过程中易产生畏难心理,进而出现学习动力不足、积极性不高等问题。C语言程序设计是一门难学也难教的课程,目前在教学上普遍存在很多问题。文献[1-4]对C语言程序设计的教学方法给出了建议,但都不够系统和全面。

1 C语言程序设计教学方法研究

1.1 理论教学

对于大多数课程而言,从宏观上将课程知识点及其关联讲授给学生非常必要,这便于学生更加系统深刻地理解所学内容。笔者以文献[5]作为教材讲解C语言程序设计的知识点结构。如图1所示,知识点之间的关联可以层层细化,教师首先从宏观上给学生介绍C语言程序的整体组成结构(如图1-(a),然后针对图1-(a)中一个源程序文件的组成成分举例介绍,如图1-(b)所示。在图1-(b)中,教师对涉及的知识点进行归类,共包含预处理命令、数据类型、运算符、语句和函数等5部分,然后图1-(c)至图1-(i)依次层层展开上述各类知识点的组成,逐步细化。

从宏观上梳理C语言与程序设计课程的知识点是非常必要和重要的,这样可以避免学生“只见树木,不见森林”,最后只学到一堆零散的知识点,只有从宏观上把握各个知识点在知识体系中的位置和作用,才能学得深、记得牢。

对于程序语言课程,如果仅仅介绍语法的运用,学生往往对知识点理解不深刻。我们在教学实践中的体会是:在讲解C语言语法的基础上,适当地剖析编程语言在计算机中的运行机制,会让学生的理解更加透彻。因此,我们的课堂教学方法分为如下两部分。

1)课件讲解。

课件讲解包括两部分,即知识点要点总结和知识点运行机制剖析。知识点要点总结就是告诉学生该知识点如何使用;而知识点运行机制剖析则告诉学生该程序在计算机内存中的执行过程。由于绝大部分高校在开设C语言程序设计之前都会开设计算机文化基础等课程,因此学生有足够的计算机基础知识来理解C语言程序的运行机制。

2)实例演示。

作为一门编程语言,C语言需要在实践中理解和掌握,因此,课堂教学中,在具体的编程环境(如VC++6.0)下演示十分必要。通过在具体的软件环境下编程,告诉学生应该做什么和不应该做什么,并总结该知识点的注意事项。相比传统的脱离编程环境,只在PPT或黑板上进行板书的教学模式,该方法的教学效果要好得多。在课堂教学中,具体的教学步骤如下:①使用PPT或者板书列出该知识点的注意要点;②在编程环境(如VC++6.0)下演示该知识点的用法,给出正确的和错误的使用方法,并进行对比;③通过幻灯片动画或flash动画等形式演示程序在计算机内存中的执行过程,让学生更加深刻地理解程序的运行机制。

3)教学难点与重点——“复合知识点”。

从C语言的教学内容来讲,数组、函数和指针是教学的重点章节,这些章节之间相互关联的部分又是重点中的难点,如数组和函数结合,数组名做函数参数,数组和指针结合,指向数组的指针变量,函数和指针结合,指向函数的指针变量等。在教学过程中要反复强调各个知识点的注意事项,如果基本知识点能够理解透彻,上述难点内容也就迎刃而解了。

1.2 上机实践教学

在实践教学中,教师可以通过实际教学案例循序渐进地强化学生对C语言知识点的理解。上机实践的教学内容通常分为两部分:基本知识点练习和综合训练。首先通过基本知识点的练习,让学生掌握该知识点的使用,即巩固课堂所学内容;然后通过一个综合性的大作业,训练学生综合应用C语言知识点的能力,例如,通过编写“学生课程成绩统计系统”考查学生对数组、结构体、指针、函数、文件等知识的综合掌握情况。

对于初学编程语言的学生,往往没有养成良好的编程习惯,出错的可能性较大,而出错之后进行调试又将耗费较长的时间,这势必对学生的学习热情产生负面影响。因此,一开始就给学生制定科学的编程步骤和规范,使学生养成良好的编程习惯,将大大减少程序出错的可能。在C语言教学实践中,我们总结了“五步编程法”:①定义变量,如“int a;”;②对变量进行初始化,如“a=0;”,对变量进行初始化操作是一种良好的编程习惯,可防止未对变量赋值而引起的隐性错误;③通过scanf语句赋值,如“scanf(“%d”,&a);”;④实现程序的主要算法,该部分是程序的主体;⑤通过printf语句将结果输出在显示器上,将结果输出在显示器上便于比较程序运行结果是否正确。

下面是按照上述五步编写的一个完整的C语言程序,用来比较两个整数的大小。按照上述五步进行编程,经过一段时间的训练之后,学生出现语法错误的可能性大大降低,此时学生更多的精力将集中在程序算法的设计和实现上。

1.3 考试形式

对于C语言程序设计的考核方式,我们采用知识点考核和编程实践相结合的方式。知识点考核偏重于C语言基本语法,用于检验学生对知识点的掌握是否全面,此项考核约占总成绩的40%;编程实践考核用于检验学生的实际动手能力,学生将在规定的时间内根据题目在机器上编程,此项考核约占总成绩的60%。为了实现知识点的考核,我们将考试与计算机二级C语言上机考试紧密结合,采用题库平台进行上机考试,学生直接在机器上答题并提交,知识点考核多采取客观题,如填空题、程序修改题以及读程序题等,编程题在实战编程中考核。C语言程序设计课程的重要特点就是实践性强,学习该课程的目的就是为了编写程序。因此从考试的角度讲,进行编程实践是最合适的方式,通过上机编程来考核学生的学习情况也是最公正和客观的方式。

2 C语言程序设计教学实践结果分析

中国矿业大学(北京)每年都有40多个班级同时开设C语言程序设计课程,因此该课程教学质量的高低将直接影响全校理工科学生对C语言的理解和掌握。中国矿业大学(北京)C语言程序设计教学团队经过长期的探索总结出一套行之有效的C语言教学方法,我们将上述方法在学校越崎实验班中进行了试点。如图2所示,采用上述教学法的越崎实验班的C语言程序设计课程考试成绩要明显好于其他班级,其中90分以上的学生占10.7%,80分以上的学生占总人数的53.6%。另外,学生的学习积极性比采用上述方法前得到明显提高,很多学生都对计算机编程产生了浓厚兴趣,实践证明我们提出的上述方法是行之有效的。

3 结语

中国矿业大学(北京)C语言程序设计教学团队在长期的教学实践中探索出的这套教学方法被证明是行之有效的,它能够极大地提高学生的学习兴趣,不但让学生学得会、记得牢,而且能够举一反三,把该方法应用到其他编程语言的学习中。长期的教学实践使我们深刻地认识到,教学方法的好坏对提高教学质量有直接和重要的影响。我们团队提出的这套教学方法是对C语言程序设计教学方法的初步尝试,希望能够对高等院校C语言程序设计教学方法的研究起到抛砖引玉的作用。

参考文献:

[1] 谢中科. C语言程序设计的教学改革与实践[J]. 理工高教研究, 2004,3(23): 96-97.

[2] 简慧云. 提高C语言程序设计教学质量的探讨[J]. 理工高教研究, 2004, 6(23): 83-85.

[3] 王孝平, 董秀成, 谢维成.提高电器信息类专业学生C语言学习能力的教学方法探索[J]. 高等教育研究, 2012, 2(29): 37-40.

[4] 张丽华, 王冬星. 自主学习教学模式在C语言教学中的运用[J]. 黑龙江教育: 高教研究与评估, 2009(12): 91-92.

语言课程设计总结篇5

[关键词]高职 艺术设计 图形创意 课程分析

图形是区别于口语、文字语言的另一种特殊语言,用图形语言与人快速沟通正是此课程教学的目的和任务。

一、课程开设原因。

1、图形创意设计的教学是设计专业的必然要求。

图形创意设计课程是艺术与广告设计类专业的核心课程,是现代设计教学培养创意型人才的重要组成部分,是培养职业艺术设计师工作岗位应有的艺术素质必修课程。该课程将对艺术设计类专业的学生设计原创作品起到明显的支撑作用。

2、图形创意设计课程是专业基础课程衔接专业设计课程之间的桥梁。

基础课程:设计素描、构成、字体设计……――学生学习知识与基础技能。

思维与方法课程:图形创意设计――思维与方法。

核心技能设计课程:广告设计、包装设计、CI设计……――视觉语言

图形创意设计是一门思维方法课程,在艺术与广告设计类专业的教学体系中,把学生学习基础知识与基础技能通过思维与方法转化成视觉语言,有承上启下的作用。

二、课程教学内容的确立。

1、专业对应的职业岗位。本专业对应的职业岗位有平面广告设计师、包装设计师、书籍装帧设计师、广告创意设计师、CI设计师等。

2、职业岗位需求的基于工作过程的课程能力目标。a、项目分析策划能力;b、联想与想象的能力;c、图形语言表达的能力;d、草图创意与表现能力;e、图形资源的收集与整理能力;f、图形准确表达能力;g、图形创意概念的表达能力h、图形创意沟通与表达能力。

课程能力目标与职业岗位需求能力目标的关系:职业岗位需求的能力目标决定课程能力目标的设定;课程能力目标的设定实现职业岗位需求的能力目标。

3、课程能力目标决定的课程教学内容:图形的概念与种类;图形创意的思维养成;图形创意的方法与表现;图形创意设计的概念表达;图形创意设计的创作程序。

课程能力目标与课程教学内容的关系:课程能力目标决定课程教学内容;课程教学内容实现课程能力目标

4、课程教学内容对应的基于工作过程的教学项目。

综合项目1:公益广告图形创意设计

活动子项目及能力目标:组建团队与项目的分析(项目分析策划能力)――思维导图(联想与想象能力、图形语言表达的能力)――草图设计与表现(草图创意与表现能力)――备图(资源的收集与整理能力)――图形的创意与组构(图形的准确表达能力)――正稿的修整与提交(图形创意概念表达能力)――创意的表述(创意沟通与表达能力)――总结(课题总结能力)。

思维训练项目:图形游戏;圆形、正方形、三角形的重组联想;逆向联想:黑与白、前与后等;中国传统图形收集整理。学生可对自己感兴趣的某一方面进行收集与整理,比如官员服饰、十二生肖等;元素的替换;混维图形一你中有我,我中有你;创意表达;团队总结。

综合项目2:企业引入案例相关图形创意设计

活动子项目及能力目标:组建团队与项目的分析(项目分析策划能力)――思维导图(联想与想象能力、图形语言表达的能力)――草图设计与表现(草图创意与表现能力)――备图(资源的收集与整理能力)――图形的创意与组构(图形的准确表达能力)――正稿的修整与提交(图形创意概念表达能力)――创意的表述(创意沟通与表达能力)――总结(课题总结能力)。

思维训练项目:图形游戏;方块与游戏;常见事物的联想一扑克牌、条形码等;恩施民俗文化与图形收集与整理;同构图形;汉字笔画结构与重构;创意表达;团队总结。

综合项目3:设计大赛

活动子项目及能力目标:组建团队与项目的分析(项目分析策划能力)――思维导图(联想与想象能力、图形语言表达的能力)――草图设计与表现(草图创意与表现能力)――备图(资源的收集与整理能力)――图形的创意与组构(图形的准确表达能力)――正稿的修整与提交(图形创意概念表达能力)――创意的表述(创意沟通与表达能力)――总结(课题总结能力)。

思维训练项目:图形游戏;特定事物联想一比萨斜塔的创意联想;词语与图形的转化一生与死;学生家乡民俗文化与图形收集与整理;传统图形的借用――共形图形训练;拼置图形一张冠李戴;创意表达;团队总结。

三、课程教学方法与手段

(一)多种教学方法的使用

思维导图法――一个概念的放射性思维训练,是将托尼・巴赞[英]的思维导图引入图形创意思维训练的一个发展和尝试,它比一个形象多种意义的训练更为进步的理由在于其突破性意义,因为有突破才有创新,创意如果永远在一个套路上徘徊,将缺乏个性,丧失生命活力。采用放射性思维可以开动大脑、活跃思想、让创意丰富多彩。在操作过程中,必须打破习惯性的横向、纵向思考定式,培养既放得开、又收得住的能力,努力在不同元素之间找到关联,继而发展成若干能回应主题概念的思考路线和创意构思。

头脑风暴法――演绎是学生对创意设计的全程体验。在头脑风暴演绎中,小组成员各尽其责,相互提携,同艰苦,共进步,在作业中消化理解授课内容,尝试合作的愉快与成功

进程评比法――有效帮助同学们紧跟教学节奏。课程中有要求同学们面对全班的四次亮相:第一次是思维导图评比,挑选总监并分小组;其余三次是各小组在草图、备图、完稿三个阶段的作业进程汇报,有效帮助同学们紧跟教学节奏。由于每个阶段有每个阶段的教学任务和小组经历,少了哪个环节或慢了节拍都会在全班亮相中遭遇困难,因此,为了对得起全组付出,同学们不会去抄袭,也不敢怠慢,因为哪个环节出问题,台下都有一群看过大量优秀作品的雪亮眼睛。

(二)教学手段一信息技术的应用。常用教学手段:多媒体技术教学、利用博客平台、网络环境教学等。

教学效果的扩展――举办教学成果汇报展。

以赛促学――本课程组每学期组织图形设计作品竞赛,收集行业竞赛信息组织参赛,通过形式多样丰富多彩的设计竞赛活动,提高学生对本课程的学习兴趣,加深学生对知识的理解和掌握。

校外项目的引进――校外合作伙伴的建立。

四、优化教学团队。

图形创意课程在艺术设计专业中是一门思维方法训练课程,在整个教学体系中起着承上启下的作用,所以在课程教学的团队选择上也要“承前启后”,专任教师要做好课程的衔接与沟通。把专业基础课程的老师和专业设计课程老师团队建设中来。

五、考核方式。

(1)创作思维过程的整理:要求学生把平时作业的创作思路进行整理并装订成册(每次课题创作的草稿与正稿),并写出学习的心得体会。

语言课程设计总结篇6

关键词:实践教学;C语言程序设计;改革

中图分类号:TP312.1-4;G642

C语言程序设计课程在高校计算机类专业都有不同程度的开设,它是计算机类专业一门重要的专业课程,也是学生能否进入程序设计大门的开篇启蒙课。C语言是一门实践性非常强的课程,要求学生不仅实现程序设计的思维训练,更能够熟练运用C语言编写和开发出各类应用程序。因此,在C语言程序设计课程教学中,需要更多的实践环节加入整个教学环节,并进行统筹的设计和实施。为此,我们对该课程的实践教学体系重新进行了设计,依据整体设计调整了教学内容和实践教学方法,从而全面提高学生利用C语言来进行分析问题、编写程序和调试程序的能力。

1 课程实践教学设计

C语言程序设计课程开设时间为大一第一学期,是学生学习程序设计的开篇课程,学生的计算机基础参差不齐,而且学生的逻辑思维能力尚未建立。为此,我们确定了本课程的实践教学目标,课程的实践教学目标定位在培养学生计算机逻辑思维能力、程序设计逻辑能力,掌握程序设计语言解决常用问题的方法运用能力,并养成良好严谨的程序设计规范,也为了各专业开设的后续课程的深入学习奠定良好基础。

按照课程实践教学目标要求,我们对整个课程实践教学进行统筹设计,具体包含有三个层次:分别为实验教学、兴趣小组和课程设计教学。三个层次随着时间依次递进推进,相互包容,形成一个在时间和内容上立体的教学体系。

(1)实验教学。实验教学是在课程教学中主要的实践教学环节,依据学生接受能力及基础程度,将课程实验内容划分为基础知识验证型实验、基础应用型实验,综合应用型实验、创新设计型实验四类。

基础知识验证型主要着手解决基础相对较差的学生,让其能够有个平滑地过渡,同时让学生打好逻辑思维的设计基础;

基础应用型实验内容让要体现梯度层次,满足不同层次的学生为原则,增加一些趣味性、实用性较强的实验,锻炼学生对知识点的理解和运用能力;

综合应用型实验是针对多个互联知识点的综合运用及训练,培养学生解决复杂问题的能力,主要采用1-2个完整项目分解,迭代逐步实现的方式来实施;

创新设计型实验主要是培养知识内容的综合运用能力,内容采用教师提供项目需求,学生自足选题或自行选题的方式,分阶段提交并演示程序设计成果,最终完成整个实验项目内容。

(2)课外兴趣小组辅助教学。课堂实验缺乏时间和内容的广度,为了弥补这一不足,激发学生学习学习C语言程序设计的兴趣,也为了提升课程的课下环节的充实性,我们对所有学生进行了基础知识的摸底,根据不同层次,按照C语言的主要应用,组建了C语言不同应用方向的课外兴趣小组。学生按照每个人的兴趣爱好,选择相应用方向,自发组建小组,每个小组推选组长,制定出学习计划和学结汇报等可执行方案。任课教师向每组成员提供部分的案例和参考资料,并同步地组织小组总结汇报及指导,让学生依托兴趣将每个人的程序设计能力和潜力充分调动和发挥出来。

(3)课程设计的教学提升。有了课堂、课下的实践教学的相互补充和推进,在学期的后半段,我们将C语言程序设计的课程设计任务提前一个月下达,由于课程设计是整个课程知识掌握的汇聚与提炼,是培养学生工程设计能力的重要手段,更是全面提升学生团队合作,来进行分析问题、解决问题综合能力锻炼的很好地平台。C语言程序设计的课程设计内容一般为独立完成一个完整的应用系统为目标,自发组队,随机分配题目,采用课下分散实践,课上集中辅导及考核的方式实施。

2 实验教学改革实施

2.1 实验教学方法改革

通过分析现有C语言程序设计课程内容,我们改进和简化了现有实验教学方式,整个过程中我们一直采用两个原则作为实验教学方法主线。

(1)实验内容采用案例教学。基础实验性采用独立的案例教学,比如,三种程序设计结构的实验内容,即采用了九九乘法表的实现,从顺序结构实现一行“*”;再加入选择判断处理换行;再使用循环结构实现九行“*”;最后启发学生如何实现“*”转化为数值、如何调整循环控制参数调整变化为三角形形状。通过这种熟知的案例,将基础实验生动起来,从而解决学生程序设计逻辑思维的锻炼。

综合性应用实验采用迭代式的案例教学,将教学项目按照功能和知识点进行依次分解到每次实验内,让学生能够从浅入深、分阶段地逐步完成一个完整案例,并同步掌握了完整应用的实现过程。例如,在教学中,教师采用学生成绩管理系统、扑克牌魔术系列游戏的实际、趣味案例进行实验教学的迭代教学,在每次实验中,不仅功能模块迭代实现,功能的实现知识点也采用迭代实现。

(2)任务驱动方式教学。每次实验,均采用任务驱动式教学,首先教师发放任务需求,并讲解任务实现所需关键知识;然后,要求学生按照标准的开发规范进行实现,规定时间提交任务清单及源码。从而,让学生逐步规范开发流程,并能够整体把握程序设计的关键技术和实现流程,同时通过实时调试,达到综合编程能力的教学目的。

应用举例,以学生成绩管理系统为项目总体任务,在学习控制语句时,下达第一次任务:使用printf、scanf实现学生基本信息的输入输出;在学习C语言基本控制结构后,下达新的任务:利用循环、选择语句编写本系统的登录验证程序和实现一个主菜单程序;在学习C语言数组后,实现学生的成绩录入、查询及修改和删除等基本操作;在学习C语言函数后,重新组织以上实现的程序代码,以函数的方式将各个子功能和主程序功能利用函数调用贯穿起来;在学习指针链表后,任务改为利用单链表动态管理系统的各项功能;最后在文件学习后,要求整个系统必须利用文件操作来实现系统的各项操作的存储化。

2.2 实验教学内容

依据实践教学目标,C语言程序设计实验教学内容按照以下5个不同的知识角度进行了设置。

(1)基础实验。基础实验项目共5个,各安排2学时。分别为运算符与表达式的使用、顺序结构设计、选择结构设计、循环结构设计及数组应用实验项目,通过基础实验的实践,学生能够掌握C语言程序设计的基本语法,能够熟练运用程序设计控制结构,能够掌握各种数据类型的组织和应用。

(2)复杂数据类型实验。该类实验旨在让学生逐渐理解掌握c语言处理复杂数据的几种形式,学会其数据类型的应用和区别。共设置了4个实验项目,各安排2学时。分别为数组应用2个,结构体应用2个。

(3)程序结构组建-函数。掌握程序结构的构建和组织,函数是一个主力军,学生需要掌握函数的设计和使用。共设置了2个实验项目,各安排4学时。一个是数组基础应用实验,另一个是结合前期的程序编写组织综合型实验项目。

(4)指针应用。指针是c语言的灵活性的杰出代表。学生需要熟练掌握指针这一特殊的数据组织形式和处理方法,从而能够将上述的控制、数组、结构体及函数有机地重组和包容进来。共设置了2个实验项目,各安排4学时,一个是熟练运用指针的综合实验,另一个是实现一个将指针与结构体、函数等知识融合的的综合型实验。

(5)数据存储实验-文件应用。文件的学习,是学生理解数据存储的方法和实现过程,从而形成一个“程序+存储”的闭环设计方法的锻炼。共设置了1个实验项目,安排4学时,实现一个相对完成的案例系统,如学生成绩管理系统基本功能,每项功能均需实现数据的文件读写等操作。

3 兴趣小组教学实施

为了充分挖掘学生程序设计的潜能,学科组织了该课程所有的任课教师,按照C语言的主要应用,组建了C语言不同应用方向的课外兴趣小组。小组主要分了四个方向,分别是信息系统开发、网络操作、游戏开发、嵌入式开发,学生自由报名,学生按照每个人的兴趣爱好,选择相应用方向,自发组建小组,每个小组推选组长,制定出学习计划和学结汇报等可执行方案。任课教师向每组成员提供部分的案例和参考资料,并同步地组织小组总结汇报及指导,让学生依托兴趣将每个人的程序设计能力和潜力充分调动和发挥出来。同时在每个月,各兴趣小组进行技术学习的总结汇报,学生的成果经过综合评定后,优先推选各类学院和学校各类竞赛和比赛。

4 课程设计实施

(1)课程设计安排与组织。在学期的后半段,我们将C语言程序设计的课程设计任务提前一个月下达,学生随机组队,每组2-3人。课程设计任务以项目任务书下达,各组随机抽选一份课程设计任务书,任务书在功能上、设计规范、和设计报告均有明确规范和要求,各组成员按照要求共同合作完成任务。

(2)课程设计考核。课程设计完成后,每组成员需按照要求,书写整理完整的设计报告,同时进行集中设计分组答辩。答辩小组将成员按照任务分工,逐一地将各自编写的应用程序演示,同时讲解核心的程序代码。教师评委依据改组的程序功能、模块划分、程序结构及数据存储,算法运用等环节,为每位学生逐项打分。最终的课程设计考核成绩=设计过程(20%)+设计报告(40%)+答辩成绩(40%)。

5 结束语

通过对C语言程序设计课程实践教学的改革,增强了程序设计学习的兴趣和积极性,程序设计整体水平得到了较大幅度地提高。学生不仅打下了扎实地基础技能能力,而且掌握了一套行之有效的项目实践经验和技巧。这也为学生在后期的计算机专业课程中学习扫清了道路和奠定了坚实基础。下一阶段,我们除了继续完善C语言课程实践教学内容之外,我们要组织学生自主开发适合自己的程序设计实验资源平台,将课程的实践过程监控起来,内容丰富起来,配套资源建立起来,真正地为课程实践教学提供持续地保障。

参考文献:

[1]陈延寿,宋萍萍.信息管理与信息系统专业实践教学改革与实践[J].实验技术与管理,2008(05):139-143.

[2]陈洁.CDIO工程教育模式在高职软件专业中的实践[J].计算机教育,2010(11):74-77.

[3]吴国栋,涂立静.软件工程一体化教学模式探讨与实践[J].计算机教育,2010(16):101-104.

语言课程设计总结篇7

【关键词】Sakai;远程教育;英语在线课程

【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097(2010)09―0085―06

引言

我国的远程教育发展到现在,已由过去的面授和远程辅导参半的形式转变为更多依赖于远程教学的形式。其中,在线课程的建设则是远程教学得以蓬勃发展的重要一环。一些开源的学习管理系统 (LMS)如Moodle和Sakai的出现使得在线课程的开发有了坚实的平台支持。利用这些免费的开源平台,远程教育机构可以很方便地进行二次开发。由于Moodle基于PHPMySQL+Apache架构而Sakai基于J2EE架构,所以“从技术的角度讲,它比Moodle的发展前景更为广阔,可复用性和安全性都更强。”[1]正是基于这方面的考虑,北京邮电大学网络教育学院最终选择利用Sakai来开发自己的第二代网络课程平台。自2007年以来,北邮网院已经基于Sakai开发了十几门完整的在线课程。本文介绍的就是其《大学英语第二册》网络课程的建设情况。

一 课程开发的理论依据

在线课程在开发之前首先要对其框架做整体构思,其中一环就是找到适合的理论架构,恰当的理论架构可以用来指导整个开发过程。由于本课程是一门外语教学课程,所以在开发过程中结合了相关的课程设计理论和语言教学理论,分述如下。

1 相关的课程设计理论

我们在开发在线课程的初始就有着明确的目标,就是要使课程适合学生的自学,真正摆脱以往填鸭式的教学模式。其实,教学设计模式一直以来都存在着以“教”为主和以“学”为主的争论。不过,随着教学设计理论的发展,目前则又出现了颇为流行的“主导-主体”教学设计模式,这种模式明显是要融合前两种模式的优势。这种双主教学设计模式使得教师可以根据教学内容和学生的认知结构来灵活选择“发现式”或“传递-接受”的教学分支[2]。可见,在线课程必须重视学生的“主体性”。然而,有学者指出“大多数教学系统都忽略了学习者个体之间在学习能力、知识背景、学习目标和学习风格方面的差异” [3]。这种“无差异教学”的模式难以照顾到学生个性化的学习诉求。这就要求我们在课程设计之初要对学生的学习风格(learning style)做一个综合分析。学习风格指的是学习者在获得和处理信息时具有的特点、优势和喜好[4]。如果学生的学习风格和教师的教学风格有着严重的分歧,则学生的学习效果将会大打折扣[5]。本课程采用了流行的Felder-Silverman学习风格模型(FSLSM)来分析学生的学习风格。这一模型包含四个维度,即“感官/直觉”(Sensing/Intuitive)、“视觉/口头”(Visual/Verbal)、“积极/思考”(Active/Reflective)和“连续/全面”(Sequential/Global)[4]。Felder和Soloman(1997)则基于这一模型开发出了一个学习风格量表(ILS)[6]。我们将这一量表进行汉化后,通过电子邮件分发给一些学生,并对回收后的量表进行了统计。我们发现,学生多为感官型(偏好具体、实用和程序化的信息)、视觉型(偏好图表和图像,寻求信息的视觉体现)、积极型(偏好尝试,喜欢集体协作)和连续型(偏好直线有序的信息表达方式,通过细节来了解整体)。这要求我们在设计在线课程的时候要多使用直观的媒体表达形式,知识模块最好是直线型有序地安排。另外,由于远程学生多为在职人员,他们经常是利用较短的空余时间来学习,所以模块的时间也不能过长,一般来说每个模块提供10-20分钟的内容即可[7]。

2 相关的语言教学理论

本课程的设计不仅借鉴了一些课程设计理论,还考虑到语言课程的特点,参考了最新的语言教学理论。我们主要借鉴的是近年来最为流行的“交际语言教学”理论(Communicative Language Teaching)和“任务型语言教学”理论(Task-based Language Teaching)。[8]交际语言教学理论的核心是“教语言应当教学生怎样使用语言,用语言达到交际的目的,而不是把教会学生一套语法规则和零碎的词语用法作为语言教学的最终目标”[9]。根据Ellis(1990)的观点,判断教学活动的交际性程度可以从六个方面来看。一是交际目标,即交际活动必须具有真正的交际目标,而不是训练语言本身;二是交际需求,即交际活动必须让学生产生交际的渴望;三是注重内容而非形式;四是语言的多样性,即交际活动必须让学生使用各种语言形式,而非某个特定的语言形式;五是没有教师的干预,即交际活动必须在学生之间开展,而非在师生之间开展;六是不控制语料,即交际活动不控制学生使用的语言[10]。这就要求在线课程要多设计和实际交际相关的活动,而非单纯的语法、词汇讲解。另一方面,由于目前我国的网络教育本科学生需要参加统一的学位英语考试和网络教育英语统考,所以在线课程也有必要兼顾到这一点。这就需要课程设计者平衡好“应试”与“应实”两者之间的关系。任务型语言教学理论则是对交际语言教学理论的进一步发展,只是更强调任务在整个教学活动中的中心地位。该教学法相信,当学生把注意力集中在任务之上,而不是正在使用的语言上时,他们会学得更好[11]。这就要求在线课程包含恰当的任务,使得学生通过完成这些任务而达到较好的学习效果。

基于对上面这些理论的研究,我们确定了本课程要达到的几个目标,即“易用性”、“模块化”、“实用性”、“交互性”、“趣味性”和“形成性”。最终我们完成了本课程的开发模式图,如图1所示。 br>

从图1可以看出,学生在进入课程之初先要学习“课程导学”,从而掌握课程的学习流程,然后进入“单元学习”,最终参加“期末考试”。学习活动主要发生在“单元学习”这一环节,这也是在线课程的主体。单元学习由7个栏目组成,分别是:①预习模块,②课文学习(因为课文较长,所以把课文按照意群划分成了好几个段落模块,这样就可以避免每个模块的学习时间过长),③复习模块,④实时课堂,⑤统考直通车模块,⑥学位英语练习模块和⑦阶段作业。图1中的红色线条连接的内容为必修内容,绿色线条连接的内容则为选修内容。这种设计缘于对学生的不同学习风格的考虑。

二 课程设计目标的实现

下面具体介绍本课程从哪些方面来实现预定的设计目标,而具体的平台开发步骤则不在讨论之列。

1 “易用性”的实现

由于网络教育的生源复杂,英语水平高低不一,且多数学生的英语基础不好,这就要求网络课程突出“易用性”。易用性主要体现在以下几个方面。

首先,在课程首页有课程导学,对课程的总体情况做了介绍,见图2。 br>

其次,每个单元基本上由“Preparation(课前准备)”、“Text(课文学习)”和“Summary(总结)”组成,其中的“课前准备”模块对课文的背景知识做了介绍,并设置了“课文前测”用以检测学生的现有知识,见图3。

第三,文章里的重要词汇用红字显示,鼠标放在其上则会显示中文释义,并对某些重要词汇、词组做了进一步解释。每个段落都有中文释义和语音朗读,点击按钮即可浏览,如图4所示。

第四,课文学习模块由“问题引入”、“听读段落”、“精讲课堂”、“词汇总结”、“趣味活动”和“模块后测”组成。课文学习模块之后设有课文总结模块(Summary)和课文后测,对文章的重难点进行总结和练习,见图5-6。

第五,阶段作业系统可以根据学生答题中的错误给出反馈,让学生可以做针对性的训练,见图7。

2 “趣味性”的实现

“趣味性”主要体现在以下几个方面。

首先,课堂讲解中大量使用音视频资料,力使讲解生动形象,见图8。

其次,课文学习的每个模块都设有“趣味活动”,寓教于乐,见图9。

第三,在“课外学习园地”栏目下设有“英语歌曲”、“英语新闻”和“影视片断”等内容,这些也是学生喜闻乐见的。另外,课程还设置了交际英语动画栏目,见图10。

3 “模块化”的实现

由于本课程的课文较长,再考虑到网络教育学生的学习习惯,故而将每篇课文按照意群分成了几个相对独立的部分,每个部分形成独立的模块,每个模块的学习时间控制在20分钟左右,这就是课程的“模块化”。如图11所示,第一单元的课文被分成了4个模块(Part one-Part four)。

4 “交互性”的实现

基于“交际语言教学”理论的要求,本课程在很多环节中都体现了“交互性”。

首先,在课文讲解中穿插交互活动,见图12。其次,每学期都设有大量的网上实时课堂,见图13。第三,课程还提供在线论坛,QQ群等交流方式。

5 “实用性”的实现

由于网络教育的本科学生要面对两大英语考试,即“英语统考”和“学位英语考试”,所以本课程每个单元的最后两个模块就设置了相关内容。另外,我们还开发了统考模拟练习系统。课程的阶段作业系统会对学生做错的题目进行反馈、解析,见图14。这些都突出了“实用性”。

6 “形成性”的实现

课程考核强调“形成性”。网络教育时空分离,很难监控学生的自学情况,单靠期末考试无法控制学生的学习质量,故而本课程突出“形成性”考核。每学期设置10次作业(8次客观题,网上提交,可以反复做;2次主观题,邮寄给相关教师)。课程总评由阶段作业(30%)、出勤(10%,主要包括实时课堂出勤、登录在线课程时长、论坛参与情况,由平台系统自动记录)和期末成绩(60%)组成。图15显示的是是总评成绩的构成情况。

三 课程使用情况与结语

本课程开发历时一年,自2008年投入使用后深受学生的喜爱。根据我们的调查,学生普遍反映课程非常适合自学。这也是我们开发课程的初始目标之一。在线学习的学生比以前使用简版课程的时候有所增加。从近几次的期末考试成绩

来看(见表1),本课程的通过率稳定在80%左右,而未使用此在线课程之前,通过率才为60%左右。再从学生参加网络教育英语统考的情况来看,使用此在线课程后学生通过率有着稳步的提高。所以,从总体上来说本课程的建设是成功的。

另一方面,虽然我们在课程建设中借鉴了很多先进的课程设计和教学理念,但是由于目前国内远程教育的实际情况限制,有些理念并没有得到很好的执行。比如,有些学生具有强烈的应试情节,所以只关注应试方面的内容,而忽略了很多其他方面的学习。还有些学生基础太差,根本不愿意参加课程布置的活动,从而一直作为“旁观者”而存在。所以,即使我们已经认识到他们的这种“学习风格”,但是在线课程也很难让他们获得良好的学习效果。

参考文献

[1] 翟菁.Sakai与Moodle的比较研究[EB/OL].

[2] 何克抗.教学系统设计[M].北京: 高等教育出版社, 2005.

[3] Ford, N., & Chen, S. Matching/mismatching revisited: an empirical study of learning and teaching styles[J]. British Journal of Educational Technology, 2001,32 (1): 5-22.

[4] R. M. Felder & L. K. Silverman.Learning and Teaching Styles in Engineering Education[J].Engr.Education,1988,78(7): 674-681.

[5] Oxford,R.,M.Ehrman,&R.Lavine.Style Wars:Teacher-Student Style Conflicts in the Language Classroom[A]. In S.Magnan(Ed.),Challenges in the 1990’s for College Foreign Language Programs[C].Boston:Heinle and Heinle, 1991.

[6] Felder, R. M.,&Soloman, B. A. (1997). Index of Learning Styles Questionaire[EB/OL].

[7] 葛子刚,杨丽华,马焕新.利用Sakai平台建立在线课程初探―以一门英语课程为例[J].现代教育技术,2009,(S1): 145-148.

[8] 王蔷.英语教学法教程(第2版)[M]北京:高等教育出版社,2006:14.

[9] 交际语言教学[EB/OL].

[10] Ellis,R.Activities and procedures for teacher preparation.In J.C.Richards,&D.Nunan(Ed.),Second Language Teacher

语言课程设计总结篇8

关键词:教学改革 实践教学 VHDL语言

中图分类号:G642 文献标识码:A 文章编号:1674-098X(2015)09(a)-0117-02

VHDL语言[1-2](VHDL,VHSIC (Very High Speed Integrated Circuit)Hardware Description Language)是一种标准的数字系统硬件电路设计语言,于1983年由美国国防部(DOD) 为实现其高速集成电路计划发起创建的一种高速集成电路硬件描述语言,其目的是为了给数字电路的描述与模拟提供一个基本的标准。VHDL语言在1985年完成第一版,1987年成为IEEE标准(IEEE STD1076-1987),1993年增修为(IEEE STD1076-1993)标准。VHDL语言为高级硬件行为描述型语言,为所有可编程逻辑器件厂商(如Xilinx和Altera公司等)所支持,已成为电路设计人员和电子设计工程师必须掌握的工具语言。硬件逻辑设计技术[3]是电子信息类专业的重要专业课,该课程包括课堂理论教学和实验两个模块,其特点是软硬件结合,该课程的综合知识面宽及工程实践性强。电子信息类专业的学生掌握硬件逻辑设计能力无论是对学生完成毕业设计或工程创新,还是促进学生就业都有重要意义。因此,硬件逻辑设计的实践性教学在电子信息类专业实践教学中的地位日益显著,如何开设好VHDL语言及硬件逻辑设计是当前硬件设计语言课程中的一个非常重要的问题[4-6]。

1 教学目标

《VHDL语言及数字逻辑设计》课程属电子信息类专业技术类选修课,是将控制,仿真与芯片设计相结合的一门硬件设计语言。通过本课程的学习,使学生通过对VHDL语言及EDA技术的学习和实践训练,获得现代硬件数字逻辑设计的软件化设计方法,了解并初步掌握数字系统硬件电路设计领域的最新技术;通过有针对性、分层次、分阶段地实施实践教学,激发并调动学生创造性思维能力,强化学生的实践动手能力和创新能力,为学生在硬件逻辑设计领域的进一步深入探索和进行创新奠定工程基础,以及应用VHDL及EDA工具开发设计数字系统的基本方法及技术,为学生完成毕业设计及将来的工作等打下扎实的基础。

另外,本课程的教学难点是,一方面要把握学生的数字电路基础水平;另一方面要高度概括VHDL语言的专业课内容,深入浅出,还要照顾到彼此之间的联系,尤其是面向应用。因此,首先讲清楚确知学习VHDL语言的意义和FPGA的工作原理,并进一步讲清VHDL语言的基本结构和以及VHDL语言中主要描述语句的特点和用途,并设计一些基本逻辑电路实例,目的在于让学生熟悉VHDL语言的整个过程,能运用VHDL语言编程及进行仿真,并掌握其中的关键技术。这样便于学生进一步学习和理解VHDL语言的应用,增强学生在工作中的竞争能力,达到可以用VHDL语言设计数字逻辑电路和数字应用系统,并在CPLD/FPGA可编程逻辑器件上实现自己的设计。

2 教学内容

VHDL语言如今已经广泛被应用到FPGA/CPLD和ASIC中的设计。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件逻辑设计任务,提高了硬件设计效率和可靠性。而且VHDL语言具有与具体硬件电路无关和与硬件设计平台无关的特性,并具有良好的电路行为描述的能力,在语言易读性和层次化结构化设计方面表现了强大生命力和应用潜力。因此,我们选择VHDL语言作为这门课的课堂教学内容。

《VHDL语言及硬件逻辑电路设计》课程内容的主要教学思路是,以VHDL硬件描述语言为硬件设计表达手段,以Xilinx公司的ISE软件为硬件设计开发工具,并以FPGA/CPLD可编程逻辑器件开发系统为教学实践平台,来实现学生对数字电路系统的开发设计,培养学生自顶而下的层次化设计思想,提高学生应用实践创新能力。

在教学内容上,删去了一些FPGA/CPLD可编程器件结构内容的过多讲解,重点讲解VHDL语言内容,并利用有限的课时补充了硬件逻辑电路设计方面的一些最新进展,以利于学生开阔视野和提高学习兴趣;针对VHDL语言语法丰富的特点,增加了大量课堂实例,并结合应用对VHDL语言中关键要点进行详细说明,便于学生理解和掌握VHDL课程内容;在开发软件方面以Xilinx公司的ISE软件作为平台,并针对硬件仿真,重点是让学生学会并熟练掌握用ISE软件进行数字系统仿真的基本过程和操作;在实践训练方面,精心设计了课堂练习/课后习题和配套实验,提高学生实践动手能力,从而达到良好的教学效果。

3 多层次式教学模式

《VHDL语言及硬件逻辑电路设计》课程是一门工程实践性很强的课程,我们提出以实践训练为主,边学边练的硬件逻辑设计教学模式,重点加大对学生实践能力、解决实际问题能力及团体合作精神等综合素质的培养,使“数字逻辑电路设计实践教学”在本科培养中发挥更重要的作用。在教学过程中,提出多层次的实践教学模式,通过大量的多层次实例教学让学生主动建构知识、增长技能、发展能力。

我们将《VHDL语言及硬件逻辑电路设计》课程的实践教学分为三个层次。

第一层次是课堂实验教学,这一阶段主要培养的是学生的主动学习能力,通过课堂实验练习使学生掌握和熟练使用开发工具,具备基本的硬件编程能力。课堂实验教学是针对教师在讲授理论内容后,对应设计相应知识内容的实验项目,并编写课堂实验指导书。在理论课部分内容方面,首先讲解VHDL语言的基本单元,如VHDL语言设计的基本单元、构成、子结构描述(元件说明,元件安装)等,在VHDL语言的数据类型方面,主要讲解VHDL语言的客体及分类、整数类型和数组类型,表达式与运算符;其次,介绍VHDL语言主要描述语句,如顺序描述语句和并发描述语句;最后介绍基本逻辑电路的设计,如组合逻辑电路的设计,时序电路的设计,存储器和有限状态机设计等。那么针对课程的理论内容,设计的实验主要有:(1)ISE工具的使用;(2)编码器和译码器等组合逻辑电路的设计;(3)有限状态机和计数器等时序电路的设计;(4)RAM和FIFO等存储器的设计。通过这些基础知识点的实验练习,能让学生较好的熟悉VHDL语言的基础知识和语句的基本应用,从而较好的掌握VHDL语言中的关键内容,加深了对VHDL语言知识点的感性认识和全面掌握,达到可以用VHDL语言设计数字逻辑电路和数字应用系统。在课堂上通过对算法实例的程序执行仿真模拟。

第二个层次是综合性设计实验,这一层次的实验要求学生已经掌握基本的VHDL语言知识并能综合地运用所学内容,主要培养学生动手实践能力、解决实际问题能力及团队合作能力。综合性设计实验以硬件开发板实验为主,主要包括跑马灯、VGA显示、波形发生器、通用异步收发器、SRAM接口设计等题目。在实验中,教师要求学生每4人为一组进行实践练习。在实验过程中,要求学生能上机编写代码并调试VHDL程序,每组学生对实验过程和实验结果进行分析和总结,并提交硬件实验报告。在实验课中,教师根据各个小组提交的实验报告,首先安排各小组进行实践动手经验交流,然后选择一些优秀小组中的代表上台做实验心得汇报,并现场进行问题分析和技术总结,加深了对VHDL语言中知识点的感性认识和全面掌握。通过这些活动,不但让学生熟悉了硬件设计的开发环境,提高了硬件设计编程技巧,而且还能激励学生主动学习VHDL语言的兴趣,提高学生的分析和解决实际问题的能力,并培养学生团体合作能力。

第三个层次是课程设计实验,这一阶段要求学生独立完成硬件工程课题的设计与实现,在强调学生独立设计实现的同时,更加注重学生综合能力的培养。课程设计题目采取开放式选题,可由教师提供背景明确和启发性强的题目,也可以由学生自主选择题目并提交相应的课程题目设计目标、任务和方法,经教师审核批准后作为课程设计题目。另外学生也可以根据个人兴趣选择不同类型的课程设计题目后,由学生自行拟定实验方案,查阅文献资料和编写VHDL程序,自主解决实验问题,并对对实验结果进行分析总结,撰写课程设计研究报告。通过这些课程设计实验设计,在培养学生自主学习及主动学习的同时,也锻炼学生的动手能力和表达能力。

4 结语

VHDL语言及数字逻辑设计课程是一门工程实践性很强的课程,通过有多层次地实施实践教学,充分发挥实践教学的优势,激发了学生的学习热情,强化学生的实践动手能力和创新能力,并培养学生独立思考、自主创新的学习习惯,取得了较好的教学效果。该实践教学体系遵循人才培养的客观规律,将多层次实验从简单到复杂、从基础实验练习到综合创新实验,贯穿于整个VHDL语言及数字逻辑设计课程学习过程,使学生在循序渐进的实践教学过程中成长。

参考文献

[1] 侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,2009.

[2] 谭会生,张昌凡,EDA技术及应用[M].西安:西安电子科技大学出版社,2011.

[3] 曾志廉,何清平,通用FPGA试验系统的设计与应用[J].计算机信息,2007(11):234-235.

[4] 叶波,赵倩.“集成电路系统设计”课程教学改革探讨[J].中国电力教育,2010(16):109-110.

语言课程设计总结篇9

关键词:程序设计课程;教学改革;程序设计能力

1 研究背景

程序设计能力是计算机及其相关专业学生最重要的专业能力之一,它是评价本专业本科生培养质量的首要指标。高级语言程序设计是计算机专业学生的第一门专业基础课程。通过该门课程的学习,学生应该掌握正确的、规范的编程方法;掌握通过编程解决问题的方法和思路;加深对计算机基本概念的理解,训练逻辑思维能力,培养严谨的科学作风。因此,该门课程的教学质量直接决定了学生程序设计能力的高低,对学生专业素养的形成具有重要的影响作用。

在高级语言程序设计课程的教学过程中常常会出现这样的矛盾冲突:教师抱怨课时少,课本上的内容不能讲细讲全,学生底子薄,难以深入理解课程的要义和精华;而学生则抱怨课程概念比较复杂,规则繁多,枯燥乏味,难以学习,难以实际运用,因而缺少学习的兴趣和动力,更谈不上自主学习。

在多年的教学实践中我们感到,老师在课堂教学中过于注重语句、语法和一些细节的讲解,考核(特别是标准化考试)也是偏重于语法,课程基本上是以高级语言自身的体系脉络展开的;在常用的“讲授语法规则,给出例题,再加解释”简单三步式的教学中,学生花了很大精力学习语法,但还是不知如何编写一个正规的程序,不知道怎样通过编程去解决问题,忽视了程序设计思想的学习。分析问题、解决问题的能力不高,很大程度上影响了学生专业技能的培养。为此,我们对课程的教学现状作了调查和分析研究,主要状况如下[1]:

1) 目标定位不明确。学习编程语言还是学习程序设计方法?教授编程知识还是培养用编程知识解决实际问题的能力?程序设计类课程目标定位不明确,没有建立课程目标体系,专业基础课的作用不明显。

2) 对专业能力的培养重视不够。课程教学中太过强调程序语言本身的要素,以知识点为目标,忽视了对知识综合运用和实践能力的培养。

3) 对课程的实践性重视不够,实际知识运用的训练较少。实践教学不够系统和完善,实践项目的设计没有充分考虑能力目标的培养而过多关注程序语言本身的特性。

4) 练习和考试。多采用书面或验证性实验的形式,以标准化习题和简单的编程题为主,缺少对知识灵活运用的练习题,缺少专业性编程基础的练习题,缺少对程序实际运行的检查,从某种意义上引导学生只关注基本概念和语言要素,忽视了对程序设计能力的锻炼和培养。

5) 从教学效果上来看,学生基本程序设计能力差,遇到程序设计问题不知如何下手,缺乏完整系统的程序设计方法,工作效率低;缺乏专业程序设计的能力和意识,代码质量意识弱,代码质量差,缺乏中等规模以上的程序设计能力。

2课程体系改革

2.1教学内容的改革

经过分析,我们认为在高级语言程序设计课程中一些更为重要的内容没有教给学生(或强调得不够),那就是程序设计的方法和编程解决问题的思路。为此,我们对程序设计课程进行改革,在教学内容的设计以及教学过程的各环节设计中,弱化学生对编程知识和语言本身的关注,突出对知识的运用,使学生能从更高的角度认识学习目的,并在第一门程序设计课程中引入软件工程的思想,指导学生编写规范的程序。改革后的教学内容如表1所示。

2.2教学方法的改进

在教学中,努力贯穿程序设计语言的语法服务于任务求解和程序实现的思想。以知识点为主线,采用问题驱动方式,通过实例来讲授程序设计的概念和方法。重点放在编程构思上,试图贯穿以程序编写带动语法教学的模式,引导学生掌握计算机语言的核心编程方法,提高应用能力,做到计算机语言知识和应用开发能力的融会贯通。

任务驱动是指由教师根据教学内容,以任务为核心组织每一堂课的教学,将学生自主学习和探究过程置于一个特定的情境中。通过交流,引导学生发现问题、解决问题、反思学习,充分发挥学生的主动性和积极性。在教学中,我们把原来“讲授语法知识讲解算法思路学生理解算法思路用该种算法解决实际问题”的课程授课体系,改革为“提出问题分析问题解决的思路和方法(算法分析)解决问题(编写程序)语法小结程序测试、结果分析用该方法解决实际问题”。在专业学生的第一门专业基础课程中引入软件测试的介绍,使学生一开始就建立一个正确的软件测试观点,对提高学生的程序调试能力有很大帮助。

我们学院高级语言程序设计课程是以C语言作为教学语言。下面以“选择结构程序设计”单元为例,说明课堂教学组织结构。

1) 选择结构程序设计教学案例。

任务一:计算一元二次方程的根。

任务二:从键盘输入你和你朋友的年龄,判断谁的年龄最大,输出最大者的年龄。

算法1:用不带else子句的if语句编程

算法2:用带有else子句的if语句编程

算法3:用条件表达式实现

任务三:给出由身高与体重计算的“体指数”,判断某人是否属于肥胖。

算法1:用不带else子句的if语句编程

算法2:用在if子句中嵌入if语句的形式编程

算法3:用在else子句中嵌入if语句的形式编程

任务四:根据输入的百分制成绩,转换成相应的五分制成绩并打印输出。

算法1:用嵌套的if语句编程

算法2:用switch语句编程

任务五:编程设计一个简单的计算器,要求根据用户输入的表达式计算,指定的运算符为加(+)、减(-)、乘(*)、除(/)。

2) 语法小结――if-then; if-then-else; switch。

3) 程序测试――白盒测试法。

4) 编程练习。

在课堂教学组织中要做到选择任务典型,能够代表一些基本的算法,并能留下深刻印象;随着问题算法由浅入深地介绍,语法知识逐步展开;将程序测试引入,不仅需要设计合理的测试数据,还需要设计不合理的测试数据,让学生建立正确的程序测试观点。

2.3教学手段的变化

在教学手段上,积极采用多媒体教学,但不局限于多媒体教学。我们发现,并不是所有的教学内容都适合采用多媒体教学,多媒体技术不恰当的使用会分散学生注意力,不利于培养学生的逻辑思维。在高级语言程序设计课程的教学过程中,我们将传统教学与多媒体教学进行了有机的结合。将一些概念、语句的格式说明、案例代码制作成课件,在课堂上展示,加大信息量的投入。大部分例题和习题直接在C编译环境下讲授,但部分案例的分析和程序的编写过程,则采用传统的黑板板书教学方式,随着老师的讲解和板书,将问题层层剖析、层层深入,能有效带动学生的积极思维,增强师生互动。

建立网络辅助教学平台可以有效地利用教学资源,扩大学生的知识面,增强师生互动。该网站收集了完整的网络课程资料,包括教学大纲、教学录像、网络教学课件、实验指导、在线测试、下载中心、在线答疑等栏目,为学生自主学习提供了丰富的资源。

2.4课程考核方式的改变

衡量高级语言程序设计课程学习的好坏,不是看学生“知不知道”,而是“会不会干”。所以,建立一个服务于课程目标的学生成绩评定方法是一项非常重要的工作。我们要求成绩评定应具有激励、反馈、导向三大功能,达到“以考促学”的目的。因此,在评定内容上不仅仅是基本理论、基本知识的掌握,更要重视对学生学习过程的考核,重视实践和动手能力的考核,侧重考核学生解决问题的能力。

以往,高级语言程序设计课程成绩的评定是以8∶2方式,即期末笔试成绩占该课程总成绩的80%,平时成绩占总成绩的20%的方式。在新的成绩评定体系下,采用5∶3∶2评定方式,即期末笔试成绩占总成绩比例由80%降为50%,增加了实践环节成绩,占总成绩30%,平时成绩仍占总成绩20%。其中,实践环节成绩包括课程学习过程中的10个实验成绩以及课程结束时的实践环节考试成绩。这种考核进一步促进学生对实践能力培养的重视。

3结语

课程特点和教学目标的定位决定教学方法的选择和对教学内容的设计,“案例引导,任务驱动”的教学模式是实施高级语言程序设计课程教学的有效方法。我们对近几年的程序设计教学进行了调查,学生普遍反映课程教学的改革提高了他们的学习兴趣,动手能力和编程能力有了明显提高,为进一步学习和工作打下了良好的基础。

参考文献:

[1] 马雪英,王桂平.以能力为导向的程序设计类课程教学体系[J]. 计算机教育,2011(4):74-78.

[2] 苏小红,陈惠鹏,孙志刚,等.C语言大学实用教程[M]. 北京:电子工业出版社,2009:84-99.

[3] 徐小青,李晓东.“高级语言程序设计”课程教学改革与实践[J]. 计算机教育,2009(13):46-48.

[4] 揭安全,李云清,杨庆红,等. 项目教学模式指导的“数据结构与算法”教学改革[J]. 计算机教育,2008(11):21-23.

Reform on High-level Language Programming Based on Task Driving

ZHU Minghua, JIE Anquan

(College of Computer Information & Engineering, Jiangxi Normal University, Nanchang 330022, China)

语言课程设计总结篇10

1地球科学信息与技术专业中数据结构的教学现状与困境

笔者对中国海洋大学、同济大学、中山大学、浙江大学、中国地质大学(武汉)、中南大学、河南理工大学、石家庄经济学院8所院校的地科专业数据结构课程教学现状进行了调查和分析,认为该专业数据结构课程教学存在着一些亟待解决的问题。这些问题主要表现在以下两个方面:

1.1教学内容与专业应用脱节笔者对上述8所学校的地科专业的基础信息进行了汇总和分析(见表1),发现8所学校的地科专业成立时间比较晚,集中在2002年至2006年,而且依托学科多为地质学、勘察技术、地球物理学、测绘学,科研实力雄厚、教学经验丰富,但缺乏计算机学科方面有经验的教师。目前大部分从事数据结构教学的教师来自于计算机学科,这些教师具有丰富的计算机学科的专业知识,但缺乏的是如何把数据结构同其本专业进行有机地融合,使学生误认为学习数据结构仅仅是为了掌握相关的计算机技术,而与本专业的知识结构没有直接联系。

1.2学生的计算机语言基础较为薄弱数据结构就教科书的内容而言,主要介绍一些算法,理论性强,大部分算法只给出主体的部分,通常采用伪代码、C语言或者类C语言描述,如果没有很好的计算机语言基础,学生就不能很好地在上机实践中编写完整程序去检验算法[2]。目前,地科专业学生不重视高级语言程序设计课程的学习,导致其计算机语言基础较为薄弱,影响其对数据结构课程内容的理解和实践。

2数据结构课程改革的总体思路

2.1依据专业特色调整教学内容和教学重点由表1可知,8所学校地科专业的专业特色各不相同。依据专业特色调整数据结构课程的教学内容和教学重点,把地球信息科学专业知识与数据结构理论进行有机地融合,使学生明白数据结构课程在本专业知识体系中的位置。

2.2注意前导课程的复习针对学生计算机语言基础较为薄弱这种情况,在数据结构正式开始学习之前需要复习一下高级程序设计语言的相关知识,如数组、指针、函数(特别是指针做函数参数)、结构体等[3]。然后,对刚进入本课程学习的前几个算法给出完整的程序并加以详细讲解,使学生理解算法和源程序之间的关系。

2.3协调高级语言程序设计与数据结构关系为避免高级语言程序设计与数据结构课程使用的计算机编程语言不一致而导致数据结构课程教学效果差的情况发生,需要保持高级语言程序设计与数据结构编程语言一致、编译平台一致。在数据结构教学过程中应重视学生实践能力的培养,培养学生在编译平台环境中使用高级语言编写完整程序去检验算法的能力。

3数据结构课程改革的具体实施

3.1加强学生计算机编程能力的培养力度首先需要加强地科专业学生计算机编程能力的培养力度。学生应该明确自己学习高级语言程序设计的目的,不是把它作为纯理论的课程来学习,而是作为应用技术来掌握,为数据结构课程的顺利学习提供扎实的应用基础。根据这种情况,在这一模块的改革过程中需要对高级语言程序设计和数据结构课程教学的内容进行微调,在高级语言程序设计课程原有内容的基础上添加几章“数据结构”的基础内容,在数据结构课程正式开始学习之前需要复习一下高级语言程序设计的相关知识,使两门课程内容顺利过渡和衔接。这样既提高了学生的编程能力,也使两门课程融会贯通。

3.2培养学生算法验证能力在第一模块的基础之上,学生还必须理解数据结构基础理论,具有算法验证的能力。简单地说,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。对于学习数据结构的学生,不能靠死记硬背,必须理解数据结构中的各类定义,抓住研究数据结构的规律,这一规律就是,在研究一种数据结构时,要掌握它的逻辑和物理关系,逻辑关系在其定义中阐述,物理关系在它的存储结构中说明。另外,数据结构学习一定要要求学生自己独立完成代码实现,虽然有时候学生理解算法内容了,但是实现上面还是会遇到很多困难的,解决这些困难会帮助学生提高算法验证和程序设计的能力。

3.3培养学生专业应用能力在前两个模块的基础之上,学生还必须具备专业应用能力,将数据结构理论灵活的应用于本专业领域。对于地科专业的学生来说,在后续课程和以后的工作中有许多地方需要数据结构理论,如:在数据结构课程中学习的排序问题的算法,以及基本的树、图等数据结构,是计算机科学的基本功,无论是在数据库还是网络中,都将作为基本知识来运用;同时,通过B+树、Hash等高级数据结构的学习,也对学生今后数据库的学习影响颇深。根据这种情况,在这一模块的改革过程中首先需要依据专业特色调整数据结构课程的教学内容和教学重点,把地球信息科学专业知识与数据结构理论进行有机地融合,使学生明白数据结构课程在本专业知识体系中的位置。在数据结构课程教学中加入位图、遥感图像、DXF文件、MIF文件、SRF文件等常见图像或图形文件结构和四叉树、八叉树等二维和三维图形数据文件存储结构,使学生能够理解数据结构的真正内涵并能活学活用,为后续专业课程的学习和专业知识的理解奠定良好的基础。其次,鼓励学生参与数据结构与专业相结合方面的课题研究,如“基于VTK技术的三维地层可视化研究”项目需要将专业知识、数据结构理论、数据库理论、高级语言程序设计交叉融合,学生参与此项目既可以加深对数据结构理论的理解,又提高了专业综合应用能力。此外,在课程设计和毕业设计时布置相应的课题,在教师的指导下让学生自己动手去完成这些课题,以求进一步提高学生应用数据结构解决专业问题的综合能力。