以计算思维为导向的非计算机专业程序设计课程创新教学

2015-05-30 10:48:04许丽娟黄冬梅王爱继
计算机教育 2015年12期
关键词:计算思维程序设计教学模式

许丽娟 黄冬梅 王爱继

摘要:针对非计算机专业程序设计课程的教学现状,以学生为主体,提出建立融入计算思维理念的以专业应用为向导、以程序设计思想为重心的“精讲导学一小组学习多元互动一专业应用综合实战”三维立体教学模式,探索一套以培养计算思维和实践应用能力为目标的非计算机专业程序设计课程教学改革方案。

关键词:程序设计;计算思维;教学模式

0 引言

非计算机专业程序设计课程不仅要为不同专业提供解决专业问题的有效方法和手段,而且要培养学生一种独特的处理问题的思维方式‘”。“程序设计”的关键在于运用计算机求解问题的思维方式,即计算思维。教师要培养学生的计算思维能力,令学生掌握解决专业领域实际问题的基本方法和思维方式。

1 非计算机专业程序设计课程的教学现状

目前,非计算机专业程序设计课程的教学内容仍然是主要围绕某一种编程语言展开,只要求掌握语言的基本使用。这不仅与培养学生计算思维能力的目标相差甚远,而且存在诸多制约教学质量提升的矛盾和问题。

非计算机专业的学生初学编程语言因不适应计算机思维模式,常常会产生畏难情绪,学习兴趣不浓。目前的程序设计课程课时较少,课堂教学大多围绕基础理论知识进行,与本专业实践应用完全脱节;另一方面,课程内容的设置“一刀切”,没有针对不同专业的需求作出适当的调整。学牛在学习的过程中始终持怀疑态度,认为自己专业学习程序设计语言没有用,只求拿到学分。计算机专业的授课教师面向多个非计算机专业学生授课,对于课程与专业领域的关系了解不多,一定程度上影响了教学的整体效果。

综上所述,目前非计算机专业程序设计课程的教学在很大程度上仍然停留在狭义的语言工具的学习和掌握上,教学目标不明确,计算思维的融入渗透甚少,导致学生对程序没计课程的认识不深,无法真正掌握程序设计的核心思想与方法,

2 基于计算思维的“三维立体”教学模式

教师应积极推行启发式的教学方法,强化和落实“以学生为主体、以应用能力培养为目的”的教学理念,改变以往“理论+实验”的二维教学模式,建立以专业应用为向导、以程序设计思想为重心的“精讲导学一小组学习多元瓦动一专业应用综合实战”的三维立体教学模式,如图1所示。

2.1 精讲导学

传统的程序设计课程教学方式是“课堂教学+实验”。教师在课堂上花大量的时间讲解语法结构和基础理论知识,课后学生再按照实验指导书上写好的程序录入,调试通过就算完成任务。这种模式是知识输入、学生被动接受的过程。枯燥的理论知识会让学生觉得记忆量大,又找不到规律,失去学习兴趣。为了解决这一问题,教师应该转移教学重心,采用课堂导学+课外题库练习+自测的方式完成理论知识的学习,把教学重点放在通过程序设计解决实际问题上。

教师要以实际问题的求解过程为引导,讲解程序设计的基本思想和方法;以结构化与模块化程序设计为核心,沿着数据结构从简单到复杂的主线逐步展开,侧重对程序设计思想和方法、程序调试方法相关内容的讲解;鼓励学生通过先画流程图和写伪代码描述算法更好地理解和学习程序设计,同时渗透软件工程的思想和方法,提高学生编制程序的规范性。

教师可依据问题分析、算法设计、编程到运行调试的完整程序开发流程,引导学生讨论和分析问题,提出解决问题的方法和途径;将程序设计语言的语法知识有机地结合到程序设计的实践中,加强程序设计的思维训练。另外,适时引导学生进行程序错误分析、测试与调试,将一些容易被忽略但又对高水平程序设计很重要的“点”逐一展现并加以解析,进一步落实程序设计教学的要求;在阅读和调试程序的训练中,引导学生认识用计算机程序解决问题的模式与之前接触的问题解决方式之间的差异,使学生在循环结构和选择结构的使用中养成运用动态思维理解程序的习惯。

