面向新工科的创新编程教育方法研究

2022-03-18 12:26杨静刘庭卿
创新创业理论研究与实践 2022年8期
关键词:编程语言开源工科

杨静,刘庭卿

(1.贵州大学 省部共建公共大数据国家重点实验室,贵州贵阳 550025;2.贵州大学 机械工程学院,贵州贵阳 550025;3.贵州大学 计算机科学与技术学院,贵州贵阳 550025)

随着我国经济和移动互联网的快速发展,现今已经变成了电子信息的时代,人工智能、机器人、云计算和区块链等技术迅速崛起,工业产业正面临着传统产业数字化转型及数字科技人力资源短缺的双重挑战[1]。在电子信息产业的推动下,社会对计算机硬件和软件的各种需求在不断增加,而计算机编程教育是计算机发展的基础和规范。高校创新型编程人才培养出现一些问题,如培养模式不够先进、实践机会少、解决实际问题能力弱以及整体创新能力不足。面对这样的状况,需要高校和政府相关部门进行有效的教学优化,针对计算机未来行业的发展要求,为进行更好的软硬件设计提供资源和技术支持。而目前新工科编程教育的最大问题在于教学目标是否能够满足未来行业的发展需求,新工科下的编程人才培养要求跳出单一学科的视野,寻求多学科融合的开阔维度,既要有扎实的基础知识,又要有丰富的实战经验和前瞻性的科学视角[2]。计算机编程语言种类繁多,学生在繁重的学习任务下也不可能系统地学习多种编程语言,而是要把握未来信息时代发展方向的重点,学习未来工作中涉及的必要的编程语言。但编程对大多数学生而言是枯燥乏味的,学生容易对编程缺乏兴趣。所以,教师不仅要教会学生编程,更是要让他们在思想上认识到创新性地解决问题才是教育的核心。

1 新工科建设促使编程教育成为重点

新工科是根据国家发展战略提出的代表新工程教育的改革方向[3,4],新工科建设的深入发展,强调的是应用性技能和实践性教学,是为了培养未来多元化、创新型卓越工程人才。为了能够应对新一轮的科技革命与产业变革,支撑服务创新驱动发展、《中国制造2025》[5]的实施,对新的工程建设提出了新要求,新工科专业主要指新兴产业的专业,以互联网和工业智能为核心,包括大数据、云计算、人工智能、区块链、虚拟现实、智能科学与技术等相关工科专业。云计算、区块链等新兴技术为传统工业发展注入了新鲜血液,这些新技术不仅需要理论支持,还涉及计算机编程的重要知识。编程教育是多学科共享和交叉融合的教育,涵盖科学、技术、数学等,注重知识的灵活运用,比起学科分离的传统教育,编程教育更符合现代产业的人才需求,因此,新工科建设强调的是实践、创新和国际竞争力。这些在互联网发展中具有代表性的新技术都需要用到计算机编程,高校在人才培养过程也需要高度重视编程教育,编程教育发展的重点就是应用实践能力、创新能力、工程思维。2018年,教育部发布《关于加快建设高水平本科教育全面提高人才培养能力的意见》[6],将“集成电路”“人工智能”等专业列入我国战略性新兴产业相关学科专业,这些专业多数与计算机专业关系密切,因此,基于新工科的建设目标,推动计算机专业内涵建设将成为计算机专业发展的必然趋势[7],尤其是计算机编程教育。编程教育是计算机类学科中非常重要的专业课程,甚至贯穿本科学习的始终,重视编程教育是提高高校教学质量、培养实践型人才的根本保障。

2 当前编程教育存在的问题

2.1 师资队伍整体水平有待提高

高水平的师资是学科建设的核心,师资水平的高低在一定程度上决定了学科教育的高度,师资队伍质量建设在学科教育建设中具有重要的地位和作用。目前,技术工程类教师稀缺,教师的教学水平、职业技能水平良莠不齐,缺乏实践能力和创新技能,一些教师只能讲授专业技能。编程教育是一项技术与工程的教育,其中涵盖的学科种类繁多,而且注重的是实践教学,这对实验教师有更高的要求,实验教师是教学和实验研究的组织者和实施者,开展好的实践教学要求实验教师工作热情,知识技能丰富,专业技术水平高,要有科研精神和创新能力。实验教师的水平直接影响到实践教学质量和科研成效[8]。

2.2 教学方式单一,内容缺乏创新

编程教育重视的是知识与计算机相结合的应用实践能力,单一地将理论知识与计算机实践课程孤立是错误的做法。当前教学方式基本是采取面授教学,而教师在课堂上授课时只满足把书本上的知识讲清,单向地灌输知识,忽略了知识的拓展性,使学生一直处于被动接受的学习状态,这样无法满足学生对知识结构的需求,无法建立完整的知识体系。尤其是一些编程语言类课程,需要与实际应用联系一起操作的程序设计方法等,无法用语言和板书来讲解和描述清楚,使学生学习兴趣低落,思维能力受到障碍,在启发和培养学生的观察力和想象力方面有一定的局限性[9]。教学课本内容陈旧,不能够与时俱进,现在IT技术更新快,课本上的内容跟不上社会的发展需求,这样片面的教学也达不到新工科编程教育的要求。

2.3 教育思想观念有待转变

