APP下载

C++程序设计课程“一项三联”教学目标实现新举措

2024-06-21王欣

高教学刊 2024年17期
关键词:程序设计课程教学课程思政

摘  要:课程思政和OBE理念教学是教育部对新工科教师提出的新要求。为了将C++程序设计的课程教学、课程思政和OBE三者完美融合呈现给学生,该文提出“一项三联”的教学方法,即以一个项目贯穿C++整个授课过程,实现课程教学、课程思政和OBE紧密联系的教学方法,该方法增加学生学以致用的学习兴趣,提升教学、思政效果,实现学生运用计算机编程技术解决复杂实际问题的能力。

关键词:课程思政;课程教学;OBE;C++程序设计;教学方法

中图分类号:G642      文献标志码:A          文章编号:2096-000X(2024)17-0106-04

Abstract: Curriculum ideological and political education (CIPE) and curriculum teaching(CT) with OBE concept are the new requirements of the Ministry of Education for new engineering teachers. In order to present CT of C++programming, CPIE and OBE to students perfectly, this paper proposes the teaching method of "one project and three links", which means that a project is used throughout the whole course of C++ teaching to realize the close links of curriculum teaching, CIPE and OBE. The method increases the students' interest in learning to apply their knowledge, improves the effect of teaching and CIPE, and realizes the students' ability to use computer programming technology to solve complex practical problems.

Keywords: curriculum ideological and political education; curriculum teaching; OBE; C++ programming design; teaching method

习近平总书记多次强调,“把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人,努力开创我国高等教育事业发展新局面……为学生一生成长奠定科学的思想基础”[1]。教育部要求教师要深入落实习近平总书记关于教育的重要论述,高校要全面推进课程思政建设,发挥好每门课程的育人作用,全面提高人才培养质量[2]。同时,教育部工程认证要求教师以OBE(Outcome-based Education)理念进行教学,即以学生为中心、以成果为导向的方式进行授课,突出强调了通过课程的学习,学生应具备解决复杂实际问题的能力[3-4]。

C++程序设计是高校大学生的计算机类通识课,是通向计算机编程语言世界的入门课程,是所有以对象编程为理念的计算机编程技术的奠基石[5],也是本科生全国计算机等级考试的考试科目之一,其可以培养学生的逻辑思维和编程思维,在培养综合性高级编程应用人才中占有重要地位。作为一名高校一线教师,如何响应总书记的号召,落实教育部要求,扎实推进C++程序设计中的课程思政建设,以及提升学生解决复杂实际问题的能力,具有重要意义。文章提出以一个超市管理系统项目贯穿C++教学,实现课程教学、课程思政和OBE紧密联系的“一项三联”教学方法。

一  C++程序设计的“一项三联”教学目标

(一)  OBE教学目标

我国工程认证教育要求采用OBE理念进行教学,OBE是一种“以学生为中心”的教育理念,在实践上,其聚焦于学生受教育后获得什么能力和对学生能够做什么的培养,强调一切教育活动、教育过程、教学和课程设计都必须围绕对学生实现预期的学习成果(Learning Outcomes)。在实践上,OBE是一种注重教育产出的教育模式。对于工科学生来说,这种产出集中体现在学生应具备解决复杂实际问题的能力。

(二)  C++程序设计的教学目标

为了制定符合OBE理念的教学大纲,C++程序设计的教学目标是:使学生掌握C++程序设计的规范,熟练掌握C++程序设计类和结构体的区别和联系、构造器、析构器、静态和常量成员、类的派生和继承、同名成员、访问声明、多态、模板、名空间、赋值兼容性规则和异常处理等内容,能熟练使用这些知识点在VS等IDE(Integrated Development Environment)中开发程序,同时要求学生具有面向实际需求的大型、综合性、复杂系统的程序设计能力、程序开发流程、团队合作意识和协同开发能力。

(三)  C++程序设计的课程思政目标

为了深入贯彻教育部的要求,培养德才兼备的社会主义人才,身为高校教师一定牢记立德树人,培根铸魂是党赋予教师的神圣使命,也是教师义不容辞的义务。C++程序设计的课程思政目标为①坚持一条思政主线:中华民族精神;②两个任务:为党育人、为国育才;③三项内容:工匠精神、创新精神、团队精神;④四大主题:爱国主义、责任担当、敬业奉献和诚信友善。

