首页 优秀范文 程序教学法论文

程序教学法论文赏析八篇

时间:2023-03-08 15:28:19

程序教学法论文

程序教学法论文第1篇

类比教学法是许多教师在教学活动中有意无意地广泛应用的一种教学方法。当教师在教学过程中使用“好比说……”、“就像是……”之类的开头语时,就可能是在进行类比教学。类比教学法最主要的好处是可以将抽象的概念、教学内容或者复杂问题转换成学生熟悉的身边事物,帮助学生了解不熟悉的概念,通过类比把复杂问题简单化,对讲清难点十分凑效。类比教学法的教学流程为:

(1)介绍准备学习的概念;

(2)唤起学生对类比对象的记忆;

(3)确认类比对象的相关特征;

(4)对应目标对象与类比对象两者的相似性;

(5)指出类比的限制;

(6)归纳目标对象的重点。所谓目标对象指的是教师准备介绍的概念或问题,如类、对象、方法等,所谓类比对象指的是教师为了帮助学生了解不熟悉的概念而使用的比喻。

2类比教学法的应用实例

下面以作者在《C#程序设计基础》课程中讲授数据访问对象为例,介绍类比教学法在程序设计课程的具体应用。首先以表格的形式整理出类比对象和目标对象之间的相似之处,以便在教学过程中逐条对照便于理解。接下来,把供水到用户家里的过程与使用DataReader读取数据的步骤对应起来,便于学生理解(见表2)。再以表格的形式整理出应用类比教学法讲授相关知识点的流程。通过这样的类比教学,使学生对常见数据访问对象的作用、技术原理和编程步骤有了一个形象、清晰的认识,取得了良好的课堂教学效果。

3结束语

程序教学法论文第2篇

关键词:编译程序;教学改革;对象式程序设计;java

1引言

编译原理课程是高校计算机类专业的重要基础和骨干课程。编译原理对计算机专业的学生的重要性与高等数学对理科学生的重要性几乎可以相提并论。同时,由于这门课程涉及其他多门课程的知识,使得它成为大学阶段中最难学的课程之一。

从表面上看,编译程序是将高级语言源程序翻译成低级语言程序,但编译程序构造的基本原理和技术也广泛应用于一般软件的设计和实现,其中的设计思想、算法、思维方式和技术都可能会对学生今后的职业发展产生比较大的影响。

当今,程序设计已经基本上从传统的过程式转向对象式,并且正在从对象式转向组件型。这其实是程序设计范型的变迁,是在计算机技术背景下认识世界的观点的变化:过程式将完成事务看成是一系列的步骤,而对象式却将世界看成是由一系列对象组成的,这些对象之间交互合作完成特定的事务。从过程式到对象式,有着质的变化,而非一般的修改和完善,由此带来了语言(算法描述工具)的变化。编程语言影响思维,面向对象的思维方法又促进了编程语言的发展。

目前,程序设计的一些后继课程,如数据结构等都进行了同步跟进,出现了诸如用c++或java描述的数据结构教材。但编译原理课程却没有及时跟进,上述改变基本上没有反映到编译原理课程中。这门课程近20年来基本上没有大的变化,教学内容仍然是基于过程式语言展开的,编译算法和模型描述是用pascal语言或者c语言。虽然个别教材加入了少量关于对象式语言编译技术的内容,那也是稍加点缀而已,作用不大。这就造成了一种奇怪的现象:对象式语言已经成了高校计算机教学的主流语言,社会上大量使用的也是对象式语言,而我们的编译原理教学仍然沿袭旧的一套。这种“状态”严重地脱离了计算机技术的发展和社会的实际需要,因此需要进行“调态”,其根本做法是“转型”,即将本课程的讨论对象从过程式语言转到对象式语言。

国外近年关于编译原理方面的新教材已经有了重要改变,不再连篇累牍地讨论那些已经过时的内容,增加了许多新的内容。其中一个重大改变是出现了用对象式语言描述编译算法和教学模型的编译原理教材,如:用java语言描述的编译原理教材,且其教学模型为minijava。

这种改变也涉及到课程上机实践。众所周知,编译原理课程的学术性和实践性都很强:学术性是这门课程的生命所在,实践性是这门课程的活力所在。因而本课程的上机实践也要作同步调整。

2课程内容围绕对象式语言展开

研究程序设计语言的语法描述需要有文法理论的支持,老教材中文法、词法分析和语法分析部分内容基本上不需要作什么变动。词法分析主要依赖有穷状态自动机理论,语法分析主要讲述ll方法和lr方法,其他方法略做介绍即可,无需展开讨论。ll方法和lr方法含盖了许多分析技术,理论性和应用性都很强,完全可以代表主流技术。

重要的就是研究对象和教学模型的改变。首先,研究对象将从过程式程序设计语言转到对象式程序设计语言(当然还可以兼顾过程式),例如java、c++等,围绕实现这类语言的编译实现技术展开讨论。对象式程序设计语言的要素是封装、继承、多态性,在编译实现时都必须仔细考虑。其次,涉及到对象式程序设计语言编译程序教学的模型选择问题。目前传统的教材选择的教学模型有pl/0、tinic等。实践证明,围绕某个模型展开编译设计技术的讨论,效果是比较好的。课程研究对象和教学模型的改变涉及到调整的章节主要有语法分析、语义分析、代码生成、符号表管理、存贮分配等方面。

一旦我们讨论的模型发生变化,这些章节的内容就要作很大调整。如对象式语言的作用域规则、语言动态特性、模块化封装(类)、类的继承、多态性的实现等,都需要具体的技术来实现,这些都要反映在教材和教学中。

就课程中关于代码生成内容来看,目前java编译程序生成java虚拟机(jvm)代码,c#生成msil虚拟机代码。这两个虚拟机作为教学模型来说可能比较复杂了一些,在教学中可以选定一个简单的子集;或者在pl/0虚拟机上适当增加一些指令代码,以便于代码生成、存贮分配等部分的讲解。

实践证明,作为教学模型,在教材上提供一个小型语言的编译程序供学生分析和研究,非常有利于加深对基本原理的理解和掌握。这个小型编译程序可以比较小但应该能够说明一些基本问题,例如传统的编译原理课程中选择pl/0编译程序作为教学模型,就收到了比较好的教学效果。在对象式程序设计语言编译原理课程中选择object-pl/0或者minijava作为教学模型是比较恰当的。前者是在传统的pl/0语言上增加类,补充封装、继承、多态性之语言成分得到的;后者是对java语言进行适当简化得到的,

编译原理课程可以围绕此模型展开讨论。国外已经有这类教材出现,并且不少大学已经开始使用。

3用对象式语言描述编译算法和教学模型

本课程中各类编译算法都应该伴随着教学模型的变化,改用对象式语言来描述,如用java语言描述或者用c++语言描述。其中一个重大的变化是教学模型如minijava或object-pl/0要用对象式语言实现,也就是提出了教学模型的面向对象构造问题,这就比较好地将讨论对象和描述讨论对象的语言统一起来了。国外有的教材就选择了用java描述minijava编译程序。

