品书网

杂志

保存到桌面 | 繁体 | 手机版
传记回忆文学理论侦探推理惊悚悬疑诗歌戏曲杂文随笔小故事书评杂志
品书网 > 杂志 > 基于Jupyter Notebook平台的C语言教学改革探讨

基于Jupyter Notebook平台的C语言教学改革探讨

时间:2024-11-06 02:23:23

摘要:本文以JupyterNotebook为平台进行教学,从教学方式、教学活动和考核方式三方面进行改革,以培养学生的实践能力为核心,锻炼学生逻辑思维,提高学生编程兴趣,让学生爱学、学好、会学、会用C语言。

关键词:C语言;教学改革;实践教学;JupyterNotebook平台

作为一种面向过程的结构化程序设计语言,C语言因其功能丰富、灵活性强且兼有高级语言和低级语言的特点,成为高校理工科各专业的一门基础必修课。但由于C语言涉及的概念复杂、语法规则繁多、格式要求严格、数据类型和运算符丰富等特点,记忆和理解相对困难,易使初学者产生畏难情绪,学习情绪低落。同时新生处在高中到大学的过渡期,逻辑思维未形成,学习方式基本延续高中——被动式接受知识,自主学习能力低,而传统教学又属于“灌输式讲解”,造成前期知识未消化与新内容又源源不断灌输的矛盾日益突出,严重影响后续课程的进行[3]。同时实践教学方式单一,学生在上机时,没有重点、漫无目的的做习题,与实际问题脱节。以上这些原因造成了学生无法学以致用、“高分低能”等问题。针对上述问题,许多高校也积极致力于C语言教学改革,以帮助学生更好理解和掌握C语言,取得了一定的成效。本文在前人研究的基础上,结合自身学校的实际情况和教学平台,在学院自建教学管理系统的基础上,基于JupyterNotebook平台进行C语言的教学改革和创新教学方法。

1、JupyterNotebook平台

JupyterNotebook是一个交互式笔记本,支持运行C、C++、R、Python等40多种编程语言,脱胎于IPython,本质是一个开源的Web应用程序,可以创建和共享包含实时代码、数学公式、可视化和说明文本的文档。它支持以网页的形式分享,分享便捷,形式多样,用户可以通过电子邮件、JupyterHub和JupyterNotebookViewer等将JupyterNotebook分享给其他人。此外也支持导出HTML、Markdown、PDF等多种格式的文档。相比于TurboC、VisualC++等集成度高的软件,这种开源平台更能训练学生的逻辑思维,培养实践动手能力。

以JupyterNotebook为平台搭建C语言课程教学网站,教师可在平台上直接制作、分发课件,同时及时查看同学们的作业情况。而学生在跟随老师讲解的过程中,能按照自己的学习方式修改课件、标记重难点以及有困惑的地方,把课件变成自己的备课笔记,同时可直接在此平台上编写、运行程序,可以在此平台上边学习,边实践。可以增加学生自主学习的时间和空间、增强学生学习兴趣、提升学生动手实践能力、鼓励学生进行创新性实验、提升学生创新精神和创新能力、促进学生全面发展[1]。平台显示主界面如图1所示。

2、教学流程

本课程的教学改革是由“教师主导、学生主体”的案例式教学、“学生主体、教师指导”的项目协作教学与技能实践、多元考核评价三部分构成[2]。教学流程如图2所示。

3、教学改革

在整个教学改革中坚持以算法为基础,以应用为中心,以培养学生的实践能力为核心,帮助学生逐步构建以“算法”为基础的思维模式,培养学生抽象思维和逻辑推理能力,强调算法流程的分析与实现。不仅要让学生领会编程的思想,更要培养学生具有创造性的编程思维和解决问题的实际动手能力。主要分为三个阶段进行改革。

3.1第一阶段——案例演示,启发式教学

本着“精讲多练,案例教学,算法为主”的原则,我们放弃多媒体课件教学,采用实验室授课,人手一台电脑,实行“板书+电子课件”演示方式,教师边演示案例边扩充理论内容,讲授重点及难点。同学们也可对课件作出修改,以自己的方式标记学习内容,构建独属于自己的知识体系。案例由易到难,层层深入,让学生在启发中思考,在思考中解决问题,增强学生的学习兴趣和理解深度,提高学生的成就动机,使学生根据自己对当前问题的理解,发散思维,学以致用,从案例中获得知识和感悟。

