程序教学的基本原理篇1

【关键词】VisualBasic;程序设计;教学方法;教学设计

国家新的《基础教育课程改革纲要(试行)》指出:“改变课程过于注重知识的传授的倾向,强调形成积极主动的学习态度,使获得基础知识和基本技能的过程同时成为学会学习和形成正确价值观的过程。”我们从整体上来理解这段话,它强调课程的功能要从单纯注重知识的传授转变为体现引导学生学会学习、学会做人、学会生存;对学生的关注要从更多的关注学习结果转变为也要关注学生学习的过程和方法。根据这个原则我在组织有关VB程序设计方面的课堂教学时,做了以下几点尝试:

1、打破课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以学生的已有知识为基础,按照学生的认知规律,遵循先易后难、先具体后抽象的原则,通过观看、模仿、理解、总结、提高五个阶段进行教学。课本中有关VB程序设计方面的教学内容,象大多数教授程序设计的课本一样,一开始介绍诸如算法、流程图的画法、对象、对象的属性、方法和事件等等一系列的在程序设计中比较抽象难懂的概念,然后介绍程序的建立和运行,最后介绍VB语言基础、分支结构、循环结构和数组。从知识的逻辑结构体系考察,这样安排无可非议,但从学生的认知规律考虑,我认为把一些难懂的、晦湿的抽象的东西放在开始来学习有两点弊端,(1)学生在毫无知识背景的前提下,要完全理解这些概念比较困难;(2)容易伤害同学们学习编程的积极性。受到一些语言知识书籍从介绍一个小实例开始来引入的启发,我决定对本界高一学生开始不讲基本概念,而是和我一起做,在做中由同学们自己在直观上先去体悟这些概念,然后在时机成熟时再和同学们一起归纳总结。所以在组织本章课堂教学时,我采用了自然过渡、类比等方法,和同学们首先一起探讨了VB软件的打开、程序的建立和保存、软件界面等方面的知识,由同学们自己探索着找出VB操作和以前所学软件的异同点。由于同学们已经学过Word应用软件,对这些相似的操作已非常熟悉,所以操作起来得心应手。然后,我给出一个求任意两个整数的加法实例,让同学们和我一起做:(1)在当前窗体内添加了三个标签、三个文本框和两个命令按钮;(2)按照如下表格设计各对象的属性:

缺省的对象名设置的对象名属性名设置值

Form1frmaddCaption求和

Label1lblaCaption输入被加数

Label2lblbCaption输入加数

Label3lblcCaption和为:

Text1txtaText(空白)

Text2txtbText(空白)

Text3txtcText(空白)

Command1cmdaddCaption计算

Command2cmdendCaption结束

(3)在命令按钮“cmdadd”上双击鼠标左键,输入如下程序:

txtc.text=val(txta.text)+val(txtb.txt)

关闭程序编辑窗口,回到界面设计界面,在命令按钮“cmdend”上双击鼠标左键,输入如下语句:end

关闭程序编辑窗口,按F5键运行程序。

在操作的过程当中,教师不用讲解每件事的含义,同学通过完成任务很自然的就会体会出什么是对象,什么是对象的属性和方法,如何在界面内添加对象、设置事件等等。在此基础上,教师适当的引导同学归纳总结一下,一切都迎刃而解。

按照学生的认知规律组织教学和重视同学们的知识结构体系的建立并不是相互对立的,相反,最终同学们能否在头脑中建立完整的学科体系对于其本身能否对所学的内容有比较深刻的理解起着极为关键的作用,问题的关键在于这种学科结构体系的建立是通过外部手段强加给他们的,还是在同学学习的过程中自然形成的。

2、注意通过一系列问题的引动,来激发学生的学习主动性和加深对一些概念的理解。有一些概念之间的差别和程序的设计步骤如果只通过教师讲述,同学们在字面上可以接受,但在理解深度上往往难以达到令人满意的效果,如果能设计出一系列问题,让同学们在实践和解决问题的过程中自己去体验,情况将完全是另一个样子。在教学过程中,注意通过在书本原有程序的基础上逐渐改变和增加条件的方法来提高同学的综合编程能力。例如,同学们在学习FOR……NEXT循环时,书本内给出了一段求前100项自然岛偷某绦颉U舛纬绦蛟谕学们弄懂FOR……NEXT循环之后,理解起来是并不困难的,为了提高同学们的编程能力,我要求同学们对原程序做如下几种变化:

(1)求1到100之间所有偶数的和,要求跳数为2。

(2)求1到100之间所有偶数的和,要求跳数为1。

(3)在程序运行过程中任意输入一个自然数n,求1到n之间所有偶数的和。

这里第一小题和书本原程序相比难度不大,只要将循环的跳数改为2即可,在模仿的前提下同学们就可以完成。第二小题增加了难度,在编程过程中,需要做两点变化,一要将循环变量的变化范围变为从1到50,二要修改循环语句中的通项,将循环语句变为S=S+2*I。要做到这些变化,需要同学们对for……next有比较深刻的理解。第三小题在第二小题的基础上又增加了一点要求,即循环变量的终止值需用变量n来表示,二需要在程序的前面增加一条定义变量n的语句,三需要使用InputBox语句在程序运行的过程中将终止值输入给变量n,这三点要求同学们能够把以前所学的知识综合起来运用,对刚刚学习编程的高一同学来说这还是有一定难度的,但通过练习同学们的综合编程能力可以得到训练提高。