编译程序是一个重要的中大型软件,传统的编译程序大都是用pascal、c等语言描述的(参见图2)。像编译程序这样的中大型程序如何用类这个工具来进行分解,其实是对学生的对象式程序设计能力的一个重要检验。学习用对象式语言来描述编译程序,学生可能会受到一次严格的对象式语言程序设计训练,编译程序如何用类这个工具进行分解,这些类(对象)如何合作完成编译任务,都需要较好的对象式程序设计基础。图3是一个程序设计语言文法的面向对象表示。

传统的编译程序构造主要存在如下一些问题:

(1)传统编译程序试图通过将编译程序根据功能模块分解,而使整个编译程序的复杂性降低。这种方法虽然在一定程度上简化了编译过程。但为了处理大型、复杂且多变的编译程序,仅仅将它按照功能分解成词法分析、语法分析、语义处理和代码生成几个阶段是远远不够的。

(2)传统的编译程序构造中,编译的每个阶段依然是大型、复杂的,且每个阶段内部依然存在复杂的联系,这对编译程序的可维护性没有实际上的改变,反而造成维护困难。

(3)虽然传统的编译程序构造有着丰富的理论基础,也有一些工具诸如lex、yacc等,但对一个具体的编译程序的构造仍然要从最基本的描述开始。传统的编译程序构造的功能分解方法缺乏支持复用的良好机制。

总之,过程式程序设计范式存在的问题在编译程序设计中广泛存在。而用对象式程序设计语言来描述编译程序,则对象式程序设计范式带来的好处基本上都能够得到。具体主要表现在:

(1)编译程序效率高。由于面向对象的编译程序构造采用的是语法树构造法,可以得到上下文相关信息,并根据上下文进行语法树的优化,所以生成的代码效率高。

(2)复用方便。由于语法类和具体的语法结构一一对应,所以在复用语法结构时,可以直接得到能被复用的语法类,不需要经过查找过程。

(3)修改方便。由于面向对象方法中的封装和多态等技术的实现,语义处理方法中所用到的数据都是局部数据,因此要做语义修改时,只要继承相应的语法类,并且重载相应的语义处理方法即可,需修改的内容较之传统方法要少。

(4)有利于构造编译程序类库,使得编译程序的构造能够大量复用已有的类,这是更高层次上的复用。

4课程实验的设计

计算机学科是一门技术学科,它虽然有一定的科学的成分,但工程技术的成分更多一些,因此需要加强动手能力的培养。编译原理课程除了注重它的原理性,还必须注重其实践性。学习这门课程时,学生对编译的理解往往只停留在书本的概念上,而不知道怎样把编译理论应用到实际的编译程序设计的实践中。另外,有些学校只将教学内容锁定在文法、词法分析(有穷状态自动机)、语法分析(ll、lr文法)上,以应付学生考研的需要。这些做法使得学生很难掌握这门课程的精髓。

图2传统的编译程序功能分解

图3程序设计语言文法的面向对象表示

编译系统可能是所有软件系统中最复杂的系统之一,通过本课程实践环节的教学,还可以帮助学生掌握一些大、中型软件设计的技术和技巧,提高学生面向对象软件开发的综合能力。

传统的编译原理课程往往要求学生自己实现一个词法分析程序;实现一个基于递归子程序递归下降分析程序或基于预测分析表的语法分析程序;为某虚拟机(例如pl/0虚拟机)生成代码;对教学模型(例如pl/0)进行扩充,写出完整的编译程序等。且在此过程中学生可以借助词法分析自动生成程序lex和语法分析自动生成程序yacc进行有关实验。我们要求学生通过对教学模型的分析,能够在机器上动手实现一个小的编译系统,以加深对编译整个过程的一致性、连贯性、整体性的理解。

一旦我们的讨论对象改变为对象式语言,则其编译程序语法和词法分析的自动生成不能再采用lex、yacc这类工具了,需要改用javacc(javacompilercompiler)或sablecc等,它们都能生成java语言代码;或者使用jikespg(jikespasergernerator),它生成c++代码。

我们初步制定了本课程的实践环节,它主要分四个层次:

(1)借助javacc或sablecc等工具让学生自动生成小语言的词法分析和语法分析程序。这个实验的目的是教会学生关于词法分析和语法分析的自动生成,同时弄清这些工具生成出来的代码的程序结构,特别是面向对象的类结构。

(2)为上面生成的语法树添加语义动作,完成生成代码的工作。这个实验的目的是让学生理解如何在抽象语法树上添加语义动作,理解为虚拟机生成代码的知识。

(3)扩展教学模型,如minijava,为其增加一些语言成分,如有关语句等,然后为其构造完整的编译程序。这一实验让学生把握编译的总体,弄清各部分之间的关系。

(4)逐步构造面向对象的编译程序类库,使得“编写”编译程序逐步走向“组装”编译程序。

5结束语

程序教学法论文第3篇

关键词:认知理论;核心语法子集;程序设计;教学改革

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

中图分类号:G642

计算机程序设计类基础课程是高校计算机基础教学体系的核心课程,从国内教学现状来看,许多学生对程序设计技能训练不够,不能很好地树立“程序设计思维”,多数学生不能独立编写解决实际问题的程序。究其原因,一是在有限的课时内灌输大量繁杂语法知识,导致程序设计技能培养投入不足;二是限于初学者的认知水平难以建立程序设计的逻辑思维方式。死的语法知识是“鱼”,而程序设计能力是“渔”,“授人以鱼”不如“授人以渔”。因此,我们提出精简和优化语法教学内容,以核心语法子集进行教学的思想,以认知理论为指导,探讨优化的教学方法,以此提高程序设计基础类课程的教学实效。

1 基于语法子集的教学内容优化

目前大多数学校在教学内容方面注重语句、语法等语言细节,基本是以高级语言的语法体系为脉络展开教学,没有把逻辑与编程解题思路放在主体地位,对如何分析问题和解决问题讲得不够,对学生的编程能力、上机解题能力训练不够,以至于学生难以独立编写正确的程序,面对实际问题求解的编程显得束手无策。由于在语法教学内容上追求大而全,导致教师迫于完成教学任务进行“填鸭式”的“满堂灌”,忽略了学生的学习主体特征,不能很好地调动学生的主动性。学生创新能力的重要性已普遍共识,程序设计类课程对创新能力的培养主要体现在解决实际问题的独立编程能力上。只有重视算法和程序设计技能的教学,才能达到这一目的。对于语言的语法内容,够用即可,每种程序设计语言应选择其核心语法子集来教学。因此,首先要按照教学目标要求确定所要解决的各类基本问题,得到基本问题所构成的问题空间;然后确定问题空间求解涉及的基本算法范围。根据算法范围寻找核心教学语法子集。通过实验研究结合人工经验,分别得出实验语法子集和经验语法子集;再将两者结合起来,最终确立核心教学语法子集。

1.1实验语法子集的确立

