袁赟 朱鸿鹏
【摘 要】结合C语言程序设计课程的教学特点和问题,本文对层次模型及其在课程教学中的应用思路展开了分析,然后对基于层次模型下C语言程序设计课程教学改革实施路径进行了探讨,从而为关注这一话题的人们提供参考。
【关键词】层次模型;C语言;程序设计课程教学
中图分类号: G642;TP312.1-4 文献标识码: A 文章编号: 2095-2457(2018)34-0096-003
DOI:10.19694/j.cnki.issn2095-2457.2018.34.039
Reflections on the Teaching Reform of C Programming Language Course Based on Hierarchical Model
YUAN Yun ZHU Hong-peng
(Shaoyang University,Shaoyang Hunan 422000,China)
【Abstract】In view of teaching characteristics and problems of C programming language course, a hierarchical model and its ideas of application during course teaching are hereby analyzed in this paper and then the teaching reform implementation path of C programming language based on the hierarchical model is discussed to provide references to people who focus on such topic.
【Key words】Hierarchical model;C programming language;Programming course teaching
0 引言
作为计算机专业的重要课程之一,C语言程序设计课程具有内容抽象、知识点多、应用性强等特点,在教学过程中存在各种困难,采用传统教学方法和模式无法满足课程教学需求。为推动课程教学改革,还应引入新的教学思路,对原有教学模式进行更新,继而更好的满足课程的教学需求。
1 C语言程序设计课程教学特点及问题
1.1 课程教学特点
C语言程序设计课程为面向过程型程序设计的课程,课程目标在于使学生通过学习程序设计语言结构、算法分析、数据表达等知识对C语言程序设计构造和算法设计方法进行掌握,并且能够掌握数据处理流程控制和程序模块化结构设计的方法,形成解决复杂科学问题的思维。所以在C语言程序设计课程教学方面,需要结合算法分析、数据表达、程序编程、问题描述等进行不同层面知识单元设计,具体包含程序设计基础、数据类型基础、数组与构造类型、算法设计基础等[1]。从总体上来看,课程内容较为复杂、抽象,需要学生在完成大量程序设计概念和语法学习的基础上,获得求解工程实践问题的能力。
1.2 课程教学问题
现阶段在C语言程序设计课程教学方面,首先存在学生课前预习不足的情况,以至于学生在课堂上时常出现听不懂的情况,影响课堂教学效果。就实际情况而言,目前C语言程序设计课程课时较短,但是课程内容较多,如果学生仅利用课堂时间学习将难以掌握全部知识,所以教师会在课前进行要求学生自主预习。而对于学生来讲,C语言程序设计知识相对抽象,在预习中总会遇到各种困难,导致学生最终放弃预习。其次,课程教学存在缺乏实践教学的问题,以至于学生虽然掌握了大量抽象的程序设计概念和语法,却无法顺利解决工程实践问题。在课堂教学中,教师依然注重理论教学,将有限课时以8:2的比例分配给理论课程和实践课程,以至于学生在未完全理解旧知识的情况下,就开始进行新理论的学习,缺乏实践锻炼的机会[2]。再者,C语言程序设计课程重点内容就是掌握算法设计方法。但在实际教学中,教师尽管会提到快速排序等算法,但是却未能给予学生运用算法编程的机会,以至于学生难以形成算法设计思维,在后续编程中容易出现问题。最后,在阶段性学习之后,教师会布置编程任务对学生进行训练。然而目前C语言程序设计课程训练任务都更侧重技能和知识的训练,缺乏创新性。受这一因素的影响,学生在完成训练后也只能进行知识的巩固,无法从中获得程序设计的启发。
2 层次模型及其在C语言程序设计课程教学改革中应用思路
2.1 层次模型
层次模型原本为一种数学模型,最初在商品数据库管理系统系统中得到运用,指的是利用“有向树”的数据结构对各类实体及实体间的联系进行表示。而树的每个节点为一个记录类型,树的结构代表各实体间联系。从本质上来讲,层次数据模型主要强调的是事物由层次组织起来的概念。在教学领域,层次模型可用于将教学问题当成是一个整体进行描述,并通过加强各种教学方法的联系提出切实可行的教学模式,从而使问题得到解决[3]。
2.2 应用思路
针对C语言程序设计课程教学存在的问题,采用层次模型方法可以解決教学中的各种问题,提出全新的课程教学模式,从而有效推动课程教学的改革与发展。具体来讲,就是针对不同的教学问题提出不同的教学方法,然后结合课程教学规律和特点进行完成不同教学层次的设计,将各种教学方法融入到不同层次中,确保预习、算法学习等各种问题得到逐一解决。首先,针对课程预习的问题,就可以引入微课教学的方法,由教师结合理论知识进行微课制作,安排学生在课前进行统一学习,从而保证课程的课前预习效果。其次,针对课程教学缺乏实践性内容的问题,可以采用任务导向法开展教学,由教师提出与课程内容相关的任务。而学生在解决任务的过程中,则能学会运用学习到的知识解决问题,得到实践能力的锻炼。再者,针对算法思维培养的问题,可以采用计算思维法对学生进行锻炼,帮助学生掌握更多的算法经验,逐步形成算法设计思维[4]。最后,针对编程任务缺乏创新性的问题,可以采用项目教学法,安排各种创新型项目,确保学生能够在解决项目的过程中得到创新能力的培养。结合上述思路,则能完成包含微课教学层、任务训练层、计算思维层和项目实施层的C语言程序设计课程教学模式的建立,通过微课学习帮助学生加强预习,通过任务训练加强学生实践能力培养,通过算法测试加强学生计算思维培养,最终通过项目驱动提高学生创新能力。
3 基于层次模型下C语言程序设计课程教学改革实施方法分析
3.1 做好课前准备
在实施层次模型教学前,教师还要做好课前准备。具体来讲,就是要结合学生C语言学习情况、学习需求和课程内容进行微课制作,确保微课中囊括课堂上需要讲解的核心知识点。与此同时,教师还要结合学习任务布置需求进行任务设计,确保课程教学能够顺利开展。在该阶段,教师还要遵循难易适中的原则,确保学生的学习兴趣能够得到激发,以便使学生能够顺利完成课前预习。为保证学生能够高效完成课前预习,教师制作的微课应在15-20分钟范围内,避免学生因长时间观看视频出现注意力不集中的情况。而学生通过观看微课,则能掌握各单元知识点。为确保课前预习效果,教师可以要求学生在观看微课的过程中将不理解的内容记录下来,并在课堂上进行解答。
3.2 布置学习任务
在课堂教学中,教师可以完成预先设计的任务布置,要求学生根据任务清单实现任务选择。结合学生任务选择情况,教师可以将学生划分为多个小组,各自运用掌握的C语言程序设计知识进行任务的解决。在任务的引导下,学生可以通过分组讨论进行任务的研究,并通过组内合作完成任务。通过组内评价,各小组可以提交选择出的任务解决方案,并选派成员进行方案讲解。在各小组完成任务解决方案讲解后,教师可以对学生在学习中存在的共性问题进行汇聚,然后进行问题的解答。在此基础上,教师可以要求各小组再次进行任务的讨论,并通过个体指导帮助学生形成各自的任务求解方案。最后,教师需要对任务的求解过程进行总结,加强知识与实践问题的联系,以便使学生能够实现知识的内化和得到实践能力的培养。
3.3 开展编程测试
在学生结合教师提出的任务给出最终的求解方案后,教师可以组织学生开展编程测试,以便对学生的算法设计能力进行培养。具体来讲,就是要结合各知识单元内容对设计方案进行分类,然后分别开展编程设计、验证等实验。在程序设计时的过程中,教师需要以此为主线,对学生编程和计算思维能力进行重点培养,要求学生进行算法设计和描述,能够利用算法将程序带出。采取该种方式,则能使语法细节得到淡化,突出算法的设计。完成设计后,通过实验对算法进行验证,也能帮助学生发现其中存在的问题,理清算法的设计思路。最后,教师需要组织学生进行测试结果的展示,从而使学生编程的兴趣得到激发,更好的投入到算法学习和设计中,得到算法思维的培养。
3.4 实现项目驱动
在学生完成阶段性学习后,教师可以将科研课题、创新训练项目、各类竞赛题目等当成是C语言程序设计课程的项目布置给学生。而这类项目往往具有较强的应用性和创新性,引导学生参与项目可以将教学与实践接轨,加强学生创新能力的培养。在项目驱动过程中,教师可以安排学生自主选定题目,并在课后进行资料查阅和方案设计,通过算法设计得到相应的程序。在整个过程中,教师需要给予适当的指导,帮助学生克服在学习中遇到的一些专业性难题。
4 结论
通过研究可以发现,在C语言程序设计课程教学改革的过程中,还要建立全新的教学模式,才能使过去教学中存在的种种问题得到全方位解决,达到加强学生各方面能力培养的目标。而引入层次模型,则能在融合各种教学方法的基础上系统开展教学,继而有助于推动C语言程序设计课程的教学改革。
【参考文献】
[1]郭银章,王丽芳.基于项目任务驱动的C语言程序设计课程教学改革与实践[J].计算机教育,2017(02):41-44.
[2]李妮.基于SPOC的C语言程序设计课程教学研究[J].运城学院学报,2016,34(03):81-84.
[3]嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016(02):42-47.
[4]杨颖,曹红兵,王诗兵等.基于MOOC的C语言程序设计课程混合式教學探究[J].阜阳师范学院学报(自然科学版),2015,32(04):116-121.