二  以一个完整典型实例——超市管理系统贯穿C++程序设计课程实现“一项三联”

为了有效实现“三联”目标,如图1所示,建立了以一个完整的、典型的应用案例:超市管理系统贯穿整个C++教学环节进行“一项三联”目标实现。

下面介绍该方法的具体实施步骤。

(一)  项目规划与思政内容

任何一个项目,都要按照实际情况、客户需求进行项目规划。在超市管理系统中,需要做如下规划,将超市管理系统分为五个模块①基础数据模块:商品基本信息的建立与修改;②日常经营模块:商品的订购、结算和退货等;③信息查询模块:商品销售利润查询、销售额查询、商品剩余量查询等;④报警模块:商品过期预警和已过期报警等;⑤异常处理模块:处理异常事件发生,事务回滚等。这一部分教学内容:对学生讲解大型项目如何进行需求分析、项目规划、项目分工等。对应的课程思政:一个项目的有效实施需要进行项目规划,合理的项目规划是成功的一半。

对于一名大学生来说同样需要做好大学生职业生涯规划,制定好自己的职业生涯规划,明确今后的努力方向,有助于合理安排自己的时间达到事半功倍的效果。做好生涯规划,犹如黑夜里灯塔,指明同学们的人生方向,不仅有了方向,更有动力,敢于鞭策自己,不让自己松懈,机遇总是留给有准备的人,大学四年是人生中最为宝贵的四年,希望同学们不负青春,追风逐梦,成就理想,不辜负党与人民的期望,将青春之花绽放在祖国大地上。

同样一个国家也需要做好规划。中国共产党已为中华民族做好了全方位的规划,第一个百年目标:在中华大地上全面建成小康社会已如期实现,现在中国共产党正带领全国各族人民走在第二个百年奋斗目标的新征程上:即意气风发地迈向全面建成社会主义现代化强国。习近平总书记在庆祝中国共产党成立一百周年大会上的讲话中指出,中国共产党一经诞生,就把为中国人民谋幸福、为中华民族谋复兴确立为自己的初心和使命。把实现共产主义作为党的最高理想和最终目标,义无反顾地肩负起实现中华民族伟大复兴的历史使命,团结带领人民进行了艰苦卓绝的斗争,谱写了气吞山河的壮丽史诗。作为中国人,为有这样的党而感到无比骄傲和幸福,此生有幸入华夏,来世还做中国人,每一位中国人要把坚定不移地听党话、跟党走融入到血脉之中。

(二)  菜单所对应的教学与思政内容

项目规划完成之后,需要根据规划的内容首先制作系统菜单。菜单是用户进入超市管理系统后第一个操作界面,用户根据自己的选择进入相应的系统环境。菜单部分使学生掌握C++基本语句,循环结构,多分支选择语句,屏幕的输入cin和输出cout等内容。

在这一部分告诉学生,作为程序员编写程序时一定要细心、耐心。例如:中英文标点符号的错误、字母的大小写错误、语句结尾缺少分号错误、括号不匹配的错误等,任何一个细节都将导致程序运行失败。在编程过程中,让学生领会精益求精的工匠精神在编程过程中的重要性。在讲解运算符的优先级时,告诉学生每一个运算符都有自己的优先级,就犹如每一件事情都有轻重缓急一样,一定要分清事物重要性,方能游刃有余。同时,每一个变量也都有自己的生命周期,只有在特定的作用域里存在,告诫学生变量有生存周期,就如同任何事物都有生命周期一样,花开花落不长久,一定要珍惜现在,在自己的生命周期内开出绚烂之花。在讲解多分支选择语句时,告诉学生,当选择进入某一分支后,将执行该分支的所有语句,面对该分支给出的所有系统呈现,因此,大学生要树立正确的“三观”,只有树立正确的“三观”,才能对人生道路进行正确的选择,才能拥有更加光明的前景。

(三)  商品基本类的建立所对应的教学与思政内容

在超市管理系统中要处理各种各样的商品,如食品、日用品和电器等。这些商品有一些属性是共性的,例如所有商品具有编号、名称、进价、售价和产地等,将这些共性属性进行提取,定义为商品的基本类goods的数据成员,以及操作这些属性的函数定义为函数成员(也称为方法),如,构造器、析构器、修改商品进价与售价、修改商品编号及显示功能等。