编程是信息时代的产物,编程教育包含数字文化、计算机文化、网络文化、信息文化等多种元素。但是由于各种文化的差异,编程教育不能生搬硬套其他国家的教育方式和经验,编程不仅仅是一种技术,更是一种文化的活动,它会受到行为和文化的影响。例如,有些高校是编程语言课程采用外教教授或采用外语课本,这对学生而言会造成极大的学习压力,编程语言的学习本身相对枯燥,采用外语形式教学更让学生难以理解。教育的本质是提高人的生命质量和生命价值,编程教育的核心理念是培养学生的创新思维和解决实际问题的能力,身为教育者应当引导学生去思考和正确认识编程,而非一味地解释知识点。人工智能和万物互联已经深入人心,编程语言甚至可以作为人类除母语和外语之后的第三语言,教会学生编程语言更重要的是赋予学生在智能时代应有的更深层人机共处的世界观、思维方式、技术价值观、责任感等观念,引导着编程教育的发展,编程教育并非只是教会学生如何编制程序,而是培养学生的计算思维和创新能力,以及认识未来智能时代的正确方式[10]。让学生不仅要学会知识,更重要的是从技艺到能力的提升,尊重结果,看重过程。

3 编程教育的改革探索

3.1 加大政策性支持

国家自2014年以来相继出台相关政策,2016年6月,教育部印发《教育信息化“十三五”规划》[11],将信息化教学能力纳入学校办学水平考评体系,将STEAM教育规定为基本学科。2017年7月,国务院印发《新一代人工智能发展规划》[12],将人工智能提升为国家发展战略。2019年3月,教育部办公厅印发《2019年教育信息化和网络安全工作要点》[13]。除此之外,浙江、江苏等省也积极响应中央政策,开启了编程教育改革。

3.2 加强新工科编程教育的师资建设

编程教育内容的复杂性决定了专业教师需要具备高水平的实践能力和创新能力。要推动新工科的编程教育系统和规范发展,需要政府、高校、社会的共同努力。高校各级部门要制定师资人才培养的目标,细化培养过程,不仅注重教师的专业能力与实践技能,也注重人才的创新意识、领导能力以及终身学习的品质[14,15]。面向新工科的编程教育,重点是培养师资队伍的实践能力和创新品质,通过教学、科研中的创新意识,进一步推动学生人才培养中各个过程的创新,最终提升新工科编程教育的创新建设能力。让师资队伍整体具备新工科人才培养的创新视野,师资队伍在新经济产业下开展教、学、研方面的现代教育工程体系能力培养,不断提升工程实践能力和素养,与时俱进,努力成为新工科的工程教授、工程教育骨干。

3.3 教学内容的创新

课程建设是高校教学建设的基础,也是高校建设的重要内容。在新工科背景下,需要有“科教相融、科创相助”的人才培养理念,培养学生工程意识、科学精神、创新能力、协作意识、团队精神、组织能力等综合素质[16]。在课堂上,可以采用项目式教学的方法。例如,在编程语言的课程中,将项目式教学引入课堂,实际应用和理论知识相结合的形式,既能丰富教学内容,又能提升学生的学习兴趣,使得枯燥无味的编程语言变得有声有色。多样式的项目也能让学生得到更多的训练,编程本身是一项长时间实践的技术,针对不同的项目运用不同的方法,能让学生将所学的知识充分地应用和吸收,更好地理解编程过程。针对信息量、知识点众多的编程算法教学,采用项目式的教学方式,可以将知识点化繁为简,提高学生对知识点的掌握程度,项目式的教学方法还能提高学生的自主学习能力,将编程教育中最重要的实践展现得淋漓尽致。以项目为主线穿插在课堂之中,教师对学生在收集信息、制定计划等流程中积极引导,指出设计的计划可行性与信息录入的程度,让学生自主设计实施。在项目式教学中,注重的不是最终结果而是完成项目的过程,学生在项目实践过程中,理解和把握课程要求的知识,体验项目制定与完成的乐趣[17],达到培养分析与解决问题的思维与方法的目的。

3.4 基于开源平台的学生创新性能力培养的“新”编程教学模式

通过引导学生建立开源理念,学习开源方法,掌握开源工具,理解开源生态;建立产学研协作、开源为中心的信息学科实践教学平台,让学生能够在实践环节接触开源、使用开源、分析开源、参与开源;利用学校的相关课程鼓励学生参与开源软件研发。

同时,通过信息学科开源平台,如Github开源平台,教会学生对所有在本平台上发布的编程知识进行数据共享,同时,设计者可将在该平台上发布的数据分享经验、纠正错误、改正不足。该平台上的数据供登录该平台的所有使用者大面积使用,克服时间、空间限制,提高学生上课的积极性,增强了学生对相关编程原理知识的理解,培养了学生的创新能力。

通过基于开源平台和校企合作模式的“反馈式”推进教育教学创新性能力培养模式的研究,增强学生对知识的理解,减轻教师教学的负担,提高课堂教学的质量和效率,如图1所示。

4 结语

新工科是高级工程教育改革的指导思想,为工科教育指明了方向,与高新技术产业密切相关。在人工智能和万物互联的时代,搞好新工科的编程教育建设能够拓展未来科学技术,为培养创新型人才提供有力保障。因此,积极推动新工科编程教育,能够快速适应以新技术、新业态、新模式、新产业为代表的新经济的发展需求,能够更好地培养实践能力强、创新能力高的高水平人才,能够为电子信息这场攻坚战奠定坚实基础。

猜你喜欢
编程语言开源工科
中粮工科机械技术(无锡)有限公司
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
新工科下创新型人才培养的探索
新工科背景下项目推动式教学模式的探索
中职“产学研创”一体化工科类课程的研究与实践
Java编程语言的特点与应用
五毛钱能买多少头牛
2019开源杰出贡献奖
浅谈不同编程语言对计算机软件开发的影响
大家说:开源、人工智能及创新