2.2 小组学习多元互动

教师要以“学习小组”为教学单元,利用多媒体教学资源和习题库自学自测,利用网络环境交互学习;将课堂集中辅导与网络平台针对性辅导相结合,采用小组考核评价方式;构建完整的“小组学习”模式框架,让学生养成“要学习、用网络、查资料、看平台”的学习习惯。教师可根据教学内容的逻辑联系,将课程内容分成程序设计语言语法精讲导学、程序设计思维训练、专业应用综合实践3个教学进程,针对每一进程引导学生了解学习内容,明确学习目标,确定学习策略,搜集网上学习资源。明确学习任务后,小组成员有组织、有步骤地通过“感知一内化一升华”开展自主学习,同时定期进行互动交流并接受课程辅导教师的监督。此阶段的主要目的是发挥学生主体作用,为集中面授辅导奠定基础。

利用网络环境分工合作、交互学习是小组学习的核心。在自主学习基础上,小组成员通过面对面或网络环境下的交流讨论,加强知识理论构建,增进组员间的协作沟通。此阶段主要是通过协作学习强化知识,提高协作学习能力。教师在学生完成课程基本学习任务的基础上,有目的地精选案例,引导学生进行分析,提出自己的解决思路;小组间相互评价,各自重新整理和修正思路,编写代码并调试。各小组长负责组内分工与合作,教师负责对各组在具体实践中遇到的问题采用BBS、电子邮件、QQ等方式给予必要的指导。学生通过查阅书籍和网络资料,在网络平台上开展组内讨论,咨询请教,利用一切可利用的时间和机会获取知识解决问题。

教师针对学生自主学习和小组交互学习中的共性问题进行集中辅导和答疑,进行知识重难点解析和作业辅导;同时开展经典案例分析、设计、实现、调试的小组教学活动,通过学生动手、动脑、动口,培养学生的思维习惯和积极探索精神,突出教师的导学功能,提高学习成效。

考核采用小组考评与个人考试相结合的模式,保留原有卷面考试成绩作为个人考核成绩。小组提交学习成果,辅导教师考核,计为小组考核成绩,并组织师生评比表彰,以达到运用评价和激励手段促进小组学习活动的目的。

2.3 专业应用综合实战

提高软件开发能力是程序设计课程教学的终极目标,项目实战是培养学生实践能力的一个关键支撑点。教师可在理论学习结束后设置综合性专业实践教学环节,将程序设计与专业应用结合:将教学班分组,进行两周的集中实践,按照课题的要求,与专业领域需求结合,完成一个小规模应用系统的设计与实现。学生通过实践能更深入地理解程序设计的基本概念和基本理论,熟悉软件开发的全过程,锻炼和提高抽象思维能力、逻辑思维能力、创造思维能力和实践能力,从而进一步提升用程序设计语言解决实际问题的能力。

面向非计算机专业学生的程序设计语言课程的授课教师应力求融人面向专业的师资队伍进行专业合作和研讨,建立计算机技术与各专业相结合的项目实践团队,从专业实际应用的角度出发进行探索和创新。现有的专业应用实践案例能直观地告诉学生学习程序设计语言课程的重要意义和实践应用,揭开程序设计语言课程的神秘面纱,使后期学习更有目的性和针对性。教师必须让学生在有限的课时内掌握应用程序开发的思想,为后续进一步学习和使用程序设计语言开发实用程序以及学习其他Windows应用程序开发工具打下基础。

