将计算思维融入程序设计课程的教学方法研究(2)
图2即为植物学领域的实际分类结构,可见c++的类层次与现实世界中人类认知事物的分类层次的吻合度甚高。学生还需要描述各类的基本属性和功能。再要求学生将前述自然语言描述的类继承层次“翻译”成c++程序语言的表述。
在“翻译”阶段通过教师引导,学生逐步将共有属性、特有属性、继承特性在编程中“将理论映射到实践”。由于继承层次实例是自己表述的熟悉或感兴趣的内容,所以学生写起代码颇有自信,且力图表现得最好,诸如派生类对继承类的功能的重定义等后续问题在练习中由学生自己发现并引发讨论,从其后续相关章节学习效果和平时小测结果来看,这种学生自拟内容的“翻译”式实例分析练习要优于传统的教师拟定典型继承实例进行讲解再由学生验证演练的方式。
上述启发式的教学让学生在不确定的条件下来分析确定问题并寻求解决方案。这种练习只要稍稍进行一点变化,还能进一步丰富其内容,如学生之间交换实现从自然语言实例描述到程序语言的“翻译”,再由实例描述人来评价程序语言实现者的工作成果,无形中融入了软件工程的基本思想和过程。整个教与学的过程互动频繁,学生易于接受,为后续更加抽象的多态内容的教学打下了良好基础。
3 “非一致”实践课程安排
程序设计离不开编程实践,通常除了课后的实践练习之外,只要有条件,程序设计课程会为学生配备统一的实践(上机)课程。如何安排实践(上机)课程才能使学生更自主、独立、有效的练习一直是程序设计类课程的教学实施所关注的关键问题之一。
“面向所有人”的计算思维让我们关注学生的个性。每个学生都有其个体特点,在学习习惯、学习兴趣和学习方式上各不相同,只有适不适合自己而没有绝对的优劣之分。我们在c++程序设计课程配备的实践(上机)中,安排内容和要求契合了上述的“非一致性”——每一次实践都安排不同难度权值的题目:必做题、升级题以及挑战题。其中必做题是基于理论授课内容的基本考核,是每堂实践(上机)课学生必须完成的内容;升级题则是在理论授课的基础内容上增加一定难度或略微超前学习内容;挑战题则多是趣味性和难度性进一步提高的练习。鉴于学生解决不同难度权值的题目可能付出努力的差异,不同难度权值的题目设定不同的分数权值。不同接受程度的学生可以按照自己的个体需要进行选择:一方面保证必做题在所有学生中得以完成,使得基本教学内容能最广泛地为学生所接受并检验;另一方面,学生普遍具有的“追求更好”的积极诉求,在这种隐形竞争心理下,推动升级题和挑战题被尽可能多的学生尝试完成。
由于要求学生尽量在3学时内完成当次实践练习,所以每次实践(上机)的练习题量和综合难度教师要仔细把握,求质而非求量——因为尚有课后作业可供学生反复练习,但是每次的实践(上机)题都包含前述3类。综合两届3个专业学生的平均情况,实践(上机)题目的完成情况统计如图3所示。
图3所示二维折线图中的横坐标表示实践次数,纵坐标表示完成题目的学生数量占学生总数的百分比,用以衡量实践题目的完成度。虚线表示传统的使用无难度区分的实践(上机)完成情况,实线、点划线和虚点线分别表示有阶梯式难度差异的“非一致”实践(上机)安排中必做题、升级题和挑战题的完成情况。为了对比效果,传统实践安排和“非一致”实践安排在题量上相当。随着教学内容的深入,题目的难度随之增加。由图3可知,基本必做题的完成度稳定在100%,而升级题随着难度的增加,第二次的完成比例较第一次下滑厉害,但是从整个学期的实践来看,升级题的完成度除了中间某一次实践题目内容略超前导致完成度暂时下滑外,基本在后半学期稳定在70%左右,挑战题完成比例更是接近并稳定在30%上下。尽管平均来看,非一致性实践题目的完成百分比与传统的“完全与理论内容并行、验证式”的实践完成百分比(约60%)相近。但是从折线图的走势来看,由于重复练习和题目数量设计等原因,传统实践题完成百分比随着学习内容的难度增加明显呈现下行趋势;而“非一致”实践(上机)练习的完成百分比却似乎未受学习难度的影响,呈现明显的上升趋势,且学生整体的分析解决问题的能力、自由自主的学习能力和竞争意识的提升得到了巨大的提升,这从实践课的积极活跃气氛上看亦是表现无遗。
4 评测中的交叉评阅
课程的教学可能会延续16周,这期间需要检验阶段性学习效果,才能对后续的教学进行益于学生的调整,并可针对反映出的薄弱环节进行巩固。日常作业和随堂小测是检验阶段性学习效果的基本方法。然而,不论是国内还是国外,程序设计课程练习的一个普遍存在的问题就是原创性不足。有研究指出可能有近50%的学生作业或参考网络,或参考其他学生的作业。这一方面是由于程序设计练习本身的特点使抄袭非常容易,同时,随时随地可接入网络的便利性以及当今网络信息的丰富度,使得学生可以比较轻易地从网络获取所需答案。
虽然国内外有各种人工或自动的作业检查/查重系统来控制抄袭情况,但在教学实际中发现让学生参与到日常评价中来,即学生间进行交叉评阅,可以很好地促进日常练习的原创完成。交叉评阅的具体实施方法为:以自然班为单位,班级问进行作业(或小测)的交叉评阅。例如,若有3个自然班,那么A班学生评阅B班的作业,B班评阅c班的作业,c班评阅A班的作业,所有评阅都是实名制进行,评阅结果最终返回到作业完成人。
能够堂而皇之地看到别人的作业,还能对其评分,学生都跃跃欲试,90%以上的学生评阅都相当认真,从编码规范性、交互性、程序设计阶段性及最终结果与要求的吻合度等多个方面进行了点评。在交叉评阅过程中,学生不仅能评分,还能对比自己的完成情况,指出所评阅作业的问题,并给出解决意见,或者发现别人优于自己的地方。交叉评阅之后的作业仍需返给教师。教师通过适时讲评,总结作业和交叉评阅的问题。
通过交叉评阅,学生能直观、及时地发现自己的不足,而由同龄人所给出的意见更易被接受,并自然地将学生日常讨论的圈子从同寝之间或同班的有限几个好友之间扩展到同时学习本门课程的同学之间,在2~3次的交叉评阅后即发现跨班、跨专业的讨论比比皆是,交流的增加使学生能直面自己的不足与优势,对增强自信、自我鞭策很有效果。对比未使用交叉评阅和使用交叉评阅的班级整体学习效果,经过交叉评阅的学生其学习积极性、自主『生都有显著提升。
5 结语
计算思维的明确提出获得了全球教育界的认可与支持,深刻影响着从小学到大学的各个教育阶段[”。我们结合湖南大学c++程序设计课程本身的特点,有意识地将计算思维融入教学实施的全过程。本文选取介绍了其中有代表性的课程开篇、“翻译”转化式实例讨论与非一致性的实践题目设计以及以交叉评阅为特点的日常评测机制等具体实施方法,探讨了如何将计算思维贯彻到程序设计类课程教学的各个方面。从连续两届学生的反映来看,实际教学效果良好,学生接受程度明显高于之前传统程序设计教学,这既印证了计算思维对学生求解问题能力的良性影响,同时也说明这样的教学实施确实是有效、有益的。
信息时代日新月异,每一届的学生都会有或多或少的变化,根据学生的特点,深化程序设计类课程中对学生计算思维的培养是我们在教学中持续努力的目标。
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