3、引导同学们在学习编程的过程中养成运用动态思维判断程序是否正确的习惯,这种习惯的养成,对培养学生的逻辑思维能力和抽象思维能力有非常重要的作用。为了达到这个目的,在程序设计教学中可以有意识的在以下几个方面给予比较多的关注:(1)对于一些比较简单的程序要求同学们直接写出结果;(2)对于有循环或判断结构的程序,要求同学们根据条件一步步向前走,把循环过程写下来;(3)故意给出一些错误的程序,给同学们设计一些陷阱,让同学们自己去发现;(4)让同学们把书本中程序编写错了的地方改正过来。

程序教学的基本原理篇2

《计算机原理教程》是一本以理论计算机为对象的系统讲述计算机基础理论和方法的教材,内容主要包括计算机产生发展的基础理论、计算机运算器、存储器、指令系统、控制器、总线结构、输入输出设备、输入输出接口、DMA、通道处理机、汇编程序设计、操作系统等原理和基本设计方法,这些都是学习计算机软硬件必须了解和掌握的基础知识。该书是作者20余年计算机教学和科研经验的总结,是一本系统学习计算机理论和方法的入门书。

该书独具特色地解析了软件程序设计的顺序、分支、循环、子程序调用、中断等程序结构对硬件的依赖关系,系统地讲述了指令的一般设计方法,详细讲解了DMA、通道等部件计算机和相关指令的设计,将程序设计结构、程序执行和计算机组成结构紧密地结合在一起,有机地揭示了计算机软件与硬件的相互关系,特别强调“硬件是软件的基础,软件是硬件的完善与发展”的思想。

书中介绍的计算机的记数原理、信息存储原理、限位数运算原理、总线结构的数据传输原理、计算机控制原理、指令与程序设计原理、主机与外设信息交换原理、软件与操作系统原理、多处理机系统与网络计算机系统发展原理等,不仅是计算机专业人员必须掌握的,也是计算机文化的重要组成部分。

该书与其他同类教材相比,结构清晰,内容更加系统连贯,没有知识瑕点。书中用理论模型计算机作为剖析的目标,知识性和理论性较强,方便深入浅出地阐述。由于理论计算机没有实际计算机那些应用上的复杂问题,因而全书内容系统,结构相对简单,直击目标,更易于学习内容的把握。书中对计算机各个部件的论述都给出了逻辑原理图,这些原理图都可以直接成为实际计算机设计的设计图。通过原理图的设计,不仅能够简单直观地讲解计算机的理论,而且也实际培养了读者的计算机设计能力。

将计算机硬件和软件紧密配合讲解计算机,也是《计算机原理教程》的一个特色。书中将硬件发展和软件的需求联系起来,以十分简单的形式给出键盘管理程序和设备驱动程序的设计实例,这种将软硬件有机地结合在一起的处理方法,贯穿全书。这种处理手法使读者更容易理解软件和硬件不可分割的关系,让读者真实地感受到软件对硬件所起的作用,从而进一步加深对计算机基本概念的理解。

《计算机原理教程》虽然是一本教材,但所阐述的内容,许多都具有一定的理论价值。例如对补码制的理解,对虚拟存储空间和操作系统管程的解释等都有更深的内涵。特别是对书中所述计算机启动运行的全过程的描述,为读者揭示了计算机的整体工作过程,为将来进行深入地学习和全面地理解计算机创造了条件。

该书也兼顾到计算机汇编语言程序设计、编译方法和系统程序设计等内容,在讲述硬件的同时,介绍软件的方法,这不仅使内容更加完整,而且也为读者专修这些课程奠定了必要的基础。

《计算机原理教程》还有一个突出的特点,那就是计算机知识引入起点不高,内容系统连贯,具有高中以上文化水平的读者,都可以看懂学会书中的内容,跟随作者设计的步伐,逐渐进入计算机系统的领域。该教材可以作为计算机系统知识学习的第一门课。

配合计算机原理课程,作者还编写了《计算机原理教程习题解答与教学参考》,供教学和学习选用。读者若深入学习计算机设计,可学习《基于QutartusII的计算机核心设计》教材,它可给计算机原理内容更实际的支持,《计算机原理教程》的许多设计,都可以直接成为计算机设计的实例。

《计算机原理教程》不仅适用于本科计算机专业,也适合于本科计算机应用专业。书中带“*”的内容有一定的难度,非计算机专业可以选讲,而且这样处理的结果,不影响全书的完整性和内容的基础作用。

程序教学的基本原理篇3

诉讼法学课程在我国法学本科教育中占有比较重要的地位。教育部的“全国高等学校法学专业核心课程”中,刑事诉讼法、民事诉讼法都是独立的一门课,行政诉讼法和行政法合成一门学科。对于诉讼法学的教学内容,哪些应当固守、哪些应该拓展,笔者谈一点个人己见。

一、诉讼法学教学内容的组成与固守

纵观改革开放以来,我国诉讼法学统编教材的体例和内容,就会发现诉讼法学的教学内容安排有两个基本的特点:第一,体例和知识点与法典几乎是同质同构;第二,理论内容主要是对法典条文的注释。例如,陈光中先生主编的《刑事诉讼法》教材,其第一编“总论”主要对应《刑事诉讼法》法典第一编“总则”;教材第二编“分论”主要对应法典第二编“立案、侦查和提起公诉”、第三编“审判”、第四编“执行”。[1]再如,宋朝武教授主编的《民事诉讼法学》,教材“理论编”包含了《民事诉讼法》法典第一编“总则”的第一章“任务、适用范围和基本原则”;教材“制度编”主要对应法典第一编的第二章至第十一章;教材“通常审理程序编”主要对应法典第二编“审判程序”的第十二章至十四章、第十六章;教材“特殊程序编”主要对应法典第二编的第十五章、第十七章和第十八章;教材“民事执行程序编”主要对应法典第三编“执行程序”;教材“涉外民事诉讼程序编”主要对应法典第四编“涉外民事诉讼程序的特别规定”。[2]这样安排诉讼法学的教学内容是科学合理的,它的好处在于便于学生迅速地掌握国家法律规定,在较短的时间内理解现行法律法规。