实验语法子集的确立要通过客观实验完成,需要利用计算机信息处理技术,对主流教材、课件和其他材料中出现的程序设计语言关键字和语法点的频率进行统计分析;利用计算机对统计分析结果进行使用频度排序,获得各种语法点的实际应用频率的客观度量,然后以使用频度为依据确立实验语法子集。获得实验语法子集需要经历如下3类步骤。

1)实验分析。这个阶段要分析“程序设计基础”类课程的教学内容要点,确定问题空间,从而确定系列课程所涉及的算法大类;结合具体语种的特点,分析具体语言涉及的关键字。为便于采用计算机信息处理技术进行研究,可以只从关键字的角度研究基本语法要素构成的语法子集,不必考虑语法结构问题。

2)实验设计。包括以下几个子步骤:①原始数据数据采集。原始数据可以来源于目前国内外用于“程序设计基础”课程的典型教材、课件和其他资料。②数据处理,对符合基本算法范围的程序进行单词划分和标注,由实际材料中经典程序里面出现的单词组建词表文件。③数据统计,对数据处理阶段得到的词表文件进行统计;找出具体程序语言的关键字在所有实际材料中出现的总频数,得到语言关键字使用频数统计表。④数据分析,通过对语言关键字使用频数统计表进行分析,得出统计结果。

3)实验实施。该阶段按照实验设计的步骤进行具体操作,其中,在数据采集环节要利用典型教材的电子版,有些教材电子版文件格式可能是非文本的,需要转换为文本格式。转换中可能用到的转换软件,如Pdg2Pic软件可以将PDG文件转换为TXT的文本格式;汉王PdfConverter(免费版)能快速准确地将PDF文件转换成Word格式的rtf文件或txt文本文件。

1.2经验语法子集的确立

与实验语法子集相并行的是经验语法子集,它是靠人工经验确立的语法子集。获得经验语法子集的操作过程有3步,第一步,针对具体的程序设计语言设计一种语法点使用频度的问卷调查表。第二步,利用调查表向教学经验丰富的一线权威教师进行问卷调查,从而获得第一手原始资料。第三步,对获得的调查表进行统计分析,对各语法点的使用频度得出经验排序,根据排序结果选取经验语法子集。

1.3核心语法子集的确立

结合实验语法子集和经验语法子集,取两者的公共交集,即可得到核心语法子集。将核心语法子集作为教学语法子集,实现语法教学内容的优化。

2 基于认知理论的教学方法优化

2.1认知理论与教学设计原则

认知学习理论是通过研究人的认知过程来探索学习规律的学习理论。主要观点包括,人是学习的主体,主动学习;人类获取信息的过程是感知、注意、记忆、理解、问题解决的信息交换过程;人们对外界信息的感知、注意、理解是有选择性的以及学习的质量取决于效果。

布鲁纳的认知发现说和奥苏贝尔的认知同化说是现代认知学习理论的两大典型学说。布鲁纳强调指出学习过程是一种积极的认知过程,他认为学习的实质在于主动地形成认知结构;重视人的主动性和已有经验的作用,重视学习的内在动机与发展学生的思维,提倡知识的发现学习。认知同化说认为,新知识的学习必须以已有的认知结构为基础;学习新知识的过程,就是学习者积极主动地从自己已有的认知结构中,提取与新知识最有联系的旧知识,并且加以“固定”或者“归属”的一种动态过程。

根据认知学习理论关于学习的基本观点,与教学实践相结合,国内外研究者们提出了一系列指导教学设计的原则,这些原则有许多非常适合于程序设计基础类课程的教学。比如用直观的形式向学习者显示学科内容结构,应该让学习者了解教学内容中涉及的各类知识之间的相互关系;学习材料的呈示应适合于学习者认知发展水平,应按照由简到繁的原则来组织教学内容;学习以求理解,才能有助于知识的持久和可迁移;学习材料既要以归纳序列提供,又要以演绎序列提供;学习材料应体现辩证冲突,适当的矛盾有助于引发学习者的高水平思维。

2.2优化程序设计基础课教学方法的若干实例

1)挖掘新知识的生长点,促进知识正迁移。正迁移就是要把已有知识经验作为新知识的生长点,引导学生从原有的知识经验中生长新的知识。

以“两变量值交换”的教学为例,可以用“酒、水交换”这种已有知识经验作为其新知识的生长点,促使“酒、水交换”操作向“两变量值交换”操作正向迁移,学生就很容易将新知识纳入已有知识结构,牢固掌握“两变量值交换”的算法。

又如,关于“循环”概念的教学,可以用近义词“反复”做类比,用累加算法作例题,以学生熟悉的身边学习生活事例为算法素材。如学生每周的固定时间都要来教室听同一门课就是合适的循环例子,以反复听课增加知识量为算法素材。这种教学方法容易引起正向迁移的发生,加深对“循环”新概念的理解。

再如,很多抽象概念可以用学生熟悉的概念做比喻,引发正迁移。笔者在教学面向对象程序设计“消息多态性”概念时,常举这样的例子:当老师向不同学生宣布同一消息“今天停课”时,不同学生的反应不同,这就是消息的多态性。在教学面向对象程序设计“构造函数与析构函数”的功能时,常用“接生员与火化员”的作用作类比,使学生牢牢记住构造函数的功能是对刚创建的对象进行初始化;析构函数的功能是对使命完成后的对象进行清除。

2)突出新旧知识对比,避免负迁移发生。在学习过程中,如果对表面相似的新旧知识把握不足,反而使某种旧知识对新知识的学习产生严重干扰,这就是负迁移现象需要有效避免。

如学生对“=”号形成了根深蒂固的概念,一看到“=”号就想到两边相等;在C/C++语言中经常将应当用等号“==”的地方误用“=”号。于是,数学“=”号对程序设计语言中的赋值符号“=”形成正确概念带来干扰。因此,在教学中要突出传统数学符号“=”与程序设计语言运算符“=”的差异对比。

又如,传统数学的运算符求值顺序规则对C/C++中“右结合性”算符的求值顺序规则理解有干扰,对于容易引起负迁移的知识点要突出其对比。

3)由具体到一般的教学模式。程序设计语言中有的句式有非常复杂的完整形式,如果先写出其完整的理论形式,再举例说明,往往开始就会引起学生的厌倦情绪。相反,若先通过具体实例说明,然后再总结出一般性规律,对初学者来说更易于接受。如,VB语言中的InputBox函数的运用问题,由于该函数有多个参数,每个参数有不同的含义,控制对话框中出现不同内容。为使初学者易于理解,可先对参数逐个演示其运行效果,用具体的结果突出每个参数的作用,最后总结出该函数的一般语法格式。这一教学原则可以推广到许多复杂语法格式的教学方法中。

