民族高校C语言程序设计课程教学改革的研究
2016-10-25牛宁宁曹亮卓玛吉
牛宁宁 曹亮 卓玛吉
摘 要:针对民族高校C语言程序设计课程在教学中所面临的问题,介绍了培养学生计算思维能力的手段,并根据学生层次的不同提出了民族高校C语言程序设计课程教学发展改革方法,即层次化及项目案例教学模式,并通过案例的方式来引导教学,以提高教学效果。
关键词:民族高校;计算思维;教学改革;C语言程序设计课程
中图分类号:TP312 文献标识码:A
Abstract:For the problems in teaching C language program design in universities for nationalities,the paper introduces the method to cultivate students computational thinking ability.According to different levels of students,the paper proposes the reform methods of teaching C language program design in universities for nationalities,the hierarchical teaching model and the case teaching model.The teaching effect can be improved via applying cases to guide teaching.
Keywords:universitiesfornationalities;computational thinking;teaching reform;C language program design
1 引言(Introduction)
民族高等院校的特点之一就是面向民族地区和少数民族学生的招生,生源个体差异较大。以青海民族大学为例:生源来自全国各地,入学分数从260分到600分不等,西部地区及少数民族的学生占将近一半,这些学生与河南、山东等地的生源相比理论基础及实践动手能力都较差。这种生源的不平衡性和文化的差异性,使我们所肩负的为少数民族地区培养具有创新性应用型人才的任务更为艰巨,教学任务及教学大纲的制定也需要根据生源的特点来进行调整。
2 C语言教学存在的问题(The problems in C
language teaching)
“C语言程序设计”是计算机类各专业入门必修的一门专业基础核心课程,是其他高级语言学习的基础,也是数据结构等专业课程的一个入门,但目前流行的C语言教程及教学方式方法在我校并不太实用。另外,凡是讲授该课程的教师都知道,这门课程难于教授,尤其在民族高校中由于学生能力的参差不齐,再加上学生认知方式的差异,使得该课程的讲授更加困难。在教学中其难于教授的主要原因还有以下几方面[1]:
(1)教学中理论课时偏重,实践课时则安排的较少,这对该课程在程序设计实践能力的培养上远远不够。
(2)程序设计语言知识点多而广,其语法结构比较零散,对应的例题也多而散、关联性不大,再加上学生的总结能力有限,故难于对所学知识进行相互关联、总结,得到一个比较综合的训练。
(3)学生的水平参差不齐,思维方式不同,教学中很难面面俱到对每个学生的个性化学习给予足够的需求关注。
(4)学生精力投入不足或学习方法不当,大部分学生认为进人大学就自由了,没有必要投入更多的精力放在学习上,应该多锻炼自己的社会适应能力和交际能力,抱着及格万岁、考前抱佛脚的心态面对大学课程的学习。
针对这一系列问题,为了改变理论教学与实践教学脱节的现状,结合该课程操作性强的特点,教师在知识讲解过程中主要采用任务驱动的教学模式[2],即项目案例教学法,该方式能很好地解决传统教学方法的缺陷,充分调动学生的积极性,发挥教学互动、教学相长的优点,使学生能够直观地看到理论知识的具体化,促进知识的融会贯通,潜移默化地推进新型思维的形成,提升学生的问题求解能力、学习兴趣和协同创新能力。
3 计算思维教学模式能力培养(Training computational
thinking teaching model ability)
心理学家认为,模仿是孩子学习的第一步。通过模仿,孩子不仅能够复制行为,而且也能对模仿的行为进行加工,有所创新。在程序设计课程的学习过程中同样如此,在教学过程中,要改变偏重理论和课堂教学的传统模式,尝试以上机实验为重点的计算思维教学模式,让学生通过模仿现有示例,逐步掌握C语言中的各种语法要求、控制结构,不断加强学生对于课程的学习兴趣,使学生能够“在编程过程中学习知识、在学习过程中拓展思维”[3]。具体要从提高上机地位、培养学生的创新思维和学习兴趣、增强实验内容的趣味性和综合性三个方面着手。
(1)提高上机地位。程序设计语言是一门实践性较强的课程,多上机编程,能够提高学生对该课程的认识,同时通过上机独自完成一些功能模块,能够增加学生的成就感和兴趣,另外上机实验也是培养学生计算思维能力的重要手段[4],是程序设计课程教学的核心。
(2)培养学生的创新思维和学习兴趣。传统方式上我们会对知识先讲解,然后列举相应的程序进行说明应用,最后才进行上机操作,这种教学方式学生只是照本宣科的按照别人的方式去执行相应的结果,并不能提高学生的创新思维和计算思维能力,这不是上机实验的真正目的。上机要能够开发学生的思维,所以实验内容的设置尤为重要,要通过对内容的分析激发学生的兴趣,在讲解的过程中让学生以自身为主导,学会分析问题、解决问题的能力,同时根据大家的不同的思维模式和认知方式要倡导算法的多样性,培养、激励学生的创新意识和学习兴趣。
(3)增强实验内容的趣味性和综合性。人都是比较好奇的,而常规的、枯燥的问题很难激发学生的探索求知欲,所以我们应该设置一些有趣的跟他们生活息息相关的案例来激发学生的学习兴趣,而这些案例还应该具有一定的综合性,能够把我们所学的知识进行融会贯通。例如学生成绩管理系统的分支程序结构中,安排学生信息查询进行计算思维训练。
4 教学方法改革(Teaching method reformation)
4.1 采用层次化及案例引导教学模式
民族高校在计算机课程的培养目标上,应注重不同学生在生源与文化基础上的差异,教学过程中既要体现整体性,也要考虑差异性,特别是民族学生,他们的计算思维、语言交际、计算机基础理论能力较差,我们要对这些学生进行一定的照顾。
在实践环节的安排和组织形式上突出层次化,根据学生特点,设置不同难度的目标,让学生运用所学知识,逐步去解决问题。在过程当中教师还要注重通过案例引导教学,让学生自己开动思维、动手操作,通过这种方式来提到学生的兴趣及自信度。
4.2 教学项目案例的设置
根据学生的能力,我校计算机专业C语言课程的教授分两学期展开,其中上学期教授的主要是C语言的基本特点、程序编译环境、数据类型及运算方法、算法的设计过程、三种基本结构等,下学期教授的主要是数组、函数、指针、构造数据类型和文件的输入输出这些剩余内容。
我们采用一个项目贯穿始终,然后根据每学期的教学内容,在该项目下采用模块化的思想根据知识点设置了相应的程序案例,每个案例都随教学进度分阶段完成,从而贯穿整个理论课程教学[5]。我们以“学生成绩管理系统”为例,其中各模块辅进行各个章节的讲授。具体做法如表 1 所示。
4.3 教学过程的实施
为了更好地使项目贯穿教学过程,根据教学经验制定了项目实施步骤,即明确分工、制订计划、教师指导、项目答辩与考核[6]。
(1)明确分工,以点带面。为了更好的完成教学任务,达到理想的教学效果,根据学生的特长、兴趣、爱好、性别对学生进行分组,并尽量做到一个能力强的带动一个能力弱的进行辅导学习,主要倾向于外省高分生源带动民族生和本地学生,在小组中每个人还要明确分工以便考核,并以小组为单位进行协作学习。
(2)制订计划。为了更好的使教学案例融会到教学过程中,
我们应根据教学进度安排好案例的推进,制定好项目开发计划,也使学生根据计划明确开发进度,以便按时完成项目。
(3)经验交流与教师指导。项目实施的好坏离不开大家的交流讨论和教师的精心指导及督促,所以在项目案例实施的工程中,教师要不断的组织大家进行课题讨论,以便开拓思维,扩展思路。教师还要时常对小组进度进行检查指导,并对检查结果进行记录,以便在考核的时候把小组成员的平时表现融入到期末成绩当中。
(4)项目答辩与考核。最后教师还要根据要求对项目进行验收,并根据最初小组成员的分工和答辩考核标准(民族生考核标准相对较低)让其进行答辩,结合代码编写是否规范、文档是否健全等进行加分。考核评分方式如下:平时考勤占10%,平时作业10%,平时上机操作占30%,答辩50%。
5 结论(Conclusion)
教学改革一直是大家不断研究探讨的问题,而根据民族高校所存在的问题,这就要求我们特别注意教学模式的变化,在教学过程中兼顾不同生源之间的差异性,也要注意培养大家的创新思维和计算思维,通过项目案例来不断提高大家的学习兴趣,只有这样才能提高教学效果,同时也为后续其他计算机专业课程的学习打下一个良好的基础。
参考文献(References)
[1] Ruilian Hou,Aizhang Guo.Research of the Teaching Model Reform of C Language Program[C].Proceedings of 2012 2nd International Conference on Future Computers in Education(ICFCE 2012),2012:5.
[2] LIU Shukun,CHEN Zhen,TANG Jinpeng.The Improved Methods of Teaching Practice Based on C Language Programming[C].2013年教育技术与管理科学国际会议论文集,2013:4.
[3] Ying Li,Shimin Zhang,Meihua Wang.Teaching Study on C Language Program Design Course Based on Computational Thinking[C].Proceedings of 2nd International Conference on Simulation and Modeling Methodologies,Technologiesand Applications(SMTA 2015),2015:4.
[4] 董荣胜.计算机科学导论——思想与方法[M].北京:高等教育出版社,2007.
[5] 王卓.一种基于阶段式的数据结构课程教学探索与实践[J].计算机教育,2016,5:48-51.
[6] 蒋绍林.Android手机开发课程的案例教学法[J].教育与教学研究,2014,14:37-40.
作者简介:
牛宁宁(1988-),女,硕士,助教.研究领域:人工智能,自然
语言处理.
曹 亮(1986-),男,硕士,上尉.研究领域:人工智能,模式
识别.
卓玛吉(1988-),女,硕士,助教.研究领域:藏文信息处理.