以法典为基础、着力注释法典内涵其实是诉讼法学教学的传统风格,在大陆法系各国以及旧中国都存在着这种现象。例如,民国时期陈瑾昆着述的《刑事诉讼法通义》就与当时的“刑事诉讼法”法典有紧密的对应关系。[3]再如日本学者松尾浩也着述的《日本刑事诉讼法》与日本刑事诉讼法典也存在着密切的对应关系。[4]在西方,中世纪后兴起的法学,首先一个流派就是注释法学派。通过对罗马法的注释,传播法学知识、灌输法律理念,对西方法制的发展做出了巨大的历史贡献。今天我们进行包括诉讼法学在内的法学教育,尤其是本科教育,应当坚持这个传统,提高人才培养的有效性。

当然,言讲诉讼法学的教学内容与法典同质同构、以注释法典条文为主,绝不意味着我们的教科书和课堂教学就是简单的法条释义。理论的铺垫、理性的解剖、理智的批评、理想的建议,在诉讼法学教学中是随时都存在的。比较而言,本科教育着重解决“是什么”的问题;研究生教育则以“为什么”或“应该怎么样”为主。笔者认为,可以把我国现行以法典为基础、结合理论论述的诉讼法学教学内容分解为四大组成部分,它们分别是:

1.基础理论

该部分主要讲解这门学科的基本概念、历史沿革、若干诉讼原理和诉讼理念等。[5]台湾学者的教科书也有这部分内容,尽管有人阐述得多,有人介绍得少。[6]???

2.基本原则

这部分基本都是把相应法典中的基本原则加以详细介绍。稍微复杂一点的会增加外国法律中的基本原则和学理上主张但立法尚未采纳的一些基本原则。从法的要素角度看,法律原则是与法律概念、法律规则并列的组成部分。从法的适用角度分析,法律原则有助于准确理解法律、正确运用法律,以及可以弥补具体规则之漏洞。因此,这部分的学习其实非常重要,但常被学生所忽视。

3.诉讼制度

诉讼法学对诉讼制度的介绍可以分为两个部分:一是三大诉讼法共同的、内容基本一致的诉讼制度,往往称之为“基本制度”,例如回避、合议、两审终审、公开审判、陪审等;另一类是某诉讼法独有的,或者其制度安排有特色的诉讼制度,例如刑事诉讼中的辩护制度、强制措施制度,民事诉讼中的和解制度等。诉讼制度作为比较集中的规则安排,对于确保诉讼程序的顺利进行至关重要,是学习的一个重点内容。

4.诉讼程序

诉讼程序是诉讼法学教学内容的重中之重,是最为复杂的一个版块。以民事诉讼程序为例,首先,它可以分为国内诉讼程序和涉外诉讼程序;其次,国内诉讼程序可以分为审判程序和执行程序;第三,审判程序可以分为通常审理程序和特殊审理程序;第四,通常程序又包括一审程序、二审程序和审判监督程序,特殊程序又包括特别程序、督促程序、公示催告程序、海事诉讼程序等;第五,一审程序可以分为一审普通程序和一审简易程序。如此众多的诉讼程序构成一个严谨的体系,内容复杂,学习难度也大,但是也最重要。

笔者认为,以上这些教学内容都是诉讼法学应该固守的。但是,除此之外,诉讼法学的教学内容还需要拓展。

二、诉讼法学教学内容的拓展与理由

笔者一直主张且在自身的教学实践中施行,诉讼法学应当拓展法律适用技能的讲授。

1.在诉讼法学中增加法律适用的教学内容的理由

(1)这是司法裁判的本质要求。陈光中先生指出:“司法”从中外的词义来说,具有以下三项相关的内涵:其一,实施法律;其二,解决狱讼;其三,体现公正。而作为司法中心的审判,则是指法院或者法庭对案件通过审理,认定事实,适用相关法律,加以裁判的活动。[7]这充分表明,诉讼活动是一个法律适用的活动,就是把相关法律规则作为大前提、把案件事实作为小前提,运用三段论推理得出裁判结论的过程。诉讼法学作为研究诉讼活动的法学学科,为什么重视事实认定而轻视、甚至忽视法律适用呢?为什么看到裁判推理的小前提而忘却大前提呢?笔者认为这是一种误解。那就是认为事实认定困难、法律适用容易,是法官就自然会法律适用。其实,不是这样,至少不完全是这样。

(2)这是诉讼程序救济的审查内容。我国的《刑事诉讼法》第189条、《民事诉讼法》第153条、《行政诉讼法》第61条都规定:适用法律、法规正确是二审法院维持一审裁判的必要条件之一;适用法律、法规错误是二审法院更改一审裁判的充分条件。可见,在程序救济的体制安排中,一审中的法律适用是与事实认定、程序规范一样作为审查的内容的。毫无疑问,诉讼程序有三个主要问题:一是事实认定,它要求清楚、证据确实充分;二是程序操作,它要求规范合法;三是法律适用,它要求正确、准确。既然都是程序的组成部分、都要面临上级法院、社会大众的监督,为什么只是关注程序操作和事实认定,偏偏又忘却了法律适用呢?

程序教学的基本原理篇4