4)归纳与演绎的综合运用。以C/C++中的二维数组“行指针”及二级指针的教学为例,为了突出该类指针的“性质”以及“*”号对指针的作用结果,可先进行演绎教学:将该类指针变量加减一个整数,观察值的变化规律,得出性质(移动的地址以什么为单位?);再将“*”号作用到指针变量前,观察值的变化,发现仍然为地址,再加第二个“*”号上去,观察得到的值,发现新地址性质的不同。通过演绎再归纳,笔者将“行指针”称为“二维指针”,而将简单变量或数组元素的指针称为一维指针,归纳出如下结论:二维指针加减一个整数n移动n个“行”的距离,而一维指针加减一个整数n只移动n个“元素”的距离。“*”号作用于二维指针或二级指针前,得到的值仍然是指针值(地址),前者得到的指针值数量不变但性质降为一维;后者得到的指针值是一级指针变量的值(即普通变量的地址)。“*”号作用于一维指针或一级指针前,得到的值才是普通值(非地址)。

3 优质教学资源的建设

精炼优化的教学内容和适合的教学方法为提高程序设计课程的教学实效打下了良好的基础。通过优质建材建设和优质电子资源建设将内容和方法体现在教学资源方面。

一是编写基于优化核心语法子集的简明程序设计教材。在教材中要充分体现优化教学方法的思想,精选例题,善用类比,尽量发现可引起正迁移的知识点;要有效避免可引起负迁移的因素,对复杂知识点的处理要遵循从具体到抽象、从简单到复杂原则;要善于将归纳与演绎进行综合运用。

二是建立优质电子资源,包括精美课件、电子教案、网上练习题库,尤其是学生实验源程序代码的电子版很值得提供,为学生做验证性实验节省很多代码输入时间,学生可以将主要精力放在对程序理解、调试和修改方面,提高实验课的实际效果。

程序教学法论文第4篇

关键词:C程序设计;课题研究型教学模式;实例教学模式;实用性程序教学模式;双语教学模式

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)13-3116-02

Study on the Teaching Mode of C Program Design in Agricultural University

LIU Li-qun, WANG Lian-guo, HAN Jun-ying, LIU Cheng-zhong

Abstract: To resolve the flaws of the traditional teaching, by combining the characteristics and advantages of agricultural university, the paper researches the teaching mode of C program design. It discusses new four teaching modes including project study teaching mode, instances teaching mode, practicable program teaching mode and bilingual teaching mode. Its purpose is to resolve the practical teaching problems of C program design in agricultural university, and improve the students’computer program designing ability.

Key words: C program design; project study teaching mode; instances teaching mode; practicable program teaching mode; bilingual teaching mode

1高等农业院校C程序设计教学现状

“C程序设计”是一种被广泛学习、普遍使用的计算机程序设计语言。它的高级语言形式、低级语言功能具有特殊的魅力,是高等农业院校理工科类学生必修的基础课程。目前,高等农业院校C程序设计教学主要存在以下问题[1-3]:1)只为了“学习语言”而学习,注重语言的语法学习,而忽视用软件作为工具去解决实际问题的本质。2)学生的学习兴趣不浓,不能积极主动的投入到学习中,自身的思维能力得不到发挥。3)学生的学习应用能力很差,只能理解例题以及相近似的问题,自己不能独立分析问题解决问题。

2高等农业院校C程序设计课程教学新模式

以上传统教学的弊端是C程序设计课程教学工作中普遍存在的现象,因此在教学中必须结合农业院校的特色采用新的教学模式。

2.1课题研究型教学模式

课题研究型教学模式是指基于网络教学平台,精讲多练,以学生在课题研究中探索式地学习为主,以网站答疑讨论为辅,试题库在线测验为补充的教学模式。1)实行“精讲多练”,教师只作入门性的、重点的、带有启发性的讲授,而不仔细讲授细节,指导学生通过自己看书,在网络教学平台上用多媒体课件或其它各种学习资料进行自学,大部分学时进行上机实验教学,充分利用上机练习等掌握所学的内容。2)调整传统教学内容的先后顺序,在上课前先给每个学生,或若干学生一组,布置一项程序开发课题,该课题力求既结合生产实际,又能涵盖课程教学的要求。教师提出学生自学和开发、研究的进度,设计教学进程,让学生在课题开发的过程中利用在线学习平台学习基础理论和程序开发的思路与方法,学期结束前完成该项目,其成绩记入操作设计分。3)上机教学时,教师跟踪辅导,根据学生上机操作的情况,了解学生对课程学习的进度和深度,为每个学生打平时表现分,记入学生平时成绩库。4)建立计算机基础课程教学网站,网站的主要内容是:在线学习平台、辅导答疑论坛、在线考试试题库。5)参考全国计算机等级考试的题型,设置在线考试试题库,根据安排的教学进度,每个重要学习单元都要求学生利用课余时间进行上机测试,达到熟练掌握基本理论和基本概念。然后,教师组织学生在线考试,现场打在线测验分,并记入平时成绩库。6)网络教学平台的辅导答疑论坛,各教师负责解答学生提出的问题,根据学生在答疑论坛发表见解的次数和见解深度,打答疑讨论分,并记入平时成绩库。7)学生最终的学习成绩由平时成绩、期末成绩和上机考试成绩构成,其中平时成绩又由在线测验分、答疑讨论分、平时表现分、操作设计分按照一定的权重构成。

2.2实例教学模式

针对传统C语言教学的弊端,提倡基于“任务驱动”的“实例教学模式”[4]。以任务驱动的方式,通过实例讲授程序设计的基本概念、基本方法,把重点放在解题思路上。从开始就使学生将注意力集中在所解决的问题领域,从具体实例理解C语言的开发特点和程序总体框架,通过实例本身既学会某一类问题的解决方法和算法设计,又掌握了C语言的基本语法、语句。即在C语言的环境下,针对实际问题进行分析、构建数学模型、设计算法、最后编程实现。

在学习的不同阶段设计不同针对性的实例。1)开始阶段设计的实例是将学生的注意力吸引在C语言的总体功能和程序的总体框架上。2)在学习中间阶段设计针对某些数据类型或应用特点的实例、针对模块分解和组合的实例、针对算法分析与设计的实例等。3)在学习的后期进行综合课程设计,将所学知识融会贯通。

2.3实用性程序教学模式

在教学内容上,增加了如猜数游戏、身高预测、体型判断、洗扑克牌等兼具趣味性和实用性于一体的程序实例,并补充了代码风格、函数封装、流、程序调试、常见错误分析等现代程序设计必备的知识,重视在新形势下的新方法、新规则和新思想的传授,把程序设计领域最新、最有价值的思想和方法渗透到C语言中,着重培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。

2.4双语教学模式

作为程序设计语言,本身的语法表达采用的就是简单而含义明确的英文单词,语言的控制结构、语法关键词、数据类型、函数名称等都是采用英文单词表示。而C的上机操作环境均采用英文信息显示,如英文菜单、操作提示信息和编译错误提示信息等,因此计算机与英语言之间有着密不可分的关系[5]。在C程序设计课程的教学中加入适当的计算机及程序设计方面的英文专业词汇,部分或全部教案采用英文形式,将有助于学生专业英语水平的提高和尽快熟悉、适应以英文信息为基础的软件开发环境。

3结束语

传统的教学观念以C语言语法为主,忽视程序设计能力的培养。结合高等农业院校自身的特色和优势,以创新教育为导向、深化农业院校学生计算机程序设计能力培养的教学体系建设为目标,提出了四种新的教学模式,解决了实际的教学问题,教学效果良好。

