基于计算思维和课程思政的教学创新与实践
——以面向对象程序设计为例

2022-06-15 06:23庞淑侠罗中华王燕
教育现代化 2022年15期
关键词:面向对象程序设计思维

庞淑侠,罗中华,王燕

(1.兰州理工大学 计算机与通信学院,甘肃 兰州;2.甘肃中医药大学 经贸与管理学院,甘肃 兰州)

一 引言

计算思维是美国计算机科学家周以真(Jeannette Wing)教授提出,并得到国际上的广泛认同。周教授认为:计算思维是运用计算机科学的基本概念进行问题分析求解、系统设计,以及计算机领域所涉及的一系列思维活动。C9高校联盟在 2010 年发布的《九校联盟(C9)计算机基础教学发展战略联合声明》中强调,把培养学生计算思维能力作为计算机基础教学的一项重要的、长期的任务[1-2]。计算思维旨在运用计算机科学的思想与方法去分析和解决问题。它的优点和价值不仅仅在于问题的解决,更是在跨学科中提供了一种解决问题的方法,同时也是不同专业适应科学技术发展的必然阶段。

面向对象程序设计是计算机类专业的专业基础课程之一,该课程对培养学生面向对象的编程思想起着启蒙作用,是学生掌握面向对象思想的关键,同时也为以后的程序设计学习以及培养学生解决实际问题的能力产生深远的影响。随着大数据技术的不断发展,面向对象程序设计也为学生理解大数据技术提供有力的保障。将计算思维应用在面向对象课程教学中,为学生解决实际问题提供了统一的方法和思想,为以后的学习和实践打下坚实的基础。

二 当前面向对象课程教学现状分析

(一) 课程现状与就业企业需求

面向对象程序设计课程一般都存在学时不足的问题,往往教学中以语法规则和编程技术为主要内容,这种以理论教学为指导的教学方式,直接导致许多学生虽然课程成绩高,但后续课程或实践需要编程解决实际问题时,往往不知所以。导致这种情况的最主要原因是课程讲述缺乏工程实践案例,太过注重语法规则的掌握。同时结合就业形势对面向对象程序设计的要求,以企业需求为导向进行教学方法和教学内容的改革,不但能激发学生的学习热情,同时又能为学生以后的就业打基础。

(二) 教学方式与教学效果

面向对象程序设计课程最大的特点是语法规则堆积,知识点散而多,专业术语多。基本上大多数高校的教学方式都是采取理论讲授和上机练习相结合的方式进行,教师在讲授程序设计的基本思想、实现方法时,容易让学生觉得太抽象、不理解,不知所以然,从而缺乏兴趣,产生畏难情绪,进而导致“厌学”现象。这种脱离工程实践注重教学的方式急需改革。

三 课程思政在面向对象程序中的设计

2016年12月在全国高校思想政治工作会议上,习近平总书记指出,“要坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人,努力开创我国高等教育事业发展新局面”[3]。习总书记站在实现中华民族伟大复兴的全局和战略高度,科学回答了高校培养什么样的人、如何培养人以及为谁培养人这一根本问题,为做好新形势下高校思想政治工作、发展高等教育事业指明了行动方向。广大高校教师肩负着对大学生进行思想政治教育的重要责任[4]。

在面向对象教学过程中,“规则围绕”是程序设计课程的一大特点,在讲述课程前,培养学生“规则意识”,遵纪守法,任何国家和社会没有绝对的民主自由,只有遵守社会和国家的规则,才能保障人民群众的切身利益,才能进一步维持社会的和谐和稳定,以新冠肺炎疫情为例,如果不顾现实地讲自由,那么疫情如何管控,人民群众的健康如何保障!

在讲解友元的时候,结合实际生活中的诈骗实例,例如诈骗老人和学生的案例,往往以慢慢接触,逐渐熟悉和结交朋友的方式,让人减少戒心,事实证明,那些所谓的朋友,只是善良人的一厢情愿,诈骗分子一开始就目的不纯,他们的目的就是骗取信任,从而骗取钱财。所以教育学生,真正的朋友之间应该互相帮助,与人为善,但那些一开始就目的不纯的所谓朋友,要学会甄别,防止被骗。

另一个知识点:继承,继承不但可以直接使用已有类的成员,还可以增加派生类的成员。结合实际生活中的继承,一方面通过继承,可以相对轻松地得到相应的财富,另一方面可以通过自己的努力和奋斗为自己和社会创造更多的财富。通过继承和派生,教育学生即使原生家庭环境优越,也应该努力学习,实现自己的人生价值,同时承担自己的社会责任,为社会做出更大的贡献。

四 基于计算思维的面向对象课程教学创新与实践

