“算法与程序设计”教学的几点体会

来源 :考试周刊 | 被引量 : 0次 | 上传用户:liu7605136
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 算法与程序设计是高中信息技术中对学生思维严谨性要求较高的一个模块,虽然不在必修课之列,但是对学生的逻辑能力的提高有非常大的帮助。在学生学有余力的条件下,做好“算法与程序设计”教学,将会使学生的学习能力得到发展。
  关键词: 信息技术 高中教学 心得体会
  算法与程序设计这个模块在高中的教学体系中不在主流之列,涉及信息技术程度较深。但是算法与程序设计的内在逻辑却是高中的关键思维,在数学必修3中算法设计成了独立的一章,占有较大比重。笔者以VB语言为例,从实例教学、上机训练、设计提高三个方面,分享在教学过程中的一点心得体会。
  一、呈现实例,确立概念
  在大家的印象中,程序设计就是所谓的敲代码,一行一行,无穷无尽。事实上程序设计相互独立且相互联系。代码的意义在于实现某一项功能,众多功能就组成了一个程序。因此程序设计的教学也是模块化的,呈现一个个实例,让同学们明确程序的概念。
  以一个求平均成绩的程序为例。求平均成绩的算法比较简单,核心算法是一个加法配合除法。这是一个非常简单的例子,但是涉及基本概念,可以作为一个实例呈现给学生。具体代码如下:
  Dim a As Integer,b As Integer,c As Integer,d As Integer,e As Integer,f As Integer
  a=Val(InputBox(“输入语文成绩”)),b=Val(InputBox(“输入数学成绩”)),c=Val(InputBox(“输入英语成绩”)),d=Val(InputBox(“输入物理成绩”)),e=(a b c d),f=e/4,Print“总成绩;”;e,Print“平均成绩;”;f,End Sub
  在这个例子中,我先明确vb语言的概念。首先dim是进行定义的动作,后面紧跟的就是变量。一个程序离不开变量,当然也就离不开dim语句。a,b,c,d就是本程序中的变量,变量起到传递值的作用,是程序中的“搬运工”。“as”后就是变量的类型,在本程序中变量类型为“integer”,即整数型变量。接下来的几个带有“=”号的语句,就是本程序中实现功能的主要语句,不同的程序有着各种各样的形式。在这一部分,通常是一些功能性的函数和赋值。明确这个概念,程序设计的主体框架就能建立起来了。在程序的最后,往往有“print”等语句进行输出,形式不一而足。“End Sub”则是整个程序的结束,没有实际的功能,而作为一个间隔的符号。
  初识VB语言,很多概念一拥而入,实在难以掌握概念。对于基础的概念定义来说,算法与程序设计中的说法比较抽象,难以把握其中的内涵。因此,从多个方面来讲,用一个实例进行概念的认知,是非常必要的。
  二、上机作业,强化练习
  程序设计有个显著的特点,就是严密性。找“bug”(漏洞)是程序设计中最令人头痛的事情,而且非常浪费精力。对于VB程序设计来说,严密设计还可以用电脑程序来辅助。正因为这样,程序设计不能与上机实验分割开来。
  以VB程序调试功能为例。我在教学过程中反复强调上机操作的重要性。然而在课堂上我只能精心讲解案例,介绍基本操作,留给同学们的时间很少。在上机课上的时间也很有限,因此我特别重视上机实验这段时间。我设计了一些上机任务,供同学们在上机时强化练习。其中,我突出说明了调试对于上机操作的作用。由于程序设计的代码繁多,我也不可能把同学们各自的“bug”都找出来,因此调试是一种自主评判、修正的方式,适合同学们在作业中加以运用。在正常视图下,点击菜单栏中的“视图”按钮或者按下快捷键“F8”,即可开始逐语句调试程序。如果被调试语句有问题,字体就会被标红,我们需要对标红的语句进行仔细审查,对与该语句相关的语句要检查是否逻辑有误。调试是上机作业中一项必备的技能,让程序实现功能,调试无误后,该程序基本就可以确认合格了。
  三、课程设计,巩固技能
  (一)理解范例,完善思维。
  课程设计是程序设计的最终考核。高中阶段的算法与程序设计学习,只需停留在了解的层面就可以了,课程设计的要求只是能够独立设计一个简单的小应用。这种应用与单独的程序不同,有着高度的独立性,对学生的思维严谨性有着更高的要求。
  以期末考试成绩统计软件作为一个讲解的范例。下面是部分代码:
  Private Sub fenshu_KeyPress(Index As Integer,Key Ascii As Integer),If KeyAscii<48 Or KeyAscii>57 Then,If KeyAscii=46 Then,KeyAscii=46,Else,KeyAscii=0,End If,End If,End Sub
  这段代码的作用是将输入文本框中的内容限制为小数和小数点。其实从全局来看,限制文本形式是一个非常精细的环节。但是输入内容如果不加限制,那么影响到的是数据源,最后成绩计算会出现问题。程序设计者当然知道成绩输入框要输入数字,那么设计者在调试的过程中会想当然地输入数字进行调试,从而忽略限制文本形式的问题。那么这样的话,整个程序设计出来,肯定是要出现问题的。讲课程设计就要讲它的注意点,注意点其实就是一些想不到的细节。
  (二)自主设计,拓展提高。
  课程设计是综合技能的考验,学生最终的目标是自主完成。当然,完成课程设计,即独立完成一个简单应用的全部代码和组件,还是有一定难度的。这部分教学还是以拓展提高为目的,不做硬性要求。
  在基本的教学任务完成之后,我还安排了课程设计。设计以简单功能的应用为主,并且各个题目都有近似的范例作为参考,基本就是照猫画虎。课程设计的选题有很多,功能也各具特色,激发了同学们的兴趣,其实无论结果,这就已经达到教学目的了。不加入“考试”这种压力元素,课程设计其实是一个完美的结课手段。大部分同学都运用“排比”的手法堆积语句,就可以实现程序的基本功能。例如:
  If song.Value=True Then,Label.FontName=“宋体”,End If,If fangsong.Value=True Then,Label.FontName=“仿宋”,End If
  简单的排比语句,加上细节修饰,完成课程设计问题不大。
  自主课程设计本身不是一项考核,更像一个引导。一行行敲代码看不到希望,将代码组成一个小应用,就增强了学生的成就感。任何学习都离不开自主,让学生渐渐独立思考,才是最终的教学目标。
  参考文献:
  [1]浦晓英.案例教学法在高中算法与程序设计中的应用探索[J].中小学电教,2014(3).
  [2]赵楠楠.高中《算法与程序设计》课程教学的改革[J].科技风,2014(18).
