当前位置:首页 > 教学设计 > A-level,Computing对“算法与程序设计”教学的借鉴:算法与程序设计 教学视频
 

A-level,Computing对“算法与程序设计”教学的借鉴:算法与程序设计 教学视频

发布时间:2019-06-25 04:04:45 影响了:

  摘 要:“算法与程序设计”在我国高中信息技术教学中虽为选修模块,但因其内容的重要性和在计算机学科中的基础地位,绝大部分高中生都会选择学习这一部分内容。作者基于和A-level Computing课程的比较,初步探索如何将研究成果用于算法与程序设计教学实践。
  关键词:A-level Computing课程;算法与程序设计;课堂教学
  中图分类号:G424.21   文献标识码:A 文章编号:1673-8454(2012)14-0034-03
  一、A-level Computing课程基本情况简介
  A-level(General Certificate of Education Advanced Level)课程是英国剑桥考试中心(CIE,Cambridge International Examinations)的金牌课程体系,以其国际权威性为许多国内高中出国班所采用。A-level课程包含70多门科目供学生选择。A-level课程的学制一般为两年,第一年称为AS-Level;第二年称为A2-Level。课程的考核被设置为四次考试,第一年前两次考试通过,获得AS-level证书,第二年再通过后两次考试,获得A-level证书。
  我国信息技术课程的相关内容为A-level中的两门课程,涵盖计算机应用(Computing)和应用信息通讯技术(ICT,Applied Information and Communication Technology)。其中Computing课程的内容包括计算机原理、软件应用、计算机编程、数据结构、软件工程、网络、数据库等方面。显然算法与程序设计部分的教学内容对应于Computing课程中的相关内容,同时这部分内容也是Computing课程的重点所在。
  二、Computing课程中算法和编程教学的突出特点
  1.大纲不指定编程语言
  Computing课程在使用编程语言方面和中国差别很大,教学大纲中不指定编程语言。与之对应,考试中的相关试题或要求使用伪代码和流程图来描述算法,或由学生使用任意一种自己掌握的语言来做答。教材中,AS-Level部分没有使用具体的语言,A2-Level部分使用Pascal语言作为范例,但教材中并没有专门的章节来学习Pascal的语法。此外,在大纲相应的教学指导中,不建议选用可视化的编程环境。
  事实上,Computing的教学大纲不指定编程语言,并非不做要求。恰恰相反,需要教师帮助学生自主选择,掌握一门甚至多门高级语言。教材中用Pascal的程序作为例子来讲解问题,也并非要求学生一定就要掌握Pascal,相关参考书所使用的语言也并不相同,但可作为参考或自学时用。
  2.系统讲述了数据结构相关知识
  Computing课程中,数据结构的内容相对全面且深入,很多算法,例如递归、遍历、排序都是结合特定的数据结构提出和讲解的。内容包括表、链表、栈、队列和(二叉)树。
  3.软件的完整开发过程是教学重点
  Computing课程主要讲解瀑布模型,属于软件工程的内容。我国的教材中这部分内容也占了相当的比重,但并没有在考核中体现。而Computing的第四次考核,就是要求学生自己选题,完成一个实际开发项目,考查学生在完成项目过程中的每个步骤并分步评分,程序编写仅占比30%。从Computing教材来看,很多知识点都在这部分内容中详细叙述。例如可行性分析和需求分析、用户界面、接口设计、软件测试的原则和方法等。
  特别需要强调的是,在开发过程中,文档写作被尤其看重,也是考核的评分依据,包括分析文档、技术文档、测试文档、开发记录甚至代码注释等方面。
  4.知识内容广泛
  综合教材和大纲要求,Computing课程中和算法与程序设计除了上文涉及的相关内容,还包括如下方面:
  a.教材从汇编语言开始讲述计算机语言,然后是高级语言,再到逻辑语言。其中对汇编语言和逻辑语言分别单列一章做了详细的介绍。例如汇编部分,包括处理器的结构、指令格式和寻址方式三个小节,并有多个汇编程序的讲解。
  b.通过和面向过程编程方法的对比,讲述面向对象编程。通过程序实例(Pascal)解释类和对象的基本概念。
  c.教材结合操作系统,讲述文件系统、I/O控制、内存管理的基础知识。
  d.此外,按照大纲的要求,还简单介绍了并行计算、网络计算机等先进技术。
  三、借鉴和教学实践
  客观地说,中外课程的差别主要是由信息技术课在高中学科体系中的地位不同造成的。Computing虽然是70多门供选择的A-level课程之一,但是一经选定,其地位就相当于高考课程。而现阶段,我国的信息技术课的内容受课时限制,深度取决于会考要求。所以不可能照搬A-level的教学模式。他山之石,可以攻玉,Computing课程的许多做法和经验都能给我们有价值的启示,加以吸收借鉴,并用于教学实践,提升教学效果。笔者在如下三个大方面对自己的教学进行了探索和改进,取得了理想的效果。
  1.程序设计中重要概念的明晰
  对于程序设计中一些重要的原理概念,学生往往由于局限于按部就班地学习一种计算机语言(VB)的编程,对其比较模糊,需要由教师指出并重点讲解。
  例如算法和语法的区分。Computing课程在AS-level阶段脱离具体的编程语,用伪代码或流程图讲算法,这样算法和语法的区分不言自明。但这样的教法在我们的课堂上采用还不现实,笔者在教学中采取了几个变通的措施:①直接讲解算法和语法的分别,并把Computing的教学方法介绍给学生。②尝试对某些知识点(比如循环或选择)只讲解算法,语法由学生自学。③在分析学生程序错误的时候区分语法错误和算法错误。
  再如“程序=数据结构+算法”这一著名公式所表达的思想。因为我们没有像Computing课程那样系统学习数据结构的内容,所以普遍的情况是学生对数据储存方式在程序中的重要地位不明确。笔者在教学实践中,尝试通过举例来讲解如果数据结构不同则算法不同这一基本概念。例如同样是顺序查找,数据储存为一维数组和二维数组算法上就有区别,前者用一层循环即可,后者需要循环嵌套。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3