(一) 明确教学目标,完善教学内容

面向对象程序设计对应的语言比较多,就目前而言,计算机类专业大部分高校集中在C++,JAVA等语言。所以,首先需要明确这些课程之间的关系,明确每一门课程的教学目标,避免重复教学。一般来说,C++程序设计是第一门开始的课程,该课程首先应该让学生掌握面向对象编程的基本思想和编程方法,所以该课程的课程内容包括几个方面:类,类的继承和派生,类的多态,流等。在此基础上,Java程序设计课程的主要内容包括java语法基础,面向web编程等方面。不同课程的相互配合与衔接,一方面能让学生多方面掌握面向对象程序设计的思想,另一方面也能使学生更快适应社会的需求和发展。

在课程的教学环节中,以启发式为课程导向,融入课程思政元素,结合混合式、翻转课堂等多种形式,提高教学效果。

(二) 问题导向设计

在课程教学中,以工程案例或实际生活实例引出问题的求解方法,逐步形成问题描述——问题的解决方案——计算机处理方式——算法描述——算法实现的实现策略,从而培养学生计算思维能力和理论联系实际的能力。例如在继承与派生的教学环节中,可以以现实生活中的继承展开问题,说明继承现象存在的原因及好处,然后引申到程序设计中,代码的执行效果与代码工作量之间的关系,从而说明用C++如何描述派生类等问题。

问题导向能在教学一开始就激发学生的好奇心与思考能力,在发现问题、分析问题和解决问题的过程中,逐渐形成用计算机科学解决实际问题的能力。

(三) 课程思维导图

为了进一步让学生理解课程体系及课程内容之间的逻辑关系,有必要在课程开始之前,构建课程的思维导图。在课程前,教师先进行宏观内容的简单介绍,方便学生形成一个整体课程架构,然后学生通过查阅资料和自学,完成课程的思维导图。由于开设C++课程的学生基本是大一学生,专业基础相对比较薄弱,对于课程的理解难免存在局限性和不足之处,在此基础上,开展不同形式的讨论和问题求解验证,以小组或宿舍为单位进行。教学过程中,教师以学生提出的问题为基础,设计实例,展开分析,逐步形成知识点的应用和实践,从而完成计算思维的培养过程。

(四) 面向市场需求,专业与就业结合,激发学生的学习积极性

在计算机技术日益普及的今天,各行各业都对计算思维能力提出更高的要求。在教学进行之前,首先了解市场对计算机的需求,把计算机技术与专业学习在思维层面连接起来,完善适应市场需求的教学内容,设置符合市场需求的教学案例,把前沿的信息技术选用合理的方式介绍给学生,激发学生思考信息技术与自己学科的结合点,激活学生的学习兴趣,教学效果最大化[5]。

(五) 专业教育与创新教育融合,参与创新创业实践

在专业教育中,充分与创新教育相融合,为此,在教学过程中,鼓励学生积极参加计算机学科类竞赛,如蓝桥杯程序设计大赛,大学生数学建模竞赛、ACM程序设计大赛等,通过问题导向,自主学习、自主思考、自主实践,激发学生的潜能和兴趣。同时积极引导学生进行创新实验,探索利用计算思维解决实际问题的能力。条件许可情况下,在自主学习能力较强的学生中,鼓励其参与教师承担的课题或科研项目。学生通过参与课题过程中的文献查阅,数据统计分析,模拟仿真等,既拓宽学生的知识面,又完整实现计算思维训练全过程,同时学生还可以在创新训练中进一步明确专业教育的综合素质要求,积极加强自身创新创业能力的培养。所以,科研创新与实践是进行计算思维训练和培养创新人才的有效措施[5]。

五 效果与小结

计算思维是一种思想,一种解决问题的理念,所以计算思维存在于各个领域和专业,用计算思维分析和解决问题的能力应该作为当代大学生的基本素养之一。2020年春季学期,在本校学生中进行计算思维能力培训实践,从教学效果和学生的学习积极性方面都有体现,图1为学生学习情况统计,从该图中可以明显看出,学生的学习主动性有很大提高,同时该学期的教学效果也较上届提升。

图1 学习情况统计表

由此可见,计算思维能力的培养是教学过程中的重要目标之一,只有在教学过程中有规划、有意识进行计算思维能力的训练和培养,才能真正将计算思维融入专业教育,才能使计算思维成为一种常识性分析和解决问题的方法。通过完善教学内容,改变教学手段,融入课程思政,全面提高学生的综合素质[7-8]。

猜你喜欢
面向对象程序设计思维
思维跳跳糖
思维跳跳糖
思维跳跳糖
思维跳跳糖
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
面向对象Web开发编程语言的的评估方法
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发