面向应用型创新人才培养的Fortran语言教学改革实践
2020-04-23葛坤朋谢基海龚育龄王彦国邓居智
葛坤朋, 谢基海, 龚育龄, 王彦国, 陈 晓, 邓居智
(东华理工大学 地球物理与测控技术学院, 江西 南昌 330013)
Fortran语言程序设计是地球物理学、勘查技术与工程、地球信息科学与技术等地学类相关专业的主修课程,也是数值分析方法、数字信号处理、重磁勘探等后续相关专业课程的基础,在地球物理类专业体系中起着重要作用。随着国内地学高校对该课程的愈加重视,Fortran语言程序设计已经成为学生接触的第一门专业基础课程,也是学生学习的最后一门高级编程语言。如何培养学生利用该语言解决地学类专业的相关问题,成为高水平应用型创新人才,是该课程教学改革的重点[1,2]。
近年来,Fortran语言程序设计的教学改革已取得了一定进展,提出了拓展教学内容、优化教学方式等教学改革措施[3,4]。然而,作为一种高级程序语言,Fortran语言程序设计很容易被认为是通识计算机课程的延伸,其专业性往往被忽视。这种忽视又进一步造成程序语言知识的重复讲授,导致学生对该课程的兴趣不足,阻滞了其在专业上的拓展应用。因此,Fortran语言程序设计的专业性和趣味性教学改革势在必行。
1 Fortran语言教学中存在的问题
我们在对东华理工大学2014级和2015级地球物理学、勘查技术与工程2个年级2个专业的Fortran语言程序设计的教学与实践总结中发现,学生学习动力不足,教学效果不够理想。由于本校学生在大一期间学习了《计算机文化基础》和《Visual Basic程序设计》,且缺乏对Fortran语言程序设计的专业重要性认识,学习态度比较差,学习动力不足。特别是Fortran程序作业独立完成情况不佳,部分学生采取直接抄袭或上网搜索。另有部分成绩优秀的学生采用VB等其它语言解决问题,直接导致本课程的教学目的和培养目标难以实现。在Fortran语言程序设计的教学中存在的问题,具体原因归纳如下。
(1)教学内容存在问题。教学内容有大量篇幅用于Fortran语法规则、语句格式等记忆性内容的讲授,实践性、专业性内容偏少,容易使学生死记硬背,甚至出现畏难心理,进而对Fortran语言的学习失去信心。
(2)教学方法和教学手段存在问题。在具备计算机编程基本知识后,大部分学生能够看懂简单程序,但在自己编写程序时仍无从下手。这是由于Fortran语言程序设计的基础知识较为抽象、枯燥,并且其与VB语言特征相近,基础教学内容有较大重叠性。使学生产生Fortran语言简单易学的判断,但却在编写形式上容易出错。最终导致学生学习兴趣下降,教学效果不够理想。
(3)考核评价方式存在问题。目前较为单一的考核方式无法有效地考查学生编程的学习和应用效果,并且因在作业和实验报告中存在程序抄袭等不诚信行为,进一步影响了学生对于Fortran语言程序的学习和应用主动性。
2 具体的教学改革
2.1 教学内容
基于学生已具备的高级语言基础知识,Fortran语言程序设计应采取以专业性应用为导向的教学方式,启发学生自主学习Fortran语言知识。在重视理论教学的基础上,重点突出专业性实践教学特色。
以培养应用型创新人才为目标,重新对Fortran语言程序设计的教学内容进行整合归纳,分为初级、中级和高级应用三大模块,并对中高级应用进行重点讲授。在理论知识讲授时,将重点、难点知识分散其中,并把相对抽象枯燥的语法知识贯穿在与学生专业息息相关的地球物理类应用问题之中进行讲解(表1)。同时紧跟实验教学,在学生编写程序解决具体的地球物理类专业问题中深化其对Fortran语言基础知识的掌握以及对该语言的专业重要性认识。
表1 Fortran语言程序设计的教学内容
2.2 教学方法和教学手段
基于应用型创新人才的教育理念,以工程任务为原始驱动,将理论知识逐步引入到教学活动。在课堂讲授过程中,以应用为主,强调学生能动性,实现即学即用。以专业性案例为引导,鼓励学生提高分析解决问题的能力。对于较复杂的专业性问题,组织学生成立任务小组,分担问题分析、流程图设计、编程实现、程序调试、成果分析等任务,学生在对问题分析的过程中,培养了发现并提炼问题的能力,逐渐形成提取问题核心要点的意识。流程图是为解决问题所设计的具体操作流程,通过流程图能够更加形象直观地明确解题思路,同时培养了学生清晰明确的逻辑思维。随后,根据流程图通过Fortran语言将算法实现,在编程实现过程中,学生可根据问题需求进行深入的学习Fortran语言,真正达到即学即用的目的。在编程后需对程序进行调试,保证程序能够准确无误地运行。此间学生需要根据实际问题先自行查找资料解决,并由教师加以辅助,这既培养了学生自主学习的能动性,又提升了教学的时空灵活性。最后,学生可针对程序的易读性、可重用性、可维护性进行评价,针对程序不足的地方进行改进并完善,提升程序的综合性能。并将安排于下次解决问题时轮换角色,在提升学生编程能力的同时,培养学生的团队协作能力。
在理论和实验教学活动中,以学生为主体,教师为主导。启发学生思考,鼓励学生自主学习。课下使用超星尔雅等网络教学平台,与学生分享专业性教学资源。同时基于网络平台,随时与学生分析讨论地球物理类专业问题,启发学生开创性思维,鼓励学生交流学习心得体会。
在程序编写过程中,引导学生自主选择编程风格,在保证程序易读性、可重用性、可维护性的基础上,提高学生的Fortran语言学习兴趣。
2.3 考核评价方式
为发挥专业与行业产业紧密联系的优势,结合本课程的实际情况,制定了行之有效的考核评价方式。包括以下两个部分:形成性考核和终结性考核。其中,形成性考核从学生的课堂测验、实验报告、回答问题、团队表现、个人表现、出勤率等对学生平时学习过程进行全方位考核,能够实时有效地反映学生实际专业问题的解决能力,占总成绩的40%。其中,课堂测验内容主要是针对某一具体问题先进行笔试,以学生独立或几人合作的形式完成对程序的编写,随后在课堂上随机抽取学生的程序进行讲解,针对学生在编程过程中遇到的实际问题进行细致的分析,帮助学生完善其程序。其后在下次上机实验课堂上由学生单独地将自己编写的程序进行检验,验证程序的正确性,最终编程内容将作为实验报告的一部分进行评价。终结性考核主要以笔试的形式完成,是对学生掌握Fortran语言内容的综合性考核,能够有效地反映学生的Fortran语言综合编程能力,占总成绩的60%。同时,为了促成学生良好的编程习惯,考核学生程序编写时,对程序的正确性和易读性同时进行考评。
此外,在Fortran语言程序设计中,学生抄袭现象是一个无法回避的问题。对此,国外及部分国内高校使用抄袭检测软件对学生编制的程序进行检测。然而两个程序的相似程度较大并不能一定得出抄袭结论。因此,我们将程序理解程度作为一个考核方式。对程序的理解力既是一个重要的考核指标,又能够有效地防止抄袭。
程序理解力考核,主要贯穿于实验报告、课堂测验等形成性考核之中。即当学生编写应用型程序时,使用的编程方式虽然可能一样,但对每一句命令的理解各有不同。因此,要求学生在每一句命令后通过注释添加自己的理解,这种方法能够有效区分相似度较大的程序。对于程序和语句理解同时雷同的程序,其发生抄袭的嫌疑较大,可逐题进行确认。这样既能保证考核的公正性,又减轻了教师的批改负担。
3 具体的教学效果
基于以上提出的教学改革方案,依托学校专业性教学实验平台、网络教学平台和社交软件,我们在东华理工大学2016级地球物理学和勘查技术与工程专业进行了教学实践,获得了良好的教学效果。(1)学生出勤率明显提高,尤其是勘查技术与工程专业平均出勤率达到了99%,课堂气氛活跃,表明学生听课兴趣明显增加。
(2)学生在形成性考核和终结性考核中持续表现良好,对上机测试题目能够很好地注释,体现了对程序本身理解力的提升。
(3)有多组同学申报基于Fortran语言的数学建模竞赛和校级专业科技创新项目,体现了学生能够活学活用Fortran语言解决应用问题和专业问题的能力。
4 结语
结合多年的课堂教学经验、科研实践和学生实际情况,以培养应用型创新人才为目标,我们提出了针对性的Fortran语言教学改革方案。教学实践证明,这种教学改革方案,不仅能够切实增强学生对该课程的学习兴趣,还提高了专业问题的分析和解决能力,为培养现代应用型创新人才打下了坚实的基础。接下来,我们将依据后续的实际教学情况,进一步完善该教学改革方案。