VB程序设计课程是一门应用性较强的课程,它要求学生不仅能领会程序设计的基本思路、基本方法,而且还要掌握窗体界面下VB工程编制的方法与技能、掌握具体实例中的基本的代码阅读与编写能力。如果以教材为中心、以知识的逻辑的顺序来组织教学,并不完全适用于该课程的教学,无法达到所需的教学目标。本人结合这几年在VB课程上的教学实践,探索出一些适用于技校生的教学方法。

1入门――培养学生的学习兴趣,形成感性认知

VB程序设计课程既有理论又有实践,教学中若先从语言基础入手,从常量、变量、表达式、数组、函数、程序流程控制以及对象、对象的属性、事件、方法等比较抽象难懂的概念入手,按其他学科一般的教学逻辑结构进行教学,从学生的角度考虑,学生在没有感性认知的情况下去理解掌握这些概念比较困难,而且容易挫伤他们的学习积极性、难以获得较好的教学效果。因此,在教学中要打破原有的从知识的逻辑结构组织教学的方式、从学生的现状出发,改变原有的教学顺序,重新合理组织教学内容。具体的做法是:在课程的开始,在简单介绍完VB的特点、VB的版本与安装及集成开发环境等基本操作后,先从VB标准示例工程入手,选用两个完整的有代表性、相对简单的实例作为入门,只要求他们按部就班,不要求他们一下子能掌握所有的相关知识。这样通过实例,学生能全过程了解VB工程的设计过程,对VB工程中的窗体、控件、属性、方法与事件等抽象的概念也有个初步的了解与认识,对VB课程有了感性的认知,同时增进他们的学习兴趣与热情。

2循序渐进――立足具体实例分散难点,逐步渗透

对于刚接触VB的学生,对程序设计充满好奇,如果一味地把一大堆抽象的概念放前面讲述,会打击学生的学习兴趣,要想让学生领会这些抽象的概念,在VB前半部分的教学中,在讲授各个章节的主要知识点后,在各教学中运用一些恰当的具体实例为切入点,在每个实例中逐步、适当、适量地渗入相关的概念与知识。在学生接受所教授的内容后,接下来布置实例让学生完成,让学生在做中学,在学中做,使学生在完成任务的过程中逐步地、循序渐进地体会控件、属性、事件等概念,逐步掌握代码的编写。

VB前半部分课程的具体教学安排如下:

2.1了解VB的版本、安装、课程特点、VB的集成开发环境。通过两个VB标准示例工程的教与学,使学生对VB工程有个初步的了解与认识。

2.2教学上先讲授文本框、标签、按钮、列表框、组合框等基本控件。在新课中先向学生讲述相关控件的常用属性,然后在VB的集成环境下进行实践操作,通过“教师的教”与“学生的练”的有机结合,使学生掌握必须掌握的基本属性的设置与应用,在此基础上再通过实例巩固前面所学的内容并逐步把其他知识点加以渗透,通过实例的练习,使学生由浅入深、循序渐进地认知课程的知识点。

2.3在进行完必须的基本控件的教学后,再进行VB语言基础与程序设计(编程)方面的教学,教学中以这些控件为媒介,使用具体的有代表性的实例来讲述数组、表达式、函数、过程及程序设计等难以理解的概念与方法,这样做既使原本无味枯燥、抽象的内容变得鲜活,又能进一步巩固基本控件的教学成果,在实例教学中达到传统教学方法难以达到的教学目的。

2.4在完成上述教学内容后,以学生已经掌握的基本控件与代码编写为基础,再继续完成VB其他控件的教学。

在教授完VB控件及程序设计基础(代码编制)后,学生已经掌握VB窗体及编程的基础,VB后半部分课程的展开可以按照原有的逻辑顺序进行。

3融会贯通――培养学生的创新思维,举一反三

在教学过程中,有一些知识如果只通过教师的讲述、通过具体的实例教学,学生表面上可以接受,但在深度的理解上、在活学活用的层次上难以达到满意的效果。要解决这些问题,可以按照以下方法去做:在教学中在学生完成实例练习后,教师首先根据学生的掌握情况,由小到大、由易到难对实例逐步进行更改,启发学生的思维方式,要求学生自己对先前的例子进行修改。这样做的优点是:在更改例子的过程中不仅可以帮助学生理解掌握课程的知识点、发挥学生的学习潜能,还可以通过比对及总结,举一反三,培养学生的创新思维力能力,这样既加深了学生对内容的理解又能促进学生学习能力的提高。

4因材施教――注重创新,发挥学生特长

教学过程中,学生对VB课程感知能力水平的差异逐步显现出来,特别到后半部分具体的综合应用时,学生能力上的两极分化特别严重,为了充分调动学生的学习积极性,在教学中应注意兼顾这两方面学生的感知能力。例如在课堂练习中可以除了布置必做题以外,还可以针对程度高的同学布置一定难度的选做题,这样可以发挥优秀生的内在潜能。而对那些掌握能力较差的同学,不歧视、不挖苦,尽力让他们对课程保持信心,使他们能够完成布置的必做题。同时,还要求能力较强的同学协助教师,帮助掌握能力差的同学解决问题,这样教师可以既节省一定的时间处理共性的问题,又可以调动优秀学生的学习热情,发挥他们的积极性。

5利用现代媒介――充分利用媒介辅助提高教学效率

利用计算机多媒体教学软件,可以通过局域网内的广播教学,通过教师与学生的演示教学,使难以理解的问题形象化、直观化,将学生带入场景模式,提高了教学效率、增强了学生的学习兴趣。特别在比较枯燥的编程基础及难度较大的程序设计这一块,充分利用计算机与多媒体、通过大量的合适的实例与练习,使原本抽象的教学内容转化为鲜活的实例教学,达到传统教学方法所无法实现的教学效果。