此外,除课上教学外,为提高学生的自主学习能力,提倡学生多利用现有网络教学资源,比如慕课(MOOC)。作为课堂教学的补充资源,学生能自主选择课程目录,反复听自己不懂的地方,从而巩固自身理论基础。同时,除每周规定教学外,再增加一次课外上机,学生按规定的时间到实验室,自行选择上机内容,课上不设老师,只有研究生助教进行辅助答疑。

3.2第二阶段——项目驱动,小组合力完成任务

让学生带着真实的任务在探索中学习,改变以往“教师讲,学生听”的被动模式[3]。在完成任务的过程中,学生不断地获得成就感,更好地激发他们的求知欲望,进行自主探索和互动协作的学习。因此,在教学过程中,需要教师将教学内容巧妙地溶入每个任务之中,并在营造的模拟情境中提出任务,驱动学生开展学习,搜索相关知识,归纳完成任务的方法和步骤。任务驱动教学法符合探索式教学模式,能够培养学生的自主学习能力和相对独立的分析问题、解决问题的能力。

案例教学基本结束时,由教师公布难易程度适中的实践项目,供学生分小组选择。在实践过程中,结合任务需求引导学生搜集与查阅相关资料,同时辅助其解决疑难问题。对有争议的问题,由小组内讨论升级为课堂讨论来解决问题。在项目验收阶段,由学生分组交换验收和老师验收相结合,也锻炼学生的综合能力。最后上交算法、源代码、调试报告和心得体会。如有必要,可以对学生采用答辩的方式,以判断其是否独立完成任务。

3.3第三阶段——面向过程的考核方式,步步评测

考试是教学过程中的一个重要环节,其本质是检验学生的学习效果,但仅通过期末考试来衡量学生的水平是片面的,不能真正体现学生的学习能力和实践能力。传统考核方式包括两部分:“期末考试成绩*0.7+平时成绩*0.3”,7:3的比例分配容易造成学生对平时学习重视程度不够,考前突击背书背笔记,所以为避免学生通过“临时抱佛脚”来应付考试,考核方式重新调整为:“理论考试*0.4+上机考试*0.3+课后作业*0.2+上课表现*0.1”。采用笔试和机试相结合的方式,主要目的是考核平时表现以及实践动手能力。图3为平时成绩统计表:

图3平时成绩统计表4、结果及结论

笔者将2016级本院不同专业的C语言成绩进行比对。2016级信息管理与信息系统(信管)专业按照4:3:2:1模式进行全面考核,而图书馆学专业是按照旧的考核模式进行考核。成绩如表1所示。

表1成绩统计表通过表1可以看出,信管专业及格率明显高于图书馆专业,而且处于中上游的占绝大部分。可见与改革前相比,学生整体理论知识掌握水平有较大提高。并且在每年的9月份左右,我们会举办学院编程技能大赛,由编程技能大赛的结果可见教学改革后,同学们动手实践能力大幅提升。

5、结语

虽然在教学中取得了一定的成绩,仍存在其他问题,我们将在后续教学中不断创新、实践来解决问题。实践证明,传统教学方法不能很好适用于C语言教学,及时修正教学过程中出现的问题,才能让学生们更好地爱学、学会、学好、会用C语言。

参考文献:

[1]刘长宏,张恒庆,李洪磊,等.实验室开放教学模式的创新与实践[J].实验技术与管理,2010,27(10):188-190.

[2]黄德群.基于高校网络教学平台的混合学习模式应用研究[J].远程教育杂志,2013,31(3):64-70.

[3]刘美健.C语言程序设计课程教学改革实践[J].中国职业技术教育,2012(32):5-8.

作者简介:刘宏,副教授,辽宁师范大学管理学院,研究方向为:信息管理。王彦芳,辽宁师范大学管理学院.

★基金项目:辽宁省本科专业向应用型转变试点项目(2016年)。
   

热门书籍

热门文章