参考文献:

[1]王方.C语言教学模式:“简单任务+归纳法”[J].安庆师范学院学报:自然科学版,2011,17(3):112-116.

[2]刘彩虹,郭政,于建海,等.C语言教学探讨[J].信息与电脑,2011(2):113.

[3]王圆妹.非计算机专业C语言教学改革的探讨[J].长江大学学报:自然科学版,2009,6(2):385-386.

程序教学法论文第5篇

一、教育法律教学中的知识形态

认知心理学家将知识分成宣告性(declarative)知识、程序性(procedural)知识和条件性(conditional)知识。简而言之,宣告性知识体现的是知道“什么”,程序性知识体现的是知道“如何”去做,而条件性知识属于元认知知识,它决定了人们在何时、在何种情况下运用它们的宣告性知识与程序性知识。[1]三种知识的分类突破了以“是什么”为主导的静态知识体系,强调了将知识运用于实践的能力。就教育法律而言,宣告性知识主要包括学生、教师、学校的实体性权利和义务。例如,《教育法》第42条第三项规定了在我国受教育者有在学业成绩或者品行上获得公正评价的权利,受教育者在完成规定的学业后有获得相应的学位证书、学业证书的权利;与此同时,《教育法》第二十八条第四项规定了学校有“对受教育者进行学籍管理,实施奖励或者处分”的权利。程序性知识体现在学生、教师和教育管理者知道按照什么样的步骤去行使自己的权利,履行自己的义务。例如,对于违纪的学生,教师和教育管理者需要知道违纪处分要经过哪些程序。在普通高等学校,学校在对学生作出处分决定之前,需要听取学生或者其人的陈述和申辩,在处分作出后,需要出具处分决定书,并送交本人。该处分决定书中应当包括处分和处分事实、理由及依据,并告知学生其申诉权及提起申诉的时限。如果对学生作出的处分是开除学籍,则应由校长会议研究决定。①条件性知识反映在学生、教师和教育管理者根据问题情境适当地运用其宣告性知识和程序性知识来解决问题的能力。以著名的田永诉北京科技大学案(1999)为例,田永在大二参加考试的过程中,一张写有公式的纸条从其口袋中掉了出来。北京科技大学依据其“凡考试作弊者,一律按退学处理”的校规,决定对田永按退学处理,并填发了学籍变动通知。由于种种原因,田永并没有离校,但到其大四临近毕业时,学校拒绝为其颁发毕业证书和学位证书。毋庸置疑,学校对学生有奖励和处分的权利,这是上文中所提到的宣告性知识的内容。然而,具体到本案中,北京科技大学凡作弊者一律按退学处理的规定不区分具体的情节,又直接剥夺了学生的受教育权,侵犯了学生在完成规定的学业后获得相应的学位证书和学业证书的权利,有滥用权力之嫌。同时从程序的角度来讲,北京科技大学没有将处理决定直接向田永宣布、送达,也没有允许田永提出申辩意见,海淀区人民法院认为这样的管理行为不具有合法性。[2]针对田永案的这一系列推理体现的就是条件性知识。对于学生、教师和教育管理者而言,抽象的法条和法律原则是理解教育法律关系的基础,但是它们仅仅是书本上的教育法(law on the books),条件性知识所代表的实践中的教育法(law in action)才是最为相关、最为重要的。美国法律学者雷德菲尔德(Redfield)在其教学和研究工作中注意到,学校管理者可能具备法律知识,但是缺乏将法律知识运用到日常管理中的能力。[3]这种理论与实践的脱节事实上是当今国际教育管理领域普遍存在的问题。佩因特(Painter)就此提出,教育法律课程应当训练学生将知识运用于适当情境的能力,也就是说必须注重条件性知识的培养。[4]

二、基于三种知识形态的教育法律课程设计

教育法律课程需要以宣告性知识为主线,穿插程序性知识,同时将条件性知识融入其中,并以条件性知识的培养为其最终目标。就宣告性知识而言,该课程搭建教育法律规范的脉络体系,剖析“受教育权”这一核心概念以及“公法-私法”的二元法律思维模式,并具体讨论学生伤害、学生处分、教师雇佣以及平等保护等重要的法律问题。着眼于程序性知识,课程介绍我国法律法规中的相关程序性规定以及现实中的争端解决机制,传授法律检索技巧,为学生介绍和提供翔实且丰富的相关法律法规和法律学术资源,并探讨正当程序和程序正义的法律原则。总之,课程在法条、法理和法律思维三个层面上帮助学生建立他们的实体性和程序性教育法知识存量。对于条件性知识,课程通过多种形式创造和利用问题情境,使其与相关宣告性知识和程序性知识紧密联系起来。为此,教育法律课程可以采用视频短片、案例教学、时事评论和模拟法庭等教学手段。鉴于条件性知识是教育法律培养的重心同时又是教育法律教学中的“短板”,本文将对这些教学手段和策略进行具体介绍和讨论。

1.视频短片

在教育法律课程教学中,每周可以使用2-5个视频短片。这些短片可以取材于我国近几年相关事件的新闻报道与评论或者世界范围内的热点事件。例如,在讲受教育权和姓名权的时候,可以播放2009年媒体热议的利用她人名字上大学的“罗彩霞事件”的新闻短片;在讲处分程序时候,可以利用辛普森这一世界著名的刑事辩护案件的判决录像或者媒体报道来说明正当程序与程序正义的法学理念。视频一般在课程开始时播放,作为“引子”,将学生快速导入当日主题的问题情境。例如在“学生伤害与意外事故处理”这一讲开始的时候,可以播放近几年发生的若干校园血案的新闻报道视频,启发学生思考学校到底在什么情况下需要对学生的伤害承担损害赔偿责任。有时视频也被放在课程结束时播放,使得同学们将当天所学的知识马上用于分析现实中的法律问题,并引发学生反思。

2.案例教学

如教育法律课程可以提供一系列中文和英文教育法经典案例供学生分析。为了保证这些案例的“原汁原味”以及逻辑的严谨性,最好直接使用法院判决原文作为教学材料。在案例的使用上,可以将学生的课下学习与课堂讨论结合起来。在课下,每位同学需要按照“案件索引信息-事实-争议点-判决结果-判决理由-分析与评论”的思路②分别完成一定数量的中文案例和英文案例的小结;在课上,案例讨论与相关宣告性知识和程序性知识紧密结合在一起,在课程进行到相关知识点时,由完成案例小结的同学向全班汇报案例并进行点评,继而引发全班对相关法律要点或推理的讨论。

3.时事评论