总之,教学方法在VB程序设计教学中举足轻重,它关系到教学的质量与效率。实践证明,学生知识的获得能力的培养,不可能只依靠单一的教学方法,VB课程的主要教学目标是让学生理解掌握VB的面向对象、可视化、组件开发等特性,了解结构化程序设计基本思想,培养学生在VB可视化用户界面下进行编程设计所需的基本能力与基本方法,养成严谨、合理地思考与解决问题的习惯。必须把多种教学方法有机地结合起来,并根据教学过程的实际情况,灵活地、主动地掌握控制教学过程,才能获得我们所需的良好的教学氛围、争取最好的教学效果。但是不论采用何种教学方法或教学方法组合,都绝对不能撇开教材的教学内容与教学目标、而必须考虑学生的知识背景并遵守教学规律。

采用与学生知识背景相符合的、科学的教学方法,按照学生的认知能力与学习规律来组织教学,必然会提高教学效率,取得事半功倍的效果。

程序教学的基本原理篇5

论文摘要:诉讼法学教学内容以法典为基础、以注释为方法,基本组成是基础理论、基本原则、诉讼制度和诉讼程序四大版块。笔者建议拓展法律适用的教学内容,因为它是诉讼制度中的必要组成部分。

诉讼法学课程在我国法学本科教育中占有比较重要的地位。教育部的“全国高等学校法学专业核心课程”中,刑事诉讼法、民事诉讼法都是独立的一门课,行政诉讼法和行政法合成一门学科。对于诉讼法学的教学内容,哪些应当固守、哪些应该拓展,笔者谈一点个人己见。

一、诉讼法学教学内容的组成与固守

纵观改革开放以来,我国诉讼法学统编教材的体例和内容,就会发现诉讼法学的教学内容安排有两个基本的特点:第一,体例和知识点与法典几乎是同质同构;第二,理论内容主要是对法典条文的注释。例如,陈光中先生主编的《刑事诉讼法》教材,其第一编“总论”主要对应《刑事诉讼法》法典第一编“总则”;教材第二编“分论”主要对应法典第二编“立案、侦查和提起公诉”、第三编“审判”、第四编“执行”。[1]再如,宋朝武教授主编的《民事诉讼法学》,教材“理论编”包含了《民事诉讼法》法典第一编“总则”的第一章“任务、适用范围和基本原则”;教材“制度编”主要对应法典第一编的第二章至第十一章;教材“通常审理程序编”主要对应法典第二编“审判程序”的第十二章至十四章、第十六章;教材“特殊程序编”主要对应法典第二编的第十五章、第十七章和第十八章;教材“民事执行程序编”主要对应法典第三编“执行程序”;教材“涉外民事诉讼程序编”主要对应法典第四编“涉外民事诉讼程序的特别规定”。[2]这样安排诉讼法学的教学内容是科学合理的,它的好处在于便于学生迅速地掌握国家法律规定,在较短的时间内理解现行法律法规。

以法典为基础、着力注释法典内涵其实是诉讼法学教学的传统风格,在大陆法系各国以及旧中国都存在着这种现象。例如,民国时期陈瑾昆著述的《刑事诉讼法通义》就与当时的“刑事诉讼法”法典有紧密的对应关系。[3]再如日本学者松尾浩也著述的《日本刑事诉讼法》与日本刑事诉讼法典也存在着密切的对应关系。[4]在西方,中世纪后兴起的法学,首先一个流派就是注释法学派。通过对罗马法的注释,传播法学知识、灌输法律理念,对西方法制的发展做出了巨大的历史贡献。今天我们进行包括诉讼法学在内的法学教育,尤其是本科教育,应当坚持这个传统,提高人才培养的有效性。

当然,言讲诉讼法学的教学内容与法典同质同构、以注释法典条文为主,绝不意味着我们的教科书和课堂教学就是简单的法条释义。理论的铺垫、理性的解剖、理智的批评、理想的建议,在诉讼法学教学中是随时都存在的。比较而言,本科教育着重解决“是什么”的问题;研究生教育则以“为什么”或“应该怎么样”为主。笔者认为,可以把我国现行以法典为基础、结合理论论述的诉讼法学教学内容分解为四大组成部分,它们分别是:

1.基础理论

该部分主要讲解这门学科的基本概念、历史沿革、若干诉讼原理和诉讼理念等。[5]台湾学者的教科书也有这部分内容,尽管有人阐述得多,有人介绍得少。[6]???

2.基本原则

这部分基本都是把相应法典中的基本原则加以详细介绍。稍微复杂一点的会增加外国法律中的基本原则和学理上主张但立法尚未采纳的一些基本原则。从法的要素角度看,法律原则是与法律概念、法律规则并列的组成部分。从法的适用角度分析,法律原则有助于准确理解法律、正确运用法律,以及可以弥补具体规则之漏洞。因此,这部分的学习其实非常重要,但常被学生所忽视。

3.诉讼制度

诉讼法学对诉讼制度的介绍可以分为两个部分:一是三大诉讼法共同的、内容基本一致的诉讼制度,往往称之为“基本制度”,例如回避、合议、两审终审、公开审判、陪审等;另一类是某诉讼法独有的,或者其制度安排有特色的诉讼制度,例如刑事诉讼中的辩护制度、强制措施制度,民事诉讼中的和解制度等。诉讼制度作为比较集中的规则安排,对于确保诉讼程序的顺利进行至关重要,是学习的一个重点内容。

4.诉讼程序