这一部分让学生掌握类的定义和使用、理解类的封装原理、掌握构造和析构、友元、对象数组、静态和常量成员等。对应的课程思政目标为①构造方法的参数经常是对象的引用,引用具有指针的优点,不开辟新的内存空间,相当于址传递,如果用值传递将会使系统造成无限次递归,出现死循环的现象。这告诉同学们:他山之石,可以攻玉,适当地借鉴引用能让困难的问题迎刃而解。②类的最大特点就是封装性,封装性的特点之一就是该类不能依赖于外部变量,依赖于外部变量的类几乎都是违反类的封装原理的。对于一个国家来说,封装性就是独立性,独立自主、自力更生是我们的立足点。百年风雨兼程、百年筚路蓝缕,党始终坚持独立自主开拓前进道路,带领全国各族人民从胜利走向胜利。③每一个人都是国家这个类的一名成员,只有每一个人发挥自己的功能,国家这个类才会强大,个人的发展离不开祖国的强大后盾,每个人发挥自己的功能才能推动国家的进步,这是哲学中部分与整体的关系,希望每名同学,生逢盛世,不负盛世。

(四)  具体商品所对应的教学与思政内容

超市中的每种商品都具有商品共有的特征和属性,它们通过继承方法继承goods,然而他们还有各自的不同,电器商品需要有用电标识,食品需要有食品配料等,这些需要在各自的派生类进行新的定义。

这种从已有类派生出新类的过程,就是类的派生,派生类同样可以作为基类派生出新的类,这样就构成了类的树状结构,这和人类的继承和派生一样,站在历史的海岸漫溯那一道道历史沟渠,百家争鸣的热烈,唐诗宋词元曲的灿烂与明清小说的辉煌交映其间,给中国人民留下了无数的知识经典,作为中华儿女,一定要继承古圣先贤留下的宝贵财富。

在超市系统的派生类中,除了继承基类的属性和方法外,还要新增自己的属性和方法,这种新增就是创新,授古人之德,开今人之风,体现了继承和派生的关系,继承是民族之根,创新是民族之魂。习近平总书记曾指出:一切伟大成就都是接续奋斗的结果,一切伟大事业都需要在继往开来中推进。这深刻地诠释了C++中的继承和派生的含义。

(五)  系统中多态的使用

多态是指同一实体接收到不同参数时,产生不同的动作。超市管理系统需要使用多态技术完成系统的开发。例如为了使超市管理系统屏幕输入、输出和文件存取方便,可以重载运算符“>>”和“<<”,实现运算符的多态,当运算符操作数是屏幕流对象时,功能是往屏幕输出或从屏幕读入,当操作数是文件流对象时,功能是往文件写入数据或读取文件内容,这样就实现了运算符的多态。

这部分教学的知识点是多态的概念,运算符的重载等。对应的课程思政是告诉学生要有家国情怀,每一个人作为一个实体,接收到不同的参数时,要做到“多态”性,朋友来了,有好酒款待,敌人来了,迎接他的只有猎枪。中华民族虽然渴望和平、爱好和平,但是中华民族从来不惧怕任何国家、任何势力,犯我中华者虽远必诛。

(六)  系统中的流处理

C++中的“流”指的是数据的流动,凡是数据从一个地方传输到另一个地方的操作都是流的操作,在超市管理系统中,无时无刻不用到数据流的操作,数据的流动要有保真性,不能产生误码。这和人才的流动也是一样的,无论一个人身居何处都要一颗红心永向党,要保持党员本色,风霜不改其节,污水不改其质,要忠于党的领导不改其心。

(七)  系统中的名空间

超市管理系统的每部分模块,通常是由多人合作完成。然而,不同的人定义的函数和类的名字可能相同,这样在程序合并到一起时,会出现命名冲突,引起程序出错。因此在团队开发中,应使用名空间(namespace)加以区分,避免程序出现二义性现象,防止命名冲突。这部分对应的课程思政内容:告诉学生团队开发超市管理系统,要有协作精神与契约精神,树立良好的职业道德规范意识和团队合作意识,在爱岗敬业中体会人生价值。

(八)  系统中的异常处理