其他文献
摘 要: 新课程改革日渐深入使高中数学教学得到越来越多的关注,教师不仅需要传授学生数学知识,还需要培养学生数学思维能力及解题能力,这就需要转变传统教育方式,提升学生的课堂学习积极性,提升高中数学课堂教学效率。本文对高中数学教学中学生解题方面存在的问题做了分析,提出了培养学生解题能力的对策,为促进学生全面发展打下了良好的基础。  关键词: 高中数学 解题能力 培养方式  一、引言  新课程改革对高中
当前高校的金工实习教学主要是以数控、机加工、钳工、铸工、锻工、焊工为主,这些基本操作内容对提高学生的工程素养有一定的帮助。以往的实习教学模式从教学方法、内容及教
摘 要: 麻省理工学院针对少年开发的一款简易编程工具Scratch问世后,简化了网络编程程序,给信息技术注入了活力,也给软件编程提供了一个发展的新方向。Scratch发行后,不会英文不会键盘的八岁以上儿童都可以利用其简易的“堆积木”方式制作属于自己的简单的一个编程程序,培养了学生逻辑思考能力、数字化创造能力及和老师同伴沟通的能力。Scratch在小学课堂的引入,受到了广大师生的喜爱,并不断扩大影响
目的:采用非心电门控低剂量平扫MDCT定量EAT容积并评价与冠脉CTA图像所测量EAT容积值的相关性和一致性。方法:对61例受检者行回顾性心电门控技术冠状动脉CTA和胸部低剂量肺癌
基于信息化教学进行课程设计,从教学设计依据、教学资源整合、教学过程设计、教学特色四个方面入手,采用“四步阶梯式任务驱动教学法”,充分利用信息化资源,体现了学生的主体
如何提高学生的英语听力水平,这是作为英语教学者必然面临的一道难题。本文力图在注意力、自信、语音、词汇、语法上作一些探讨。 How to improve students’ English liste
磨粒是研究磨损状态时最直接、最重要的信息元,通过对滑油中所携带的磨粒进行监测与分析来判断机械设备的磨损情况,可以预防并监测机械设备的磨损故障.DMAS智能化铁谱分析系
该文分析了参数化零件图库建立的必要性,提出利用成组编码选择图库内容,并给出了基于AutoCAD软件的二种建库方法。
该文介绍了一种新型的热变形测量装置,该装置由高精度的光电测量系统、机械运动系统和精密测控温系统组成,可用于简单机械零件热变形的测量及材料热膨胀系数的测定,另外还给出了