诉讼程序是诉讼法学教学内容的重中之重,是最为复杂的一个版块。以民事诉讼程序为例,首先,它可以分为国内诉讼程序和涉外诉讼程序;其次,国内诉讼程序可以分为审判程序和执行程序;第三,审判程序可以分为通常审理程序和特殊审理程序;第四,通常程序又包括一审程序、二审程序和审判监督程序,特殊程序又包括特别程序、督促程序、公示催告程序、海事诉讼程序等;第五,一审程序可以分为一审普通程序和一审简易程序。如此众多的诉讼程序构成一个严谨的体系,内容复杂,学习难度也大,但是也最重要。

笔者认为,以上这些教学内容都是诉讼法学应该固守的。但是,除此之外,诉讼法学的教学内容还需要拓展。

二、诉讼法学教学内容的拓展与理由

笔者一直主张且在自身的教学实践中施行,诉讼法学应当拓展法律适用技能的讲授。

1.在诉讼法学中增加法律适用的教学内容的理由

(1)这是司法裁判的本质要求。陈光中先生指出:“司法”从中外的词义来说,具有以下三项相关的内涵:其一,实施法律;其二,解决狱讼;其三,体现公正。而作为司法中心的审判,则是指法院或者法庭对案件通过审理,认定事实,适用相关法律,加以裁判的活动。[7]这充分表明,诉讼活动是一个法律适用的活动,就是把相关法律规则作为大前提、把案件事实作为小前提,运用三段论推理得出裁判结论的过程。诉讼法学作为研究诉讼活动的法学学科,为什么重视事实认定而轻视、甚至忽视法律适用呢?为什么看到裁判推理的小前提而忘却大前提呢?笔者认为这是一种误解。那就是认为事实认定困难、法律适用容易,是法官就自然会法律适用。其实,不是这样,至少不完全是这样。

(2)这是诉讼程序救济的审查内容。我国的《刑事诉讼法》第189条、《民事诉讼法》第153条、《行政诉讼法》第61条都规定:适用法律、法规正确是二审法院维持一审裁判的必要条件之一;适用法律、法规错误是二审法院更改一审裁判的充分条件。可见,在程序救济的体制安排中,一审中的法律适用是与事实认定、程序规范一样作为审查的内容的。毫无疑问,诉讼程序有三个主要问题:一是事实认定,它要求清楚、证据确实充分;二是程序操作,它要求规范合法;三是法律适用,它要求正确、准确。既然都是程序的组成部分、都要面临上级法院、社会大众的监督,为什么只是关注程序操作和事实认定,偏偏又忘却了法律适用呢?

(3)这是有效解决疑难案件、遏制司法错案的具体措施之一。什么是疑难案件?无非是事实认定难、法律适用难,或者案件事实与法律法规结合难。[8]什么是错案?也无非是事实认定错误、法律适用错误。如何解决这些疑难案件或者错误案件?当然应当采取包括提高法律适用技能在内的各种综合措施。如果仅仅解决了事实认定中可能出错的地方,而忽视法律适用中的错误,同样会发生疑难案件和错误案件。

有人认为,外国和民国时期的诉讼法学教育也没有法律适用的专门内容,不是照样培养了许多合格的法律人才,这如何解释?笔者认为如果一个国家或者地区的法科学生,他们本身的教育模式就是以法律适用为教学依归,那么诉讼法学教科书中有无这个内容就不重要,因为他们每堂课都在学习着活生生的法律适用。美国的判例教育法就是如此。如果一个国家或地区的法科学生的教学计划中有专门的、必修的法律适用方面的课程,那么诉讼法学也可以忽视这部分内容,因为学生可以在其他课堂上学习到法律适用的技能。德国注重法律方法论的学习就是如此。假如这两类情形都没有,试问:法科学生何以获得法律适用技能的理论学习与培训呢?仅仅在法理学课程中讲一点就足够了吗?笔者认为不够。而我国法科学生现行的教育模式和教学内容恰恰就是欠缺这方面技能学习的。所以,作为诉讼法学教师,笔者主张应当首先在诉讼法学教学内容中拓展法律适用技能的学习。转贴于

2.诉讼法学中增加法律适用部分的内容

如果说在诉讼法学教学内容中增加法律适用的部分是有必要的,那么我们应当给学生讲授哪些具体内容呢?笔者主张最低限度应当告诉学生如何找法、定法、释法、用法。

(1)所谓找法就是三段论裁判大前提的寻找与确立。找法可以分找到、找不到、找到不太适合的等情形,出现这些情形时法官如何采用体制内许可的方法加以解决是一项重要的技能。[9]笔者认为:找到合适的法律规则需要对其进行结构分析;找不到法律规则就要进行诸如漏洞补充的措施;找到不太合适的法律规则就要进行诸如利益衡量的措施。

(2)所谓定法就是排除已经找寻到的法律规则之间的冲突。如果说找不到适合于本案的法律规则是法律的消极冲突,那么找到两个以上可以适用于本案的法律规则、而彼此又有矛盾,就是法律的积极冲突。由于立法主体的不同、立法背景的不同、立法目的的不同等原因,法律规则之间的积极冲突是一个无法根本杜绝的现象。出现这些现象就要遵循一定的法律适用规则加以确定。这些规则很多,诸如“新法大于旧法”、“特别法大于一般法”等皆是。

(3)所谓释法就是对确定下来的法律规则进行一定的解释,包括文义解释和各种论理解释。[10]正如本文前述,诉讼法学本身的内容结构就是一种对诉讼法典的解释。培养的法律人才也应当会对实体法和程序法进行必要的解释。

(4)所谓用法就是将法律规则这个大前提与案件事实这个小前提进行结合推理和法律论证。推理要遵循一定的逻辑规则,包括形式逻辑的规则和辩证逻辑的规则。这种规则的运用还要体现为心证公开中的裁判理由公开。也就是说法官不仅要会推理论证,还要把这个过程表示出来接受上级法院和当事人以及社会的监督。

