面向对象程序设计课程思政教学研究与实践
2022-04-27李祥琴
李祥琴
(荆楚理工学院计算机工程学院,湖北 荆门 448000)
引言
2020 年5 月教育部发布《高等学校课程思政建设指导纲要》,指出要深入梳理专业课教学内容,结合不同课程特点、思维方法和价值理念,深入挖掘课程思政元素,有机融入课程教学,达到润物无声的育人效果。[1]
面向对象程序设计课程既是计算机专业的核心课程,也是非计算机专业的通识教育课程。在人才培养方案的知识目标框架中,课程要求学生深刻理解和领会面向对象的基本思想和基本特征,掌握面向对象程序设计语言C++的基本概念、基本语法以及面向对象程序设计的基本方法,同时为数据结构、软件工程、Java 程序设计等后续课程的学习及新工科相关专业如云计算、大数据、机器学习、人工智能等研究打下坚实的基础。在人才培养方案的能力目标框架中,用于培养学生面向对象的编程思维和解决实际问题的程序设计能力,增加“大国工匠”的经典案例,以真人真事感召学生学好自己的专业,对待编程就应该像工匠在自己所从事的领域中,不断追求技艺上的进步,日复一日,年复一年,始终专注一件事,达到精益求精。
1 面向对象程序设计课程思政的意义
面向对象程序设计课程是一门专业基础课,也是众多编程类课程中的一种,因此,面向对象程序设计课程思政研究具有重要的实际意义。
1.1 为其他编程类课程提供借鉴
大学本科阶段,编程类课程有C 语言、Java 程序设计、Python 程序设计、汇编语言、面向对象程序设计语言(C++)、C#程序设计,编程类课程之间有许多相似之处,面向对象程序设计课程的研究方法和手段可以为其他编程类课程进行“课程思政”提供指引,也可以为其他专业课的“课程思政”教学改革提供借鉴。
1.2 利于探索专业课的育人功能
大学生在校期间需要学习一部分通识教育课程,但最主要还是学习专业课程,这时单纯只靠思想政治课程对学生进行思想政治教育和价值引导,已凸显不足,而且大学生多数时间又与自己的专业课教师打交道,其价值观更容易受专业课教师的影响,因此,从专业课中挖掘育人资源,能更好地补充和丰富思政教育,同时也能提高学生的学习积极性。
1.3 提高教师的工作效率和学生的创新能力
教师在课程教学中融入思政元素,创新课堂教学模式,不仅可以提高自身的思政素养,从而提高工作效率,而且还增强了学生的文化自信与人文素养,明确了人生规划,激发学习兴趣,进而提高实践和创新能力。
2 课程思政教学设计
2.1 课程思政目标
习近平总书记提出,要坚持立德树人,把培育和践行社会主义核心价值观融入教书育人全过程。基于面向对象程序设计课程,其思政目标定位为:培养学生的爱国精神;强化工程伦理教育,培养学生精益求精的工匠精神,激发学生科技报国的家国情怀和使命担当;继承和弘扬优秀传统文化;树立正确的价值观;提高学生正确认识、分析和解决问题的能力;培养学生团队协作精神。[1-3]
2.2 思政素材的收集
在课程思政中,素材的选取是非常重要的,好的素材不仅可以对学生进行德育教育,还能激发学生的学习兴趣。思政素材的选取,一是可从我国五千年历史文化中进行提炼,沉淀的历史精华,经典的励志故事,特别是我们的百年党史,一个个可歌可泣的人物故事,都是生动的思政素材。二是可以选取专业素材,比如计算机类课程可从软件行业真实案例中发掘思政元素。此外,还可以从熟知的新闻或网络中提炼有价值的思政元素,素材尽量贴近学生的生活或学习,力求多样化,富有情感,与课程知识目标贴近。
2.3 课程思政元素挖掘
面向对象程序设计课程按教学内容,可分为“C++概述”“C到C++的扩充”“类和对象”“派生和继承”“多态性和虚函数”“运算符重载”“模板与异常”及“C++流类库与输入输出”八个模块。挖掘其思政元素如表1 所示。
表1 思政元素
(1)“面向对象程序设计概述”模块知识目标:熟悉面向对象程序设计的基本概念和思想,能编辑、编译、链接和运行C++程序。
(2)“C到C++的扩充”模块知识目标:了解注释与继续行、作用域标志域,理解const 定义常变量、函数原型声明、带缺省参数的函数,掌握变量的引用、内联函数、函数重载、函数模板,掌握new 与delete、C++的基本输入输出。
(3)“类和对象”模块知识目标:了解结构的定义与初始化、this指针,理解类和对象的概念、静态成员;掌握构造函数和析构函数、友员及对象的生存期。
(4)“派生和继承”模块知识目标:理解继承与派生的概念、类成员的访问控制,掌握多继承、虚基类、派生类的构造函数和析构函数以及对象的赋值兼容。
(5)“多态性和虚函数”模块知识目标:理解多态性、虚函数的概念,掌握运行时多态的实现方法;理解抽象类和纯虚函数的概念;掌握纯虚函数的定义及其使用。
(6)“运算符重载”模块知识目标:理解运算符重载的意义,掌握运算符重载的两种形式,熟悉几种常用运算符重载,掌握类类型与系统预定义类型间的转换。
(7)“模板与异常”模块知识目标:理解模板的概念;熟悉函数模板与类模板的定义与使用;了解异常处理的基本思想;掌握C++异常处理的实现和异常处理中的构造与析构。
(8)“C++流类库与输入输出”模块知识目标:了解C++的流的概念,掌握C++的标准输入输出流的使用,熟悉C++的文件的输入输出。
2.4 课程思政导入设计
(1)理论授课环节导入。理论教学中,采用设疑法,先引起学生的好奇和关注,然后介绍整个事件的始末,引发学生思考和讨论,进而对学生进行思政教育。
(2)教学课件制作环节嵌入。对于程序设计类课程,教师在制作电子课件时,可将思政内容植入到程序代码中,教师在给学生讲述程序代码时,思政内容直接被读出或显示在屏幕中,让学生不知不觉地学到或记住,真正做到育人润无声。
(3)实验指导环节导入。在上机操作环节,教师布置上机任务后,学生将完成编码和调试工作。比如,学生在编码时发生语法错误,不愿主动探究时,教师可适当进行鼓励,告诉他们要有耐心,不能一遇到问题就向老师或同学请教,要学会独立思考,自己发现、纠正代码错误,收获自信和成就感,而且在编写代码时要非常仔细,不要小看一个字符,一个不易检查到的小错误有可能会在一个项目开发中花几个小时甚至更多时间去解决,编码是一个不断修改、不断测试的过程,要有一丝不苟、精益求精的精神。
(4)课程设计环节导入。课程设计分为选题、需求分析、类和对象与关键算法实现、系统测试与优化、撰写报告、答辩与报告验收几个阶段。课程设计要求学生以小组为单位,小组成员分工合作完成设计任务。选题阶段,教师可以加入一部分思政内容的选题,比如百年党史就是一部生动的教科书,让学生开发一个党史考试系统,他们在开发过程中需要查阅相关党史知识,而在验收环节,一个组向其他组展示时,其他组也受到了教育。
2.5 面向对象程序设计课程思政路径探索
基于课程特点、学生情况,面向对象程序设计课程采用线上-线下混合式教学模式。在整个教学过程中,通过线下课中融入、线上主题活动导入方式嵌入思政元素,使用分组法、讨论法,培养学生的团队协作和沟通能力。线上-线下混合式教学模式中进行课程思政如图1 所示。
图1 线上-线下混合教学模式中嵌入思政元素
(1)线上预习。在课前,教师在学习通中向学生发放预习任务,一是布置章节知识点的视频学习任务,要求学生完成线上视频和预习作业,二是发布思政主题活动,要求学生观看融入了课程思政元素的主题活动视频、网页或文档,查找相关资料并讨论。通过预习、参与主题活动,培养学生自主学习能力,激发学生科技报国的家国情怀和使命担当。思政主题活动设计如表2 所示。
表2 主题活动设计
(2)线下教学。在讲授教学内容时,找到切入点,通过展示图片或事件等引入身边的生活实例,再对实例进行升华,润物细无声地引出思政知识。通过课堂教学,培养学生爱国精神、精益求精的软件工匠精神,继承和弘扬中华优秀传统文化。
(3)线上巩固。课堂教学结束后,及时汇总分析学生的课堂表现情况以及线上学习情况,布置线上作业,培养学生分析问题、解决问题的能力。
3 结语
课程思政研究是目前高校关注的一个热点课题,同时也是一个较新的课题,本文紧密结合面向对象程序设计课程特点,依托课堂内外,采取线上线下混合式教学模式,在“教、学、练、习”方面融入课程思政元素,能够有效地激励学生产生学习内动力,促进学生对课程知识的理解、掌握及拓展。