为了培养学生对实践中教育法律问题的敏感度并激发其主动思考的能力,教育法课程还可以加入时事评论的教学环节,要求同学们以法律的视角分析当下社会中和他们身边正在发生的教育事件与争议。时事讨论是同学们条件性知识的直接训练和应用平台,该教学环节可以训练学生养成关注现实问题并从法律视角对其进行审视的习惯,对培养学生在未来实践工作中的反思能力也有一定帮助。如果课堂教学时间允许,可以在每次课上请2-3名学生分别讲述一个与课程所讨论法律问题有关的热点或焦点事件,然后引导班上学生对此进行简单讨论。另外一种模式是将实体课堂与虚拟课堂结合在一起。国内很多大学现在也开始使用教学网,教师可以利用教学网中的讨论版功能,让同学们在课程讨论版上分享时事热点并进行法律分析。使用教学网将带来三个好处。其一,扩大同学的参与面,所有同学都是新闻的“者”和“评论员”;其二,同学们可以持续关注和交流,不仅限于课堂上的有限时间;其三,一个话题可能激起同学之间、师生之间的多轮互动,多个话题的讨论可以平行进行,从而突破了课堂内时间的线性结构,形成多层次的、反复的交流。同时,为了提高网上讨论的质量,还可以将班上的同学分为若干组,每组历时2-3周,负责在教学网上激发班上同学讨论,并于该轮讨论结束后在课堂上简要总结该轮讨论中的主要关注点。

4.模拟法庭

作为教学活动,模拟法庭绝不是最后法庭上一个多小时的“表演”,而是包含诸多精心设计和组织的教学环节。模拟法庭活动是否达到良好的教学效果,前期准备是关键。准备工作可以包括如下几个环节:(1)选题。所选案例最好在法律上没有定论,从而使得原被告双方都有足够的理由来论辩。(2)分组。分组中要考虑学生的学术背景,三组之间要势均力敌。(3)小组讨论与协作。(4)小组成员在搜集材料和充分讨论的基础上撰写法律文书草稿。(5)教师针对三份法律文书分别提出反馈意见,各小组进行修改,为庭审作出充分准备。在经过两周左右的准备工作后,在法官组的主持下,原被告两组进行辩论。教师需要事先拟定庭审基本程序。考虑到三个小组的角色均衡化,有必要在庭审过程中加入法庭调查环节,该环节由法官主导,可以考察法官组对该案的思考和准备情况。辩论终结后,法官组经过10-15分钟的合议后进行宣判。最后,教师进行点评,该点评既包括对案例中涉及法律问题的讲解和评论,也包括对三方庭审表现的评价。课后,法官小组修改其案件分析意见,形成判决书终稿。模拟法庭活动可以全方位地训练学生的知识和能力。在模拟法庭的准备阶段,同学们需要集思广益,搜索相关的法律文件,分析案情,尝试撰写法律文书,设计辩论策略,并锻炼小组协作能力。在法律文书写作和现场辩论中,他们需要从不同角度运用与教育法律有关的宣告性知识和程序性知识,并结合案情,锻炼其条件性知识。

程序教学法论文第6篇

关键词:核心素养;计算机程序设计;维果茨基

学生发展核心素养是回答“培养什么样人”的问题。计算机程序设计有助于人们具备基本的信息素养、逻辑推理能力和计算思维[1],是“怎样培养人”。因此,在高校人才培养中,此类课程一直都是理、工、管等专业的通识课程。然而,结合学生发展核心素养的计算机程序设计教学研究相对较少,现有文献大都侧重个别素养,不够深入和系统[2-3]。如何真正从学生自身的发展出发,最大程度地发掘计算机程序设计课程促进学生发展核心素养,是该类课程改革的重要方向。

一、计算机程序设计教学与学生核心素养的关系

根据《中国学生发展核心素养》的阐述,以培养“全面发展的人”为核心。核心素养分为文化基础、自主发展与社会参与三个方面,综合表现为人文底蕴、科学精神、学会学习、健康生活、责任担当、实践创新六大素养,具体细化为国家认同等十八个基本要点[4]。计算机程序设计能够培养学生的逻辑推理、计算思维和语言表达等方面的能力,它是重要的基础科学和思维科学,其思想方法具有一定代表性[5]。因而,此类课程与学生发展核心素养所包括的文化基础、自主发展与社会参与这三个方面均具有直接的联系。

(一)计算机程序设计与学生核心素养之文化基础

文化基础,重在强调能习得人文、科学等各领域的知识和技能,掌握和运用人类优秀智慧成果,涵养内在精神,追求真善美的统一,发展成为有宽厚文化基础,有更高精神追求的人[6]。文化基础要求学生具备基本的人文底蕴和科学精神。成功的程序设计作品往往蕴含着宽厚的文化基础。例如微软的操作系统、谷歌搜索引擎,简洁交互界面的设计融合了艺术学、美学和心理学等多种文化元素,而背后是算法赖以支撑的数学。另一个典型的例子是ACM国际大学生程序设计大赛。该大赛要求学生运用计算机、程序设计语言、数学、物理等学科知识和技能,结合程序设计解决实际问题。竞赛中时刻要求学生保持理性思维、批判质疑、勇于探究等科学精神的基本要点。既然成功的程序设计作品蕴含着宽厚的文化基础,那么,教授学生学习程序设计,就是利用计算机程序设计语言,综合其他学科知识,解决实际问题,培育学生宽厚的文化基础。有力的证明如广受中小学学生喜爱的Scrath编程工具,其发明团队领袖、麻省理工学院MitchelResnick教授一直倡导“编程化学习”,即把程序创造性地作为学习工具去承载丰富多彩的内容。例如,把它当作工具载体传授数学知识和讲解自然科学等。这种转变将对学生的核心素养培养起到重要作用。

(二)计算机程序设计与学生核心素养之自主发展

自主发展,重在强调学生能有效管理自己的学习和生活,认识和发现自我价值,发掘自身潜力,有效应对复杂多变的环境,成就出彩人生,发展成有明确人生方向、有生活品质的人。自主发展包括学会学习和健康生活两大素养。计算机程序设计语言发展至今已有几十种,且新的程序设计语言还在不断地涌现。教师不可能将所有程序设计语言教授给学生,而绝大部分学生后续课程和工作的内容都不是当前学习的程序设计语言。这就要求教师在计算机程序设计课程的教学过程中,要培养学生的理论基础、学习习惯、研究方法和独立思考、解决问题的能力,强化学生的自主学习能力。学生应从学习模式、时间管理和学习规划技巧等方面针对自身特点采取一系列学习活动。例如,许多大学生在学习期间没有给自己设定明确的目标,就可能容易沉迷于网络游戏中,甚至自身的性格也会变得沉默寡言。通过程序设计课程,学生将理解一个基本原理:一切网络游戏、智能手机应用的背后都是程序员所编写的代码。大学生不应该受程序控制,应有自己的人生规划,要能自我管理,健康生活。笔者的一名学生,在学习改革后的计算机程序设计课程时,就培养了非常强的自律意识和自我管理能力,并针对学生长时间玩游戏的问题,开发了一款屏幕自锁程序,提醒大家不要长时间沉溺于网络游戏。

(三)计算机程序设计与学生核心素养之社会参与