项目组可自由组合,每组3-5人。项目实践过程包括项目调研、项目规划、项目设计与实现、项目考核4个环节,可以从教师的科研中拆分子项目或者由学生自己调研确定实践课题。教师要根据课题难度和需求以及学生前期学习效果,给予针对性的指导。项目组应由能力强的学生带动能力弱的学生,每组设组长一名,负责带领组员制订项目规划、撰写需求分析文档和设计文档,监督项目的实施过程;在代码编写和整合的后期,还需要进行软件测试及撰写报告等。为了保证对项目实施过程的有效监控,教师可从项目团队中抽取部分高年级的学生当助教,协助教师进行过程控制。项目考核是最后一个环节,包括项目的完整演示和答辩讲解,说明项目实施过程中的难点、关键技术和心得体会。之后,对某问题可展开讨论和项目评价,鼓励积极讨论、相互碰撞思想、相互启发以开拓思路,这个过程充分培养学生的团队合作能力、沟通能力、分析和解决问题的能力。实践引发的兴趣和对问题的探究会成为深入理论学习的原动力,理论与实践相互作用可以令学生对程序设计语言与专业应用的交叉有初步的了解。任课教师必须在搞好实践教学引导工作的同时,加强自身知识和技能的扩展和更新,达到知识丰富、技术熟练和教学方法科学而实用的要求。

2.4 完善网络教学资源库,提供互动交流学习平台

网络化教学平台已经成为课后教学很好的补充。所有教学过程不再局限于课堂和纸质教材,学生可利用网络教学平台自主学习,实现课内课外相结合、纸质教材与网络教学资源相互补充。教师还可拓展课堂的教学组织方式进行多环节创新教学。网络教学平台主要包括语法自习自测、单元案例实训、专业应用项目、网络交流平台、作业发布和递交、精品课程及公开课、学生优秀作品展示七大模块。语法学习模块主要包括课件和习题库,习题以选择、填空和改错的形式为主,是学习辅助性资料,增加了课程的信息量,并且可以让学生自主安排时间和地点进行复习、预习和总结,对疑难问题还可反复学习。单元案例实训模块包括经典案例的分析、设汁、实现以及实训的要求。网络交流平台划为基础学习、单元实训和项目实战3个子模块,方便教师对学生进行针对性的答疑、组织学生进行协作式学习等,增强师生间的互动,调动学生的学习积极性,提高学习效率。通过作业发布和递交平台,学生可随时上网完成老师布置的作业,及时得到批阅结果,及时了解和修正作业中的错误。精品课程和公开课模块为学生提供本门课程的开放式学习资源。学生优秀作品展示模块能够增加学生的成就感,同时让初学程序设计课程的学生对课程设计的形式和要求有一个感性的认识。

3 教学效果分析

新的教学模式在食品学院食品安全专业的3个大班进行了实践,参照以往集中考试的成绩作了对比分析。新模式的考试通过率达到90%以上,相比传统模式提高了30%;程序设计试题的平均成绩由15.3分上升到30.6分。课程设计以优、良、中、差4个等级进行评定,对2012年与2013年的课程设计成绩进行比较,结果见表1,优良率明显提高。原因主要包括:①与专业相结合的项目实践使学生的学习更有方向,以学生为主体、课内外相结合的自主学习模式提高了学习的积极性和主动性;②与专业应用相结合的项目团队为课程设计提供了项目背景和选题的导引,新的实践辅导机制为课程设计的过程控制提供了强有力的保障。

4 结语

程序设计是大学计算机基础教育的第2个层次,不仅要让学生掌握程序设计语言的知识,更重要的是在实践中逐步掌握程序设计的思想和方法,培养解决问题的思维习惯和能力。以学生为教学主体,将程序设计课程的教学与专业实践应用相结合,在提高程序设计课程的教学质量和提高学生程序设计的实践能力方面取得了较好的效果。以后我们还要在课外教学过程控制和组织方面进一步探索和实践,以期教学的各个环节都得到有效的控制和评价。

猜你喜欢
计算思维程序设计教学模式
群文阅读教学模式探讨
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
从细节入手,谈PLC程序设计技巧
电子制作(2019年9期)2019-05-30 09:42:04
高职高专院校C语言程序设计教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
计算机教育(2016年7期)2016-11-10 08:16:19
民族高校C语言程序设计课程教学改革的研究
软件工程(2016年8期)2016-10-25 16:03:32
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效
学习月刊(2015年18期)2015-07-09 05:41:22