当前位置 :   首页 - 教师发展 - 教学研究 - 正文

课程思政在计算机类课程中的探索与实践

2021-05-07

东北大学   那 俊  李丹程

在各类课程教学中有效融入思想政治教育,需要从“培养什么人、怎样培养人、为谁培养人”的高度思考。考虑到不同专业的学科特点不同、师生特点不同,如何在高校各类专业学科中特别是在理工科类专业课程中,有效融入思政元素,在专业教学中潜移默化地升华思想和精神,自然而然地承载思想政治教育功能,已经成为当前高等教育教学关注的热点问题之一。

计算机的应用早已渗透社会的各行各业,改变着传统的工作、学习和生活方式,推动了人类文明的进步。计算机类专业也随之成为理工科类别中的一个热门方向。然而,尽管我国的科技水平越来越高,在操作系统、芯片等核心技术的自主研发上仍然和世界顶尖水平存在一定差距。自主自立是数代科研人员的梦想,也是计算机类专业学生肩负的历史使命。计算机类专业学生是建设科技强国的主力军,对计算机类专业学生的思想引领和价值引导至关重要。

一、在计算机类课程中引入思政元素的切入点

“技术的快速更新迭代”是计算机行业的重要特点之一。纵观我国计算机行业的发展现状,尽管中国的计算机研发与制造实现了从无到有乃至达到领先世界的水平,但是,面对国外巨头公司在基础科研上的巨大投入,在硬科技上的长远布局,中国计算机行业仍然面临着很多亟待解决的卡脖子问题。计算机领域的“自力更生、自主创新、自主可控”已经成为学术界和工业界关注的焦点。

中科院张钹院士指出,最难突破的问题不在某项具体技术突破点,而在于改变思路。科学在于原始创新和发现,应该靠大学和研究机构来主导。然而,目前高校中的计算机专业师生主要关注的仍然是行业高速发展带来的“生存压力”。一方面,信息技术的高速发展加大了教师在科研和教学上的双重压力;另一方面,日益激烈的竞争环境使更多的学生期望通过提高学历从而提升自身竞争力。例如,我们在近两年面向软件学院一年级本科生发放的调查问卷中,均发现有70%~80%的学生认为自己会在毕业后继续攻读硕士学位。“专业能力等于一切”的价值观和理想信念的缺失成为高校计算机人才培养亟待解决的核心问题。

创新是引领发展的第一动力。在各类创新领域中,作为第一生产力的科技创新处于最重要的地位,要抢抓科技创新的制高点,依靠科技创新走上世界科技强国之路。因此,我们认为在知识传授的同时,提升学生的创新意识,锤炼学生刻苦钻研、精益求精的品格,不断提升学生的自主创新能力,是在计算机类课程中引入思政元素的重要切入点。

二、计算机类专业开展课程思政的基本思路

课程思政的开展需要结合专业特点,既要保持与思想政治理论课同向同行,又要达到潜移默化、润物无声的效果。这不仅需要专业教师提升自身政治理论水平和对课程思政重要性的认识,更需要专业教师提升课程思政教学能力,能够合理而有效地结合专业特点和课程特点梳理思政目标、挖掘思政案例、挑选思政手段、设计思政方案。

1.以创新能力培养为核心确立思政目标

以创新能力培养为核心,结合理工科专业的特点,确定在计算机类课程中开展课程思政的目标。

1)坚定信念,树立信心。要实现创新能力的培养,首先就要坚定学生的理想信念,树立能够实现自主创新的信心,形成追求自主创新的原动力。

2)创新思维,挖掘潜力。鼓励学生打破思维定式,敢于提出创新的想法,不断挖掘自身潜力,注重创新意识的培养和创新能力的提升。

3)锤炼品格,追求卓越。创新并不是一蹴而就的,更不可能一蹴而就。因此,需要磨炼学生的耐心,打磨追求卓越的“匠人”品格。

4)重视合作,发挥合力。创新很难依靠一己之力完成,而需要群策群力,发挥集体智慧和集体力量。因此,需要培养学生的集体荣誉感和团队意识,提升团队合作能力。

2.结合专业特点设计教学方案