社会参与,重在强调能处理好自我与社会的关系,养成现代公民所必须遵守和履行的道德准则和行为规范,增强社会责任感,提升创新精神和实践能力,促进个人价值实现,推动社会发展进步,发展成为有理想信念、敢于担当的人。社会参与涵盖了担当责任和实践创新两大素养。当代社会,隐私保护和信息安全越来越重要。因此,程序设计课程不仅应教授学生如何设计程序,同时也应树立他们的信息社会责任,即不能编写计算机程序窃取他人的个人信息和隐私,不能散布和传播危害国家、社会安定的言论和病毒,不能参与和组织网络盗取、诈骗他人财务等行为和活动。另外,计算机程序设计是一项思维创新的实践活动,此类课程一般遵循由简单到复杂的循序渐进式教学,逐步强调在动手实践、不断挑战中培养实践创新能力,以解决人们社会生活、生产中的实际问题为教学目的。

二、基于核心素养的计算机程序设计教学策略

著名心理学家和教育学家维果茨基所创立的社会文化历史理论对世界心理学和教育学产生了深远的影响。他的社会文化历史理论包括“人是社会历史产物”和“最近发展区”两大重要概念。

(一)人是社会历史产物与“分享―交流―互助”学习社区

维果茨基在其社会文化历史理论中指出“人从出生起就是一个社会实体,是社会历史产物”,学习行为是在人际交往活动中产生和发展起来的。在学生学习过程中,教师和同伴是学生学习的促进者,而合作学习对学生的认知发展具有重要的促进意义。在课程教学实践过程中,我们建设“分享―交流―互助”的学习社区,为学生搭建分享与交流学习过程和程序设计作品的互动平台。例如,在新一轮课程改革中,我们搭建了有助于学习程序设计的网络互动平台,并逐步发展结合线上、线下的程序设计学习社区,为学生学习程序设计提供了学习资源分享、互商互助的学习环境,以及程序设计作品展示和评价和交流的平台。线上社区的建立可以依托博客、微信群、QQ群等软件工具。此外,线上平台的建立使师生之间、生生之间在课下也可以不受时空限制地相互学习和相互启发,尝试解疑。因此,通过“分享―交流―互助”的方法,也有助于培养学生社会参与的意识和能力。

(二)最近发展区与“使用―修改―创作”教学方法

“最近发展区”是维果茨基理论体系中影响最深远的概念之一。“最近发展区”中明确阐释了教学与学生发展之间的关系是“良好的教学走在发展前面并引导之”。教学应该落在学生的最近发展区内,这样才能最大限度地发挥教学对学生发展的促进作用。在教学实践中,我们采用“使用―修改一创作”的教学方法,循序渐进地帮助学生从了解和掌握知识,到自主创新。例如,在新一轮课程改革中,我们让学生从使用、修改他人的程序设计作品中学习程序设计,了解并掌握程序设计的基本原理和概念,也帮助他们从中发现一些疑问,以供后期自主学习和创新。以教授“排序”算法的课程内容为例,笔者在介绍了排序的概念和常用的选择排序算法后,把完整程序共享在交流平台上,让学生参与排序算法的“再创作”。在这一过程中,一些学生发现选择排序算法对大多数杂乱无序的序列进行排序时,由于时间复杂度不高,算法性能较好;但对极端序列排序时,时间复杂度就高了,算法的收敛性就差。对此,他们改进了选择排序算法并把程序代码编写出来,从“使用”和“修改”过渡到了“创作”。“使用―修改一创作”的教学过程还有助于促进学生培养自主学习的能力。仍然以“排序”算法为例,一些学生课后自主探究了其他排序算法,例如冒泡排序、快速排序、希尔排序和堆排序等,其中有些学生在理解了这些排序算法的原理后,自行设计程序并制作了微课视频和大家共享。

三、结论

本文从文化基础、自主发展和社会参与三个方面论述了计算机程序设计课程与学生发展核心素养之间的关系。以维果茨基的社会文化历史理论为指导,鼓励学生采用“使用―修改―创作”的方法,并依托“分享―交流―互助”的学习社区模式,发展学生的核心素养。计算机程序设计课程与学生发展核心素养相结合的改革之路,为走出灌输模式的知识教育,提供了可行的实践方法。

参考文献

[1]WingJ.M.Computationalthinking[J].CommunicationsoftheACM,2006,(3).

[2]王旭卿.从计算思维到计算参与:美国中小学程序设计教学的社会化转向与启示[J].中国电化教育,2014,(3).

[3]魏烁佳.科学精神引领下的创新思维培养―――以程序设计为教学载体[J].中国信息技术教育,2017,(5).

[4]张传燧.基于学生发展核心素养培育的“四生课堂”建构研究[J].陕西师范大学学报:哲学社会科学版,2017,(5).

程序教学法论文第7篇

关键词: 项目理念 VB程序设计 课程教学

VB程序设计课是高校开设的一门公共基础课,其目的是培养学生的程序设计理念、掌握程序设计的基本方法,具有软件分析、设计和编写能力,提高学生利用计算机解决实际问题的能力,为后续课程打下坚实基础。当前开展的VB程序设计课教学通常利用课堂讲授方式完成教学,教师完成知识点传授,学生被动学习、机械练习,课堂效果差。因此,应在VB程序设计的教学过程中应用项目理论,这样能够培养学生学习兴趣,提高学生利用计算机解决实际问题的能力。

一、项目相关的概念

项目是指一系列独特的、复杂的并相互关联的活动,这些活动有一个明确目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。本论文中的项目指利用程序设计软件解决实际问题而制作的程序文件及制作过程中与之相互关联的活动和文档的集合。项目教学法最早见于美国教育家凯兹和加拿大教育家查德合著的《项目教学法》,它是师生通过共同实施一个完整的项目而进行的教学活动,是当今国际教育界十分盛行的一种教学法,尤其是在MBA教育中得到广泛应用。在我国高职教育中也有开展项目教学的案例,华东师范大学职业技术研究所徐国庆博士率先提出项目课程的概念,目前已编制出有关项目课程教材。

二、开展基于项目理念的程序设计教学研究的意义

VB程序设计课课程涉及的班级众多,受众面广。做好教学研究工作,对计算机程序设计课程教学尤其对应用型本科院校的程序设计课程教学具有推广价值。

1.能够提高教师的科研能力和教学能力。

教师通过软件开发和科研项目研究能够提高自己的专业素质,为提高教学能力奠定基础。通过项目教学研究和实践,教师由说教者变成引导者和组织者,这种转变对于教师自身来说既是一种反思的过程,更是一种改进自身工作的过程。

2.可以有效地改变学生计算机应用能力差的现状,提高创新能力。

目前广泛采用的讲授式教学法,虽然能够传授给学生系统性的知识,但不利于学生应用能力的提高,造成学生的实践能力和创新能力差。通过对教师实际开发项目的有效分解,形成一个个鲜活的教学案例,应用项目教学法和案例教学法,这样能够培养学生软件分析、设计和编写能力,提高学习兴趣,提高学生利用计算机解决实际问题的能力,并为学习专业基础课、专业课打下良好基础。

3.引入新型课程评价方式,变书本为考试能力。

彻底改变“一张卷子”的传统课程评价模式,研究以评价学生项目为主的过程考核方式。鼓励学生参加创新创业项目、计算机大赛及团队创建自选创新作品,这样能够提高学习兴趣,促进学生个性发展。