三、结束语

诉讼法学应当为培养合格法律人才做出应有的贡献。

在某些场合,法学已被人戏称为“垃圾专业”了。当然这种说法是否正确值得讨论。但是,某种程度和某些方面的贬抑应当引起我们从事法学教育的人的思考:我们应当如何培养法科学生?合格法律人才的标准又是什么?笔者认为,法学教育不能培养“华而不实”、“夸夸其谈”的人,应当培养能够熟稔运用法律的人才。法学是一门应用之学,不能教给学生“屠龙之技”,而应当传之以“杀牛之术”。

参考文献:

1陈光中.刑事诉讼法(第三版)[M].北京:北京大学出版社,2009

2宋朝武.民事诉讼法学[M].北京:中国政法大学出版社,2008

3陈瑾昆.刑事诉讼法通义(郭烁整理)[M].北京:法律出版社,2007

4[日]松尾浩也.日本刑事诉讼法(丁相顺译)[M].北京:中国人民大学出版社,2005

5刘玫.刑事诉讼法[M].北京:中国政法大学出版社,2008

6褚剑鸿.刑事诉讼法论[M].台北:台湾商务印书馆股份有限公司,2001

7陈光中.中国司法制度的基础理论问题研究[M].北京:经济科学出版社,2010:4~9

8邱爱民、张保玲.论司法裁判中的辩证推理[J].经济与社会发展,2004(1):120~121

程序教学的基本原理篇6

关键词:归纳式教学法;程序设计;创新教学方法

程序设计课程是计算机专业的核心基础课程。关于程序设计课程的创新教学方法研究是我国高校重点关注的课题之一。本文重点研究了归纳式教学法在程序设计课程中的应用,首先介绍程序设计课程创新教学方法的研究现状,之后阐述归纳式教学法对程序设计课程的重要意义,再提出基于归纳式教学法的程序设计课程的若干创新教学方法,最后作出总结。

1.程序设计课程创新教学方法的国内外研究现状

1.1国内研究现状

国内很多大学都在程序设计课程创新教学方法上作出了有益的尝试。例如,文献[1]提出以多媒体课件为主、以多本参考书为辅,演示的程序实例不少于400个。文献[2]采用“案例牵引、项目驱动、团队合作、引导互动”为特征的“做中学”教学模式,按照企业过程标准实际完成一个产品或系统的完整构建过程训练。文献[3]通过启发式提问讲解编程原理和方法,然后讲解案例源码,再引导学生分组讨论。文献[4]以培养工程师的综合品质和创新能力为目标,将基于问题和项目的设计教育贯穿整个工程教育过程。

以上学校都是围绕课程教学的具体方法来进行创新,而九校联盟(C9)则提出,要把培养学生的“计算思维”能力作为计算机基础教学的核心任务,并围绕这一核心任务加强计算机课程体系和教学内容的研究。

1.2国外研究现状

文献[6]提出计算机教学中应综合运用不同学科的方法,包括计算机学科、教育学、社会学、心理学等。文献[7]认为建立正确的思维模式对于学习编程十分重要。学生必须改变原有的思维模式,否则虽然在学,却不能真正理解编程。文献[8]发现很多学生对推理和创新不感兴趣,只看重结果,他们认为应当让学生了解计算机学科不仅是一门技术,更需要发挥聪明才智和创造力。文献[9]提出了一种新的案例授课方法。在一门课程中,每次给学生留作业都使用同一个案例(或背景),但是随着课程的深入,要求学生运用不同的知识点来解决这个案例中的不同问题。这种方法可以节省学生理解案例内容的时间,让学生把精力集中于如何解决问题。文献[10]介绍了一种辅助编程软件Alice3,可以帮助学生利用可视化环境学习Java编程技术。

2.归纳式教学法及其对程序设计课程的重要意义

我们认为要想创新教学方法,首先必须更新教学理念。美国的普林斯和菲尔德总结了“归纳式教学法”在高等教育中的应用。我们认为归纳式教学法的原理和方法非常适合于程序设计课程。事实上,前述国内高校所采用的“案例牵引”“启发式提问”“基于问题和项目的教学”等都属于归纳式教学法的范畴,只是没有从理论上阐明归纳式教学法对于程序设计课程的重要意义。

2.1归纳式教学法简述

归纳式教学法包括一系列教育方法,如探究式学习、基于问题/项目/案例的学习、发现式学习和即时教学等。这些方法的共同特点是“以学习者为中心”,让学生在学习中居于主导地位,采用多种手段激发他们主动学习的精神。归纳式教学法的一般做法是:先提出一个问题、项目或案例,由学生组成小组在课内或课外进行讨论和研究,提出解决方案,再评价不同方案的优劣,从而归纳出相对正确和有效的方法。在这一过程中,学生通过解决问题自行建构知识体系,教师主要起指导、推动和提供必要信息的作用。

与归纳式教学法相比,在传统教学中,教师居于教学的主导地位,通常先由教师讲解原理、方法等,再让学生掌握并运用这些原理和方法解决问题,这是一种演绎式教学法。在这一过程中,教师把原理和方法作为一种结论灌输给学生,学生只是被动地接受,并不清楚这些原理和方法是如何得出来的,也不清楚为什么一定要使用这些方法而不能用其他方法,因此学生很难真正理解并掌握它们。

2.2归纳式教学法的重要意义