超市系统中要有处理系统异常的机制。这部分讲解C++异常处理的基本语法包括try(检查),throw(抛出)和catch(捕获)、构造和析构的异常、标准库中的异常类等内容。对应的课程思政的内容是:告诉学生每一个人的一生都不是一帆风顺的,可能遇到各种突发情况,这就要求同学们居安思危,要有忧患意识、大局意识,要未雨绸缪,建立属于自己的处理各种困难的机制,这就要求同学们平时就培养坚定的意志品质,树立崇高的马克思主义世界观、价值观,再大的困难都终将被克服,再大的艰难险阻都终将取得胜利。

(九)  程序的校验与代码的优化

程序编写完成后,要进行反复校验和代码优化,这正如一个软件公司不但要有程序开发组还要有程序测试组一样,程序测试是必不可少的。告诉学生要高度重视程序的扫尾工作,尤其在大型、复杂、综合性系统中这一步更加关键,程序员必须考虑到实际运行中所有可能出现的情况,要遍历条件的所有分支,检查内存泄漏、野指针等问题是否存在,考虑能否用更优化的代码完成系统需求,缩短程序运行时间。在实际运行中,任何一个细小的程序错误,都可能带来难以估量的安全隐患和经济损失。

这一部分对应的课程思政内容:要让学生养成精益求精的工匠精神,脚踏实地的工作态度,做事情不能一蹴而就,要循序渐进,对自己的学习情况要定期复盘,如日复盘、周复盘和月复盘,在复盘中反思自己还有哪些地方值得改进,还有哪些缺点和不足,然后改正自身存在的问题。正如共产党员要经常进行“回头看”一样,要有杀“回马枪”的决心查摆自身问题,要坚持批评与自我批评,“回头看”是为了更好的“向前看”。

三  教学反思

以一个项目为主线,引领C++课程教学和课程思政,可以提高学生的学习兴趣,增强学生处理复杂问题的能力,起到了教学、思政和OBE三丰收。然而这种教学方法,学生的编程难度较大,如果哪个环节学生没跟上,很容易出现掉队现象。为了避免这样的问题出现,教师可以把学生分组进行团队项目研发,这样做不但可以避免学生掉队,还可以提高学生的团队协作能力和沟通能力,知识分享有助于学生共同进步。

四  结束语

为了落实C++程序设计课程中立德树人的根本任务,文章提出了“一项三联”的教学方法,即以一个项目贯穿C++整个授课过程来实现教学、思政和OBE紧密联系的“三联”目标,该方法具有如下优点:①增加学生学以致用的学习兴趣;②提升教学、思政学习效果;③实现OBE,提升了学生运用计算机编程技术解决大型、综合性、复杂实际问题的能力。

参考文献:

[1] 习近平:把思想政治工作贯穿教育教学全过程 开创我国高等教育事业发展新局面[EB/OL].http://jhsjk.people.cn/article/28936173.

[2] 教育部关于印发《高等学校课程思政建设指导纲要》的通知(教高〔2020〕3号)[Z].2020.

[3] 宫明龙,刘凤芳,高秋志,等.OBE理念下融入思政的新工科专业毕业设计模式——以材料成型及控制工程专业为例[J].高教学刊,2022,8(30):92-95,100.

[4] 赵存有,陈国晶,徐鹏.基于OBE理念的机械类专业实践教学体系设计[J].黑龙江教育(理论与实践),2022(4):84-86.

[5] 夏军宝,王玉柱.“C++程序设计”课程思政探索与教学设计[J].教育教学论坛,2021(49):164-167.

基金项目:黑龙江省2023年高等教育教学改革一般项目“‘新工科和‘互联网+背景下自动化专业网络实验教学体系的构建与实践”(SJGY20222022);2022年黑龙江大学第三批课程思政建设校级重点项目“高级语言程序设计(C++)”(无编号)

作者简介:王欣(1978-),男,汉族,河北保定人,博士,副教授,硕士研究生导师。研究方向为信号处理、软件工程等。

猜你喜欢

程序设计课程教学课程思政
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
发挥专业特色 实施“课程思政”
湖南工艺美术职业学院湘绣专业实施课程思政的可行性研究
高职高专院校C语言程序设计教学改革探索
会计专业课程教学国际化的探索性研究
高职物流专业“物流费用结算实务”课程开发研究
高职院校医学检验技术专业提高课程教学质量的探讨
《供应链管理》课程教学改革
PLC梯形图程序设计技巧及应用