您现在的位置: 论文网 >> 教育论文 >> 学科教育论文 >> 基于五导法的程序设计课程群教学研究与实践论文

基于五导法的程序设计课程群教学研究与实践

出处:论文网
时间:2018-01-17

基于五导法的程序设计课程群教学研究与实践

  文章编号:1672-5913(2017)05-0089-03

  中图分类号:G642

  1 背 景

  程序设计课程群包含的课程主要有程序设计基础(C语言)、数据结构、面向对象程序设计(Java语言)、程序设计课程设计等,是计算机专业的基石。这些课程之间存在紧密的依存、递进关系。对于广大的地方高校来说,开展程序设计课程群的教学研究,就是研究这些课程知识的“教法、学法、用法、创法”。文章将从教与学着手,探讨在教学中的所用、所感、所思、所改。

  2 五导法

  所谓“五导法”就是在教学过程中进行的导教、导学、导思、导用、导创。

  2.1 导 教

  2.1.1 知识点化繁为简

  对于地方院校来说,计算机类专业人才培养计划中通常会先讲授程序设计基础(C语言)、再讲授数据结构、最后讲授最流行的面向对象语言――Java。在这些课程中存在大量的基本语法、原理和技巧,譬如:C语言的输入输出格式控制、运算符、表达式、运算规则、赋值语句等,灵活多样;数据结构中指针的使用无处不在;Java语言中包含权限的交叉融合、对象与引用的多态性等。对于初学者来说,教师必须采取有效的策略,比如选择性讲授,即先讲授最常使用的知识、应用方式,且大量运用演示法、案例法,让学生在实例中逐步理解、掌握、熟悉;再逐步延伸,增加深度和广度;最后还需要有画龙点睛的总结。

  在C语言教学中,若只顾及语法知识的全面性、完整性,将会导致顾此失彼、欲速而不达的结果;若只注重算法,而轻视、忽视基本语法,将导致程序代码的编写寸步难行、错误百出。所以,要秉持语法够用的原则。

  在数据结构课程中,大量的教材在讲述顺序线性表时,都是直接采用动态申请连续空间的方式来存储线性表中的元素[1]。这种方式显著地增加了学生学习的难度。为什么不先讲述使用静态的数组来存储元素,再过渡到动态的存储方式呢?所以,教师讲授时要化繁为简、由易及难、逐步深入,遵循循序渐进的认知规律。

  2.1.2 思维的转化

  虽然程序设计的算法来源于数学,但不能照搬数学思维。

  譬如:三个数如何求最大值。数学思维使用的是三个单分支的if语句,且每个if语句中的表达式都是由两个与运算符连接三个关系表达式构成的;而程序设计思维使用的是一个赋值语句、两个单分支的if语句,且每个if语句中的表达式只是一个简单的关系运算。显然,后者不仅效率高,而且运用了程序设计中经常使用的一种技巧和思维,即“假设第一个数就是最大值”[2]。

  数学思维向程序设计思维的转变,需要一个过程、一段时间,需要培养。

  在程序设计教学的推进过程中,还存在着一个程序的main函数向多个子函数的转变(即程序模块化)、过程化程序设计向对象化程序设计的转变等,这是思维的转变,也是教学的难点。

  2.2 导 学

  2.2.1 量变到质变

  学习没有捷径,只有经历大量的代码练习,才能保证编程水平质的提高。对于常用算法必须烂熟于心,日积月累,才能熟练生巧,才能应用,才可能有创新。

  2.2.2 课堂内外“三步曲”

  每一门课程,教师必然对其有着深入的研究;每一节课,课堂上的教学内容必然是丰富的,重点和难点必然是清晰的。因此,需要学生课前预习、课上专心、课后复习。只有做到了课前预习,课堂上的学习才会是有的放矢;只有做到了课后复习,才能巩固课堂知识。所以,只有真正做到了“课前预习、课上专心、课后复习”的课堂内外三步曲,才能实现高效课堂。

  2.2.3 “三动”学习法

  在实际教学中,教师发现,程序设计的初学者,在阅读自己或他人编写的程序代码时,采取的方式只是“动眼”,即用眼睛死死地盯着程序代码行中的各个符号。这样仅仅了解单个表达式、单条语句的表面意思,而不可能清楚变量值的变化、哪些语句被选择或被循环执行了,也就搞不清变量、表达式、语句的真正作用和含义,当然不能归纳出程序的功能,也得不出程序的正确结果。

  正确的做法是:拿出笔、摊开纸,依照程序语句的次序,认真地手工执行程序代码,把每个变量当前的值记录下来,如果存在循环,则把循环体重复执行3~5次,这样才能清晰掌握每个变量值的变化情况、每条语句的执行情况,进而推导、得出程序的功能或结果。也就是说,对于一段程序、一个算法,只有手工执行,才能理清其执行过程、功能。

  因此,在学习程序设计时,务必坚信不劳而获是天方夜谭,务必时刻执行勤能补拙,务必每题实践着“三动”学习法,即“动手、动脑、动眼”[3]。

  2.3 导 思

  2.3.1 思考的广度

  自顶向下、逐步求精,是程序设计的原则之一。任何复杂的问题都可以找到简单的原理或者雏形。

  譬如:3个整数求最值、10个整数求最值、数组求最值、选择排序等。这些问题的求解包括从顺序结构到选择结构、到一重循环、到二重循环;从单一的main函数实现到使用子函数实现。从这个例子可以看出,只有深刻理解求最值的雏形,才能顺利向广度推进。

  再譬如:使用线性表实现各种集合运算,对顺序存储来说基本操作就是元素的移动(即选择性赋值),对链式存储来说基本操作就是链的连接(即指针赋值)。

  2.3.2 思考的深度

  在求最值的例子中,包含着这样一个拓展的问题:如何求解一个数组中的最大值和次大值。一种算法是这样的:   max1=max2=a[0];

  for(i=1;i

  if(max1  max2=max1;

  max1=a[i];

  }

  else if(max2  }

  但这个算法存在Bug,即如果第一个数就是最大值,则求出的次大值是错误的。修正Bug的方式有多种。从此例可以得出:要保证算法的正确性,必须多方测试,特别是边界、极限、特例等问题。

  对于求最值的问题,如何使用面向对象的思维来求解呢?如果是在main主方法中直接对数组求最大值,而没有定义任何其他成员变量和成员方法。这样的话,就完全没有运用面向对象的思维。正确的思维是:类中包含相应的成员变量、成员方法,尽量通过成员方法去操作成员变量。问题的关键是类中包含几个成员变量最合适呢?需要几个重载的构造方法呢?解答了这些问题,设计出的类才具有普适性、重用性,才是真正面向对象的思维。

  2.3.3 思考的维度

  随着学习的不断深入、知识的不断积累,随之而来的是思考的深度、广度以及维度。解答一个问题可能有多种算法,通过多维度的思考、比较、分析,才能挑选出最清晰、最高效的算法。

  譬如:1-2+3-4+...…-100

  解答这个问题有多种方法,如每次把符号位乘以-1、判断当前项的奇偶性、把奇偶项分开计算、使用模运算来确定符号位、使用位与运算来确定符号位等,关键点在于实现各项的正负相间。这些方法中最后一种方法无疑是最“高大上”的。

  思考是建立在对相关知识熟练掌握基础之上的,否则就是缘木求鱼、胡思乱想。

  2.4 导 用

  学习的目的不是为了考试,是为了应用。

  譬如:在C语言中,模运算(即%)的意思是两个整数相除,(商是整数)取余数。基本应用有奇偶数的判别、素数的判别、整数各位数字的分离等,进一步的应用有求最大公约数、数学黑洞等,高级应用有模幂运算、孙子问题(中国剩余定理)、凯撒密码等[4],这些都是模运算的经典应用。在近年广受关注的大众化竞赛“蓝桥杯全国软件和信息技术专业人才大赛”中,也不乏模运算应用的试题。

  在模运算的应用从低级到中级、再到高级的过程中,往往是混合多方面知识的综合应用,应用绝对不是生搬硬套,而是建立在模仿、思考基础之上的。

  2.5 导 创

  应用的升华就是创新,或者说应用的最高境界就是创新。教、学、思、用都是为创新服务的。在“大众创新、万众创业”的时代背景下,让学生广泛参与到各级各类竞赛、创业、创新活动中,以赛代练,在活动中学习、思考、应用、创新。

  3 教学资源和平台

  为保证“五导法”教学方式的顺利实施,构建了三维的教学资源和平台。

  借助精品课程教学资源、网络资源,进行教学资源的二次开发,形成特色鲜明的校本教学资源,建设成理论教学“点资源”、实践教学“线资源”、网络共享课程“面资源”的教?W资源体系。在教学中推行分类教学平台,实现资源聚集;在实验教学中实现理论学习与实践的对接;利用幕课平台和资源,实现学分认证;利用共享课程资源开展翻转课堂学习。多维的教学资源和教学方式,满足和丰富了学生多元化学习的需求和发展。

  4 结 语

  在实际教学中,因地制宜,将“案例式、演示式、渐进式、启发式”等教学方法融合在一起,变“授人以鱼”为“授人以渔”,开展“翻转课堂”的教学模式,使学生的学习模式发生了革命性变化,变被动学习为主动学习。学生在自主学习、独立探索、协作学习与实践、交流互动、成果报告和评价反馈中,达到知识的传授和内化,达到能力的提升和拓展,充分体现以学生为主体、能力培养为核心的教育思想。

基于五导法的程序设计课程群教学研究与实践

论文搜索
关键字:教学研究 程序设计 基于 实践 课程 程序
最新学科教育论文
软件工程专业“计算机网络”课程实验教学研
“赛教学训”四位一体化的物联网工程专业人
浅议幼儿美术趣味教学及创新能力的培养
如何利用奥尔夫音乐教学法培养幼儿的创造力
解读体育游戏在初中体育教学中的应用及影响
如何在美术教学中营造快乐的氛围
微积分慕课教学资源与应对策略探究
浅析在德育课教学中如何灌输团队观念
MOOC引领下中学历史课程多元化教学模式研究
“情感过滤”假设对大学英语听力教学探讨
热门学科教育论文
浅谈语文教学中学生创造力的培养
变“教师教,学生学”为“教师教学生学”
素质教育与小学语文教学
小学“语文综合性学习”实践初探
素质教育和小学语文教学改革
现代体育课堂教学重在创新
浅谈《体育课程标准》与体育教师观念的转变
电教手段优化体育教学
陶行知健身思想研究
简论现代游泳技术与训练的发展方向