围绕上述思政目标,思政元素的挖掘要具有针对性和代表性,同时需要兼顾适合的教学手段,制订相应课程思政实施方案。一方面,可以通过讲故事或者布置调研型作业的形式,引入计算机发展历程中的代表性人物或里程碑事件的介绍,在提升学生学习兴趣的同时,潜移默化地使学生从故事中升华思想和精神。另一方面,也可以以实操型作业或者团队大作业的形式,鼓励学生在解决问题的过程中尝试创新、耐心打磨精品,在挑战中逐渐塑造“匠人”品格,提升团队协作能力。

三、在“程序设计基础”课程中挖掘与融入思政元素的教学实践

程序设计基础是计算机专业的基础必修课,也是很多理工科的通选课程,受众面广。特别是作为计算机类专业学生学习的第一门专业课,对于学生的思想引导、价值引领起到了关键性的作用。下面以“程序设计基础”课程为例,介绍围绕“勇于创新、追求卓越”挖掘与融入思政元素的一些探索。

1.聚焦中国发展,坚定理想信念

在引入对程序设计基本概念介绍之前,大部分相关书籍或者课程都会首先从介绍计算机的发展史说起。在大部分资料中,介绍计算机发展史通常都是以电子管计算机、晶体管计算机、集成电路计算机和大规模集成电路计算机的发展脉络逐一介绍。在这个脉络中,从来没有出现过中国计算机发展的历程,这难免会使学生忽视中国计算机行业的发展与进步。

世界上第一台电子计算机ENIAC的问世标志着计算机时代的到来。这是我们以往介绍计算机发展史时必须要介绍的里程碑事件。然而,在世界第一台计算机诞生10年后,19564月在周恩来总理的亲自领导下,中国就制定了12年科技发展远景纲要,成立了中科院计算技术研究所,完成了第一台小型计算机103机的设计,并在8个月后由国营738厂完成了103机的制造。此后,中国计算机实现了从无到有、跻身世界前列的稳步发展。2013年,“天河二号”摘夺世界超算500强桂冠,标志着中国超级计算机研制达到了世界领先水平;2016年,世界首台峰值运算能力超过每秒10亿亿次的超级计算机“神威•太湖之光”连续四次雄踞“全国超级计算机500强”榜首;2019年,全球超算TOP500强名单中,“神威•太湖之光”和“天河二号”位列第三、四名。

在中国计算机发展史中,著名数学家华罗庚起到了不可忽视的作用。早在19471948年华罗庚在美国普林斯顿大学高级研究院任访问研究员时,“计算机之父”冯•诺依曼就非常赏识华罗庚在数学上的造诣和成就,并带华罗庚参观过自己的实验室,和华罗庚讨论相关学术问题。也正是在那时,华罗庚就已经开始盘算回国开展电子计算机工作。1950年,已经是美国伊利诺伊大学教授的华罗庚,不但毅然放弃待遇优厚的职位,还动员了很多留学生回国。他在回国途中发表了《致中国全体留美学生的公开信》,提倡“为了选择真理,我们应当回去,为了国家民族,我们应当回去,为了为人民服务,我们也应当回去”,增强了留学生回国的决心。

通过对中国计算机发展史的挖掘,我们以讲故事的形式引入中国计算机发展里程中的重要事件和关键人物,使学生从中看到中国科学家的爱国情怀和潜心钻研的优秀品质,认识到中国计算机行业已经处于国际领先水平,激发学生的民族自豪感,激励学生对所学专业的热爱和立志参与中国科技强国建设的决心。

2.引导思维突破,激励自主创新

面对日趋激烈的学业竞争,面对计算机产业的高速发展,学生们难免比较浮躁,更看重短期利益或者追求捷径。正确的价值引导变得尤为重要。程序设计基础课程通常要依托一种程序设计语言进行实践。计算机编程语言是程序员与计算机交流的重要工具,从C语言、Pascal语言、Fortran语言到现在的C++JavaPython等,编程语言经历了早期语言到结构化程序设计语言、从面向过程到面向对象的发展历程。尽管编程语言层出不穷,要研发出一种新的语言也并不是特别复杂,但是到目前为止,还没有一种中国研发的主流编程语言。这背后的原因值得每一个计算机类专业学生探究与思考。

