课程思政教育在C语言程序设计课程中的应用

2019-11-30 04:55黑新宏鲁晓锋申小玲
计算机教育 2019年11期
关键词:C语言程序设计环节

李 薇,黑新宏,王 磊,2,鲁晓锋,申小玲

(1.西安理工大学 计算机科学与工程学院,陕西 西安 710048;2.陕西理工大学 数学与计算机科学学院,陕西 汉中 723001;3.西安理工大学 实验室管理处,陕西 西安 710048)

0 引言

随着经济的全球化,思想文化交流日益激烈,多元化利益诉求日趋凸显,意识形态领域的斗争日趋复杂。“为谁培养人、培养什么人、如何培养人”是高等教育的核心使命。习近平总书记在全国高校思想政治工作会议上指出,高等教育应该坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全方位育人。用好课堂教学主渠道,思想政治理论课要坚持在改进中加强,提升思想政治教育亲和力和针对性,满足学生成长发展需求和期待,其他各门课都要守好一段渠,种好责任田,使各类课程与思想政治理论课同向同行,形成协同效应[1]。因此,将课程思政融入教育教学中,对于实现立德树人、育人育心具有重要的作用。

1 课程思政在C语言程序设计课程中的意义

C语言程序设计课程是培养学生核心素养、计算思维和程序设计能力的基础课程。核心素养是个人终身发展和可持续发展的基础,是指个体在面对复杂的、不确定的现实情境时,能够运用思维模式和探究技能、结构化的学科知识,以及世界观、人生观和价值观在内的动力系统,进行分析情境、解决问题的综合性品质[2]。计算思维最早是1996年麻省理工学院的Seymour Papert教授提出,美国卡内基•梅隆大学的周以真教授第一次明确使用。计算思维是指运用计算机科学的基础概念求解问题、设计系统和理解人类的行为,其特征是抽象和自动化。计算思维的表现形式主要包括逻辑思维、算法思维、网络思维和系统思维。

科技的飞速发展使得社会变得纷繁复杂,经济发展与社会发展的不平衡使得人们的价值取向也发生了前所未有的变化。在有限的学习时间里,学校教育无法培养学生具备能够应对所有社会问题的各种素质。目前的课程教学,教师主要关注的是知识维度、技能维度和学习维度3个维度的教育教学,即知识的传授、技能的训练和能力的培养。然而,科学和技术进步是一把双刃剑,它们在为世界进步提供机会的同时,也创造了新的伦理危机。知识和技能并不能为学生迎接未来的挑战做好准备,而良好的性格品质可以帮助他们明确人生方向,担负起历史使命,积极承担公民责任[3]。

课堂是教育教学的重要阵地,在课堂教学中引入思政教育,鼓励学生透过具体的知识和内容,挖掘蕴含在知识背后的思维方式、价值观和文化意义;引导学生观察真、善、美,增强社会责任感,培养创新精神和实践能力,从而形成积极、健康、乐观向上的人生观和价值观,成为有理想信念、敢于担当的人,因此,在C语言程序设计课程中引入思政教育,是对现有教育的补充和支撑。

2 课程思政的应用实践

在讲授C语言程序设计课程的过程中引入思想政治教育,旨在培养学生的创新意识、人文素养、科学思维、严谨求实和工匠精神。C语言程序设计课程包括理论教学环节和实践教学环节。通过理论教学环节,学生将掌握C语言程序设计的基本概念、程序设计思想,培养科学思维方式,掌握软件系统的开发方法,设计满足特定需求的系统并在设计环节中体现创新意识;通过多层次的实践教学环节,培养学生的严谨求实态度、工匠精神、创新精神,提高其创新能力。

整个教学过程包括理论教学环节和实践教学环节,理论教学环节由课前学习模块和课堂学习模块组成,如图1所示。课前学习模块主要是学生进行自主学习,即学生根据教师布置的任务查阅资料,以小组讨论等方式进行自主学习。例如,学生在开始学习C语言程序设计时,会觉得编程很神奇,强烈的好奇心会激发学生查阅资料。在查阅资料的过程中,学生将了解目前我国在程序设计、开发方面的现状,从而激发学生的爱国热情和责任心;此外,学生将会发现自己已有知识结构中存在的薄弱环节,强烈的求知欲将激发学生不断学习。小组讨论有助于学生在相互交流中丰富认识、拓展思维、树立自信心。

课堂是教学实施的主要形式,是培养创新思维、创新能力的载体。在课堂教学中,教师应构建有温度、有深度、有广度、有力度的教学模式。一方面由独白式教学转变为对话式教学;另一方面,在教学过程中引入思政教育,使育人与思想政治教育形成协同效应,增强育人合力。

在教学过程中,首先,营造一个充满人性化的,即有温度的教学氛围,在这样的课堂中,一方面,学生能够畅所欲言地表达自己的观点,敢于尝试,不畏惧失败;另一方面,有助于培养学生勇于探究的科学精神,树立人与人之间和谐发展的意识。

图1 理论教学环节