三、具体工作

1.项目的选择与分解。

(1)为提高教师教学和科研能力选择适当的项目锻炼教师素质,项目要贴近社会实际,有较强的实践性和创新性。

(2)教师如何从现有的项目成果中选择适合于教学的项目,所选项目最好是教师熟悉或亲自开发的项目,规模适中,符合教学内容。

(3)如何对项目进行适当分解,形成适合于教学的模块和案例是重点要研究的问题。

2.课程教学方式和教学方法研究。

应用项目教学法和案例教学法。

3.教学全过程以项目为基础。

强化“项目+理论+实践+实战”教学模式,让项目成为教学的第一步。通过项目掌握知识点并应用于实践,最后通过项目开发进行实战。

4.课程考核项目检验。

引入基于项目的过程考核课程评价模式,强调创新。

四、研究思路、研究方法和实施步骤

1.研究思路、研究方法。

拟采用“案例研究法”、“文献法”、“测验法”、“比较法”、“调查法”、“定量分析法”及“经验总结法”进行研究。

(1)教学方案讨论、调研。组织课题组成员和相关专家开展讨论,确定项目目标、内容、方案和实施计划。

利用“文献法”、“调查法”和“比较法”,开展项目调研,整理相关资料,分析国内外研究现状,调查学生现有的程序设计基础和对课程的需求,形成初步方案。

(2)项目应用于教学。开展教师项目训练,选择适合于教学的项目进行实践,应用项目教学法与案例教学法等,强化基于项目的过程考核。

(3)利用“定量分析法”和“经验总结法”分析程序设计课程教学改革应用后的实际效果。

2.实施步骤。

(1)加强理论学习,查找文献,广泛调研,充分了解程序设计课程教学现状,吸收教学改革的成功经验和理念,学习各种教学方法,重点学习项目教学法和案例教学法,提高理论水平。

(2)制订课程教学改革方案,包括设计教学目标、教学方法、课程考核方法及教学实施步骤等。

(3)实践阶段,项目应用于教学全过程。

(4)分析教学改革应用后的效果。对程序设计课程教学实施改革,对所授课班级进行试点应用,跟以前的授课班级对比分析,总结改革后的效果及优缺点。

五、结语

做好基于项目理念的VB程序设计课程教学研究,教师首先应该通过科研项目的研究提高自身科研和教学能力,这是实施以项目为基础的教学工作的基础,进而通过教学方式、方法和课程考核方式研究全面提高VB程序设计课程教学效率。

参考文献:

程序教学法论文第8篇

【关键词】层序地层学 教学内容 双语教学

【基金项目】长江大学教学研究项目(JY2011028)。

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2016)10-0208-01

一、层序地层学课程教学存在的问题

(一)内容繁冗,复杂抽象

层序地层学虽然出现时间短,但是它在全球范围内都掀起了研究热潮,也造成各种不同的新的理论认识不断涌现,形成了多个层序地层学流派,不同的流派对于层序的划分又各不一样,这使得学生在学习时极易混淆。

(二)教学方式方法传统单一

在信息化条件下,新时期的学生与社会交流越来越多,学生在获取课堂知识的同时还会大量接受来自课堂之外的信息,这通常会对课堂教学产生一定的干扰,如何让学生对在课堂45分钟内所学的知识保持深刻印象并深入理解,就成为了我们需要解决的问题。

二、革新优化课程内容

(一)调整课程内容结构,突出重点难点

当前,国际上主要流行Vail的经典层序地层学,Galloway的成因层序地层学和Cross高分辨率层序地层学三大派系,因而我们将这三大流派作为主要内容进行讲解,这样我们就能够将层序地层学的知识通过理论-实际应用这条主线衔接起来,不仅符合实际地质研究工作要求,也易于学生全面理解课程内容。

(二)及时纳入新内容,做到与时俱进

层序地层学的出现在沉积学、地质学以及与沉积岩相关的科学领域引起了极大震动,大量的地质学家加入到了层序地层学的研究队伍中来,极大的促进了层序地层学理论知识的突破与创新。我们在教学过程中及时的将这些新内容吸纳进来,可以有效增强学生学习的积极性,也能让他们了解层序地层学研究前沿。

(三)加强双语教学,提升专业英语水平

层序地层学作为一门起源于国外的地质学科,其最新的一些理论认识也多来自于国外,要想了解最新研究进展就必须将强专业英语的学习,并且中国海外勘探市场的扩张对资源勘查工程专业和地质学专业学生的英语能力也提出了新的要求。因此,我们在教学过程中,采用中文和英语2种语言进行讲授,并突出专有名词的正规翻译。通过这种教学方式,不仅能够提高学生的专业英语水平,还可以激发学生的学习兴趣。

三、改进完善教学方法

(一)加强实例分析,促进学生理解

层序地层学涉及内容较多,如果一味的讲授抽象理论,学生不仅容易出现疲劳,还会对所传授知识的认识模糊不清,也不知道如何应用。如我们在授课常讲层序界面的识别关键在确定不整合面和与之相对应的整合界面,但学生通常会是一头雾水,因而我们通过典型的地震、地质层序界面实例,讲授如何识别层序界面,哪些标志是层序界面标志。通过这样的教学方法不仅可以让学生易于理解,还可以提高他们的实际应用能力。

(二)推行开放式教学,提升学生学习自主性

我们在授课过程中,通过双向提问的方式,以及设置讨论性的题目让学生们利用课堂时间进行分析和讨论,并提供发言机会,然后由其他同学提出看法,最后老师进行点评的方式,调动学生的学习积极性,了解学生对课程内容的掌握程度,提高学生分析问题的能力与实践能力,锻炼学生的地质思维能力和综合表达与演讲能力。

(三)强化实践,提高应用能力

学生通过大量课程实践,在实践中能更深刻体会到海泛面、层序界面、冲刷面、低位体系域及海侵体系域的概念及识别方法。我们通过提供不同的资料,实行分组方法要求学生参与到课程理论的实际引用上来,并根据实际结果加强对学生综合实验能力的考评,制定综合实验能力考评方案,确定考评内容与方法,通过多种考评形式来检验学习效果。这样,能让学生学有所思、学有所用,达到充分训练每一位学生的思考能力、实际应用能力及团队协作精神。

(四)加强课外学习,巩固课堂效果

一方面,我们在授课时会提供给学生邮箱、QQ号或者微信号,通过疑难解答或者分享配有图件的精彩知识点,让学生可以随时温习课程内容。另一方面,我们在课堂结束时会提出一个综合性的题目,要求学生利用课外时间通过查阅文献资料完成一个小型读书报告,写出自己关于课内知识的认识和看法。我们还组织学生利用空余时间观察野外地质剖面,应用理论知识进行层序地层研究,加深知识印象。通过课外学习可以提高层序地层学课堂教学效果。

参考文献:

[1]胡绍祥.遵循教学规律实践教学改革[J].中国地质教育,2006 (1).

[2]张德江.改革教学方法,培养创新人才[J].中国大学教学,2009(5).