为了引导学生深入思考,我们以课后作业的形式为学生布置了一个任务,即调研一种主流编程语言的研发过程,并通过总结分析调研结果,引导学生突破传统思维,激励自主创新。通过调研和总结几大主流编程语言的研发过程可以发现,这些编程语言的开发者在研发新语言时面对着相似的情况,即解决一个现实应用问题。例如,C语言的开发最初是为了能够支持玩游戏而需要编写一个新的操作系统;Java语言是在简化C++语言以适应嵌入式系统开发时出现的;Python语言的研发是为了为非专业程序员提供更方便的编程工具;有“21世纪的C语言”之称的Go语言也是为了支持系统级软件的开发而产生的。显然,上述主流编程语言的提出都是为了更好地解决实际应用问题,也在研发新语言之后推动了相应领域的快速发展。

在总结中我们可以继续升华出这样的道理:研发出一种新的编程语言并不难,但是能够说清楚为什么设计并研发达到指定目标的语言是很难的。这就需要我们从思维方式上进行转变,突破思维定式,大胆创新,勇于尝试。同时,依托C语言和Java语言的出现及不断改进的过程,鼓励学生不要急于求成,不要轻易放弃,在产生创新性想法之后,一定要坚持不懈地努力,立志实现自主创新。

3.弘扬工匠精神,鼓励追求卓越

创新是推动科技进步的重要动力。改革开放以来,“汉字激光照排系统之父”王选、“中国第一、全球第二的充电电池制造商”王传福、从事高铁研制生产的铁路工人和从事特高压、智能电网研究运行的电力工人等都是“工匠精神”的优秀传承者,他们让中国创新重新影响了世界。培养学生的“工匠精神”,需要树立在专业领域上追求完美和极致的决心,形成对打造精品的坚持和追求。

在介绍程序设计的基础概念时,经常是从算法和数据结构两个方面展开的。不同的数据结构又决定了能够采用的算法。为此,在以C语言为基础的程序设计基础课程中,我们依托一个具体的业务问题(如学生成绩管理),要求学生跟随课程进展分别使用并行数组、结构体数组和链表设计并编写三个不同版本的程序实现。一方面,通过依托同一个业务问题设计不同的求解算法,保证了学生能够专注于问题解决方案的耐心打磨,培养学生的耐性和持续优化意识;另一方面,随着专业知识的学习,在不断提高专业能力的同时,引导学生看到同一个问题的求解方式可能有很多种,随着自身专业能力的提升,解决方案可以不断优化,塑造精益求精、追求卓越的匠心。

工程领域的问题求解通常不限于唯一答案。通过依托同一个业务问题研讨不同的解决方案,不但减少了学生在理解业务问题上的精力外流,而且能够更加专注于自身能力的提升与解决方案的优化。而实际上,能力的提升和产品的优化本身也是相互促进、相辅相成的。在学生专业能力提升的过程中,也潜移默化地实现了对学生精益求解、打造精品的品格塑造。

4.营造合作氛围,增强团队意识

团队协作强调团队成员之间资源共享、协同合作精神,从而形成更强大而持久的生产力和创造力。这可以类比为结构化程序设计中的模块化编程理念。模块化设计认为任何一个复杂问题都是由若干稍微简单的问题构成的。所以,一个复杂问题的求解可以被划分为一个个简单问题的求解。换言之,先确定总体目标,再进一步分解为具体的小目标。从这个角度,可以升华出团队协作的重要性。

此外,结合程序设计类课程实践性强的特点,可以在实践环节锻炼学生的团队协作能力。在学生个体具备了一定编程能力之后,我们设置了一个团队大作业,要求学生分工协作完成一个小型应用系统的开发。在此过程中,需要记录每个成员的分工,评估每个成员在项目研发过程中的贡献度,作为大作业最终成绩的评定依据。教师在作业成绩评定的过程中,根据作业质量进行评定,并依据成员贡献度核算出每个成员的最终作业分数。这一机制的引入,不仅使学生更加重视团队整体的程序质量,而且提升了参与团队协作的积极性和主动性。

结构化程序设计自顶向下、逐步求精的设计理念刚好与团队协作意识的提升、团队协作能力的培养相契合。在学习专业知识和提升专业能力的同时,自然而然地升华出了大局意识与合作精神。

思政元素的有机融入需要对专业课教学内容、教学方法和教学组织形式进行全面的改革和梳理。这对专业课教师提出了更高的要求,不仅需要提高自身认识和能力水平,更要重视“言传身教”,实现对学生正确价值观的引领。

(来源:2021年第3期《中国大学教学》)