程序设计不仅是一门技术,更是一种思维方式。文献[12]指出计算机基础教学的核心任务是计算思维能力的培养,而学习程序设计是计算思维能力培养的重要内容。我们认为在程序设计课程中引入归纳式教学法,有助于学生更好地理解和掌握程序设计的基本思想,从而逐步建立起计算思维能力。这主要体现在以下几个方面。

2.2.1培养学生的自主学习能力

归纳式教学法十分强调培养学生的自主学习精神和能力。当遇到问题时,学生应当有能力利用各种资源、采用各种方法积极地解决问题。而自主学习能力对于学好程序设计十分重要。学生只有具备了自主学习能力,才能不断地更新知识和技术,使自己成为一个合格的应用型人才。

传统的教学方法不强调这种能力的培养,学生只要能利用课堂上的原理和方法去解决问题就够了。但是对于程序设计,仅靠课堂上讲授的知识往往不足以解决复杂的实际问题。因此,必须强调对学生自主学习能力的培养。归纳式教学法中的探究式学习、基于问题的学习、发现式学习等都提供了培养学生自主学习能力的有效方法。

2.2.2培养学生的创新精神

归纳式教学法十分注重培养学生的创新精神。针对同一个案例或问题,归纳式教学法不会给出统一的标准答案,而是鼓励学生采用不同方法提出多种解决方案。这种方法非常适合程序设计教学。因为在程序设计中,针对某一问题往往没有唯一的解决方案。学生应根据不同的环境背景,提出一种或几种比较适合的方案。这就要求学生具备足够的创新精神。

传统教学中,仅靠教师在课堂上讲解一个个知识点不利于培养学生的创新精神。而归纳式教学法中的很多方法,如基于案例/项目的学习等,有助于培养学生的创新精神。

2.2.3通过实践提高学习效率

实践对于学好程序设计意义重大。学生只有通过大量的实践才能真正理解并掌握程序设计方法。归纳式教学法就十分强调学生的实践。例如,归纳式教学法中的即时教学法要求学生先独立回答一些问题,教师从中发现学生易犯的错误和存在的问题,然后有针对性地讲解。将这种方法应用到程序设计教学中,可以使学生认识到自己易犯什么错误,并通过改正这些错误而进一步增强对所学知识的理解。

相比之下,在传统教学法中,教师虽然对每个知识点都详细讲解,但学生们却不容易真正掌握。例如,Java中的switch语句只接受几种固定的数据类型,但仅靠学生死记硬背很难记住,相反,让学生上机实践一次,甚至错过一次,学生自然就会记住了。类似现象在程序设计课程教学中很常见。

3.基于归纳式教学法的创新教学方法

归纳式教学法的总体原则适用于程序设计教学,但具体方法不宜照搬。我们在教学实践中以归纳式教学法的基本思想为指导,在完善案例教学、加强学生实践、改革考试方式等方面提出了若干创新教学方法。

3.1完善案例教学

传统教学中,教师先讲解知识点,后讲解案例。学生在学习知识点时,缺少感性认识,往往不知所云,教学效果不好。我们依据归纳式教学法的原理,对案例教学做出了几点改革。

一是将案例提前。每次上课首先提出一个案例,通过讲解这个案例引出将要学习的知识点。这样学生对新知识点会有一个感性认识,了解某一知识点在整个程序中的具体用途和用法,比较容易理解和吸收。二是提供完整的案例。每次讲解案例时,不是仅截取一段程序演示,而是从某一具体的问题或需求出发,讨论如何解决这一问题,再在计算机上演示完整的程序,直至运行、输出结果。这样可以让学生对编程的完整过程有所了解,有助于对程序的理解。三是开设案例讨论课。每月开展一次,预先将案例交给学生分组准备,课堂上每组学生演示自己的程序,然后组织学生讨论,最后教师点评。

3.2加强学生实践

大量的实践对于学好程序设计是至关重要的。教师反复讲解,不如让学生实践一次。但是实践不能仅考虑数量(例如编写多少行代码)。我们提出除了要保证代码量外,还应做到以下几点:

一是尽量提前实践开始时间。学生开始上机实践的时间越早越好。即使学生还没有学习编程方法,也可以先熟悉一下编程环境,熟悉如何建立文件或试着写几行代码等。二是保证实践机会。我们应尽量让学生在需要实践的时候能够实践。教师刚讲解完知识点时立刻让学生实践,这时的效果最好。我们在课堂上总是留出一部分时间让学生分组编写程序,然后选出1-2组演示程序。教师根据演示情况随时予以点评,并针对易犯的错误深入剖析。三是鼓励学生每天做一点编程练习。理论上,学生都知道程序设计必须实践,但实际上并不了解具体的实践方法和步骤。我们提倡学生天天编程、日日练习,这对学生来说是可行的、具体的。在这一过程中,学生逐渐养成编程实践的习惯,并体会到只有经过日积月累的实践,才能提高程序设计的能力。

3.3改进考试方式

在考试方式上,国内教师较多地采用传统的客观题考试方式(如选择题、填空题等),国外教师则尝试采用小组考试。我们认为这两种方式都不适合国内的程序设计教学。在期末考试中,我们采用的仍是单独考试,但仅考编程题和简述题,不考客观题。这种方式更符合程序设计课程的培养目标,即培养应用型的程序设计人才,强调编程能力,而不是死记硬背。学生学习都是以考试为导向的。如果我们考察的是编程能力,学生平时就会更积极地进行编程练习,而不会死记硬背概念和语法。

4.结语

归纳式教学法是与传统的演绎式教学法完全不同的一种教学方法,它不是直接提供结论,而是先提出问题,让学生通过解决问题自己归纳出相对正确的方法。归纳式教学法有助于培养学生的自主学习能力和创新精神,因此十分适合于程序设计教学。