其次,以问题为导向,进行有深度的教学。深度教学是指让学生学得深,学得透,能够发现蕴藏在知识背后的思维方式和价值取向。例如,在讲解插入算法时,提出问题:对于一个已经按成绩降序排列的学生信息表,插入一条学生信息,完成插入后的学生信息表依然按成绩降序排列。学生在已有知识的基础上,提出多种解决方案,如从学生信息表的第一个学生开始,将要插入学生的成绩与该学生的成绩进行比较,如果小于该学生的成绩,则依次与后面学生的成绩进行比较;如果大于该学生的成绩,则将这个学生的信息向后移动,把要插入的学生信息放到该学生所在的位置。教师在肯定学生提出的方法基础上,指出这些方法虽然可以解决问题,但是,如果将要插入的学生信息直接放到该学生所在的位置,则会覆盖当前位置上的学生信息;如果将学生信息直接向后移动,又会覆盖其他位置上的学生信息;而如果借助一个临时变量进行存放,则会增加系统开销,影响程序的运行效率。指出这些问题后,教师引导学生进行逆向思维,即将要插入的学生成绩与当前信息表中的最后一个学生进行比较,如果大于该学生的成绩,则把这个学生的信息向后移动,从而解决在移动过程中数据的覆盖问题。通过这种模式,可以充分调动学生学习的积极性,改变学生被动接受知识的现象,拓展学生思维,接着,继续提出问题“如何将两个按成绩降序排列的学生信息表合并为一个按成绩降序排列的学生信息表”。通过引导,启迪学生将思维深入知识的发现或再发现过程中,激发创新意识,提高学生独立思考的能力和逻辑思维能力。

第三,采用广度教学方法,将计算机编程思想浅化、宽化,让程序设计理论走向学生的经验、生活,变成自己的知识,让学生在整体中、联系中、比较中进行学习,形成由点、线、面筑成的立体式、开放式的整体知识结构[2]。例如,在讲解选择结构时,一方面与生活相联系,购买商品就是一种选择,根据自己的需求选择不同的商品;另一方面,在讲授知识的同时也告诉学生,人生道路其实也存在选择,不同的选择其结果不同,让学生明白选择正确人生观、树立正确价值观的重要性,从而帮助学生在今后的人生道路上做出正确的选择。

最后,采用有力度的教学方法,让课堂充满活力,让学生对知识产生兴趣,激发学生主动学习的动机。例如,编写五子棋游戏,趣味性的问题可以引起学生的好奇心,进而激发学生学习的内在动力;在教学时,对于学生采取有所教、有所不教的做法,即将求解问题的思想告诉学生,让学生自己编写程序,挖掘学生的潜力。此外,在教学过程中,充分挖掘C语言程序设计课程的道德教育资源,通过逻辑推理、计算、编程等方法,培养学生严谨、理性、求实的品质。

实践教学环节是以学科的概念和原理为中心,通过构建多层次的实践教学环节,由浅入深,循序渐进,研究整合学生所学知识,培养学生的学力,发挥学生的能力,如图2所示。实践教学环节包括基础性实验、开发性实验和探索性实验。基础性实验主要是检验学生对基本理论的掌握情况,是否能灵活运用所学知识,强化学生的动手能力,培养学生的计算思维;开发性实验主要培养学生的系统思维能力和对专业的感性认识,对学生的程序设计能力进行迭代式培养。在设计解决方案时,要求学生要做到执事敬、精益求精并有所创新,培养学生的工匠精神。探索性实验是具有一定的难度和挑战性,与教师的科研项目、科技竞赛相结合的任务。由于每个人的认知发展速率不同,为了帮助学生灵活运用所学知识,实现学生的认知发展,笔者在探索性实验中采用合作学习模式。学生之间相互学习、相互讨论,每个学生就有机会了解别人解决问题的思想。这个过程也是学生展开思维的过程,从而有助于培养学生的研究和创新能力以及团队的合作能力。

图2 多层次实践教学环节

3 C语言程序设计课程思政实践效果

在C语言程序设计课程中,深挖课程教学中的德育内容和德育元素,将立德树人融入教育教学的全过程。在课程结束时,对两个班66名学生进行关于课程教学的评价问卷调查,并对59份有效问卷进行统计,结果见表1。

问卷调查表统计结果表明,学生对课前教学、课堂教学和实践教学的满意度(非常满意和满意)分别是92.42%、95.46%、96.97%,说明大部分学生具有较强的学习能力,能够适应以学生为主的教学方式,而学习能力较弱的学生则更喜欢传统的教学模式,即以教师讲授为主的方式。其他评价项目的统计结果表明,通过课堂学习,培养了学生的科学思维方式,提高了学生的自主学习能力;通过基础实验和开发性实验,激发了学生的创新意识,提高了自信心和团队合作能力;探索性实验培养了学生的研究能力。整个学习过程引导学生树立正确的人生观和价值观,充分认识自己的责任感和使命感,培养学生的工匠精神。

表1 课程教学评价 %

4 结语

课程思政是一种教育理念、一种思维方式、一种教育实践,更是一个系统工程[4]。针对C语言程序设计课程构建的具有思政育人的理论教学环节和实践教学环节,引导学生在知识学习和能力培养过程中,将正确的人生观、价值观、工匠精神内化为自己的品格,进而转化为自己的精神世界,培养了学生的科学素养、社会责任感,强化了学生的创新意识,提高了学生的创新能力。

猜你喜欢
C语言程序设计环节
提高种公牛精液品质的几个主要环节
医学专业“Python程序设计”课程教学改革总结与思考
必要的环节要写清
五环节自主学习型教学模式改革初探
互联网+教育背景下的C语言程序设计教学改革探究
基于Visual Studio Code的C语言程序设计实践教学探索
汇编语言与C语言的混合程序设计技术研究
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
中国新闻奖长江韬奋奖评选增设审核环节