人工智能课程编程实践环节的体系化设计与构建

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:only16666
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:我国人工智能发展战略对高端人工智能人才的培养提出了迫切需求,高等院校为相关专业研究生开设人工智能课程成为大势所趋。作者所在课程组面向学院应用型研究生的培养目标和定位,着眼研究生编程实践能力的培养和提高,立足学院现有人工智能相关课程,跨越课程界限,体系化设计实践教学环节,提出了基础编程实践、经典算法实现、算法综合应用、实践创新竞赛共四个层次的编程实践内容。同时,课程组还探索了与之相适应的实践教学模式与方法,并在多年的教学过程中加以实践,取得了良好的教学效果。
  关键词:人工智能;编程实践;体系化
  中图分类号:G424.1  文献标识码:A  论文编号:1674-2117(2021)21-0093-04
  前言
  人工智能的迅速发展正在深刻和深远地改变着人类社会的生产、生活,甚至改变着世界格局。 要想构筑我国人工智能发展的先发优势,必须抢抓人工智能发展的重大战略机遇。2017年我国颁布的《新一代人工智能发展规划》中明确指出,“加快培养聚集人工智能高端人才”是当前的重点任务之一。[1]对为数众多的暂时没有条件建立人工智能学院和增设人工智能学科、人工智能专业的工科高等院校而言,开设人工智能课程是培养人工智能应用型人才、拓宽人工智能专业教育内容、形成“人工智能+X”复合专业培养新模式最有效和直接的手段。
  概述
  人工智能课程的“理论实践相结合”特点非常鲜明,在理论指导编程实践的同时,编程实践会促进和加深对理论知识的理解。人工智能课程的基础理论部分较为系统和完善,有大量体系化的教学资源和规范化的教学案例可供参考与效仿。相对而言,人工智能课程中的实践环节可借鉴的成熟范例并不多见,而且实践环节较多地依赖于学生的专业背景和学校的培养目标,更能体现复合专业培养新模式的特色,因此吸引了众多教育工作者开展了深入的研究与探讨。[2-6]
  笔者所在课程组以学院研究生开设的人工智能相关课程为内容展开研究,不囿于单门课程,而是结合学院办学定位和人才培养目标,进行跨课程的顶层设计,通过构建人工智能课程体系化的编程实践环节,提高学生动手实践能力和人工智能应用能力,为科教兴国和科技强军贡献力量。
  学院研究生培养的现状
  为了更好地适应国家对专业人才的需求和新型陆军对军事人才的需求,学院研究生人才培养的目标定位正逐渐从研究型人才向应用型人才转变。无论是军人研究生还是地方研究生,无论是学术学位研究生还是专业学位研究生,对其应用能力的需求都被提高到前所未有的高度。相对于传统的研究型人才,应用型人才培养更加重视学生的动手实践能力和学以致用的能力,突出培养学生应用理论知识动手解决实际问题的能力。
  学院研究生培养包括信息与通信工程、电子科学与技术、计算机科学与技术三个学硕专业和计算机应用、电子信息两个专硕专业。这些专业与人工智能密切相关,培养的研究生或者直接研究人工智能,或者结合专业领域拓展人工智能的应用。目前,学院针对研究生开设了“模式识别”“深度学习”“网络运维与数据分析”等人工智能課程,此外,“最优化理论与方法”“智能计算”课程也与人工智能具有较强的关联。鉴于这些课程理论知识的相关性和培养能力的一致性,如何突破不同课程的限制,从高处着眼,统一设计和构建这些课程的编程实践环节,使得对学生编程实践能力和人工智能应用能力的培养过程具有持续性,是值得深入思考和研究的问题。
  人工智能课程编程实践内容的层次化设计
  课程组针对研究生的应用型培养目标,开设了人工智能相关课程,统一设计了如下的编程实践内容并在教学中进行了探索式应用。
  学院绝大多数研究生在本科阶段已经学习过Python或者matlab,具备一定的编程知识。以此为基础,课程组为人工智能相关课程设计了基础编程实践、经典算法实现、算法综合应用、实践创新竞赛共四个层次的编程实践内容,任课教师可根据需要选择。四部分内容的层次关系如下图所示。
  1.基础编程实践
  在研究生基础课阶段,拟从事人工智能相关研究与应用的学生通常会选修“最优化理论与方法”和“智能计算”课程。这两门课程分别介绍传统规划方法和智能优化算法,为人工智能后续课程的学习奠定了必要的数学基础,同时锻炼了学生的编程实践能力。课程组根据理论教学内容设计了基本优化算法的编程实践环节,包括传统的线性、非线性规划算法(图中“基础编程实践”层次模块的虚线以下)和智能优化算法(图中“基础编程实践”层次模块的虚线以上)两类,其中智能优化算法以群体智能算法(蚁群、鱼群、蜂群、狼群、粒子群等)为重点。这些实践环节要求学生独立编程实现算法每一个步骤,不调用现成的工具包,不参考网上程序,旨在加深学生对算法原理的理解,并扎实培养学生对编程语言的灵活运用能力,以期提高编程技巧。
  2.经典算法实现
  这部分内容是人工智能课程系列实践环节的重点,依托“模式识别”和“深度学习”两门课程。实践环节分为独立自主编程与基于平台编程两类。独立自主编程主要实现机器学习中最基本最经典的算法,包括感知器、Fisher判别、线性回归、Logistic回归、决策树、PCA(Principle Component Analysis,主成分分析)、EM(Expectation Maximization,期望最大化)算法、Adaboost、Q学习等,不依赖计算平台,不参考网上程序,旨在加深对算法原理细节的理解。基于平台编程允许调用现成的工具包和模块,如SVM(Support Vector Machine,支持向量机)应用、HMM(Hidden Markov Model,隐Markov模型)应用考查学生调用现有工具包完成分类任务的能力,关注对调用接口的熟悉和参数选择的技巧。分类和聚类是“模式识别”课程中的两个重要内容,相对而言,聚类算法分配的课时较少,对学生的要求是能够在理解聚类算法原理的基础上根据实际问题选择合适的聚类算法。鉴于聚类算法种类众多而课时有限,课程组设计了聚类算法的比较实验,允许学生调用平台自带的聚类算法,针对特定聚类任务进行性能的分析和比较。“深度学习”课程的实践环节都是基于平台的编程,毕竟一个深度网络的完全自主编程实现超过了学院大部分硕士研究生的能力。课程组选择了应用最为广泛的CNN(Convolution Neural Network,卷积神经网络)、LSTM(Long-Short Term Memory,长短期记忆网络)、VAE(Variational Auto Encoder,变分自编码器)和GAN(Generative Adversarial Network,生成对抗网络)作为实验对象,要求学生基于深度学习平台(Tensorflow或者Pytorch)搭建神经网络解决分类和样本生成任务。   3.算法综合运用
  完成了经典算法实现环节,就可以进行算法综合运用的实践环节了。这部分内容依托“网络运维与数据分析”课程,主要是在公开的网络数据集上完成网络运维中的数据分析问题,如网络流量分类/预测、网络异常检测/预测、网络态势分析展示等任务。参考的方法通常是KDD(Knowledge Discovery and Data Mining,知识发现与数据挖掘)、ICML(International Conference on Machine Learning,国际机器学习会议)等顶级会议上发表的最前沿的研究成果。有了此前机器學习基本算法的基础,学生理解并实现这些顶级会议上的方法成为可能。课程组设计了多个实战编程环节,教师可根据实际情况选用。
  4.创新实践竞赛
  在完成了人工智能相关课程的学习之后,笔者鼓励学生走出去参加包括数学建模竞赛和人工智能竞赛在内的创新实践竞赛,这些竞赛对于检验和提高学生的理论指导实践能力、发现和解决问题的能力大有裨益。对于全国研究生数学建模竞赛和研究生军事数学建模竞赛,学院是统一组队参加的,近十年来的题目中人工智能题目占据的比例越来越大,还有一些问题本身不是人工智能问题,但其解决方案中人工智能方法也占据一席之地。除了历史悠久的数学建模竞赛,各种人工智能竞赛平台近年来也相继问世。这些竞赛面向实际应用中各种类型的任务和难题,以实测数据上的性能为评比标准。竞赛题目通常与人工智能课程契合度很高,如PRCV(Pattern Recognition and Computer Vision)竞赛中的“短视频实时分类”“大规模行人检索”“车纹识别”“高速低功耗视觉理解”等题目都是经典机器学习算法的综合运用,对检验和锻炼学生学以致用的能力很有帮助。
  人工智能课程实践环节的教学方法
  “内容为王”,但是内容不是全部。科学合理的实验内容也要依靠科学合理的教学模式和方法才能取得最佳的教学效果。配合实践环节的体系化层次化设计,课程组在实践环节中采用了如下的教学方法。
  1.灵活多样的考核机制
  针对不同层次不同类型的实践环节,采用不同的验收标准。对于旨在提高编程能力的“基础编程实践”,以及“经典算法实现”中的自主编程,验收的标准主要是编程技巧,matlab中是否善用矩阵、Python中善用高级的数据结构、实现同样的功能用了多少行代码及时间复杂度多少等都是评价编程质量的指标。对于“经典算法实现”中的基于平台编程以及“算法综合运用”环节,验收的标准是对平台、对算法、对模块的选择、分析和评判能力,针对具体的问题能否在短时间内选定适合的算法,并基于平台迅速搭建起模型,是考查的重点。对于“创新实践竞赛”,最直接的评价标准就是是否获奖,当然,参赛的收获与感悟也是我们关心的。对于一些需要比较的算法实现,如聚类的各种算法、VAE和GAN等,算法实现过后对实验结果的分析和比较通常更能反映出学生对理论知识的思考和理解,也是实践环节验收的重要指标。
  与以上的实验验收标准相对应,课程组设计了灵活多样的考核机制。对于选课人数不超过20人的小班,可以采用逐人逐实验现场验收的形式,针对性地进行个性化提问以了解学生的付出和收获。对于人数较多的班次,可以采用实验报告的形式,随机挑选一些学生和一些实验进行现场提问和验收。在课程学习期间,如果参加了创新竞赛并获奖,可以作为附加分以资鼓励。
  2.因人而异的实践任务
  选修同一门课程的学生在基础和研究方向上可能有较大差异,学习课程的目的和要求也各不相同,对此课程组在布置实践任务时采用了因人而异、一人一议的方式。在课程开设之初,任课教师会了解每一名学生的专业和研究方向。对于只是应用人工智能方法来辅助毕业课题的学生,可以降低“基础编程实践”以及“经典算法实现”中自主编程的要求,允许调用平台提供的模块完成任务。“创新实践竞赛”也只需鼓励他们参加数学建模竞赛,而不是纯粹的人工智能竞赛。对于计算机科学与技术专业的学生,通常是研究人工智能方法而不是简单应用,那么他们需要高标准完成全部实践环节,而且在实验验收时还要侧重考查他们对人工智能理论的理解。
  3.持续长效的反馈机制
  编程能力的提高不是一时之功,有时也不是在一门课程中就能显现。为了检验实践环节的设置以及教学模式方法是否科学合理、提高学生编程实践能力的目标是否达成,需要有持续长效的反馈机制,不限于一门课的学习期间,甚至不限于学生的在校时间。对于人工智能相关的几门课程,同一位学生后续课程中表现出的编程实践能力是对此前课程编程实践环节的反馈,创新实践竞赛的成绩是对课程实践环节的反馈。任课教师和学生的导师之间也应建立起经常性的联系,学生在课题研究阶段的表现,甚至是毕业后工作期间的心得体会也可以作为人工智能课程所有实践环节的反馈。通过这种持续长效的反馈机制,课程组可以不断地修正调整实践内容和教学方法,以期获得更好的教学效果,实现应用型人才培养的目标。
  结语
  人工智能的迅速发展和广泛应用大幅提高了工科院校人工智能相关课程开设、建设和改革的紧迫性。结合笔者所在学院应用型研究生的培养目标,课程组跨越课程界限,统一设计了人工智能相关课程的实践教学环节,并探索了与之配套的教学模式和方法。教学实践表明,体系化的实践教学环节和针对性的教学方法取得了良好的教学效果。
  参考文献:
  [1]国务院.新一代人工智能发展规划[R].2017.
  [2]柯永振,王瑞昆,杨帅.普通高校计算机专业研究生编程能力培养的思考和实践[J].计算机教育,2019(01):52-54.
  [3]王金龙.人工智能编程教育课程区域化实践研究[J].现代职业教育,2021(16):204-205.
  [4]杨其峰.人工智能与编程教育校本课程化研究与实施[J].教学管理与教育研究, 2019(18):98-99.
  [5]王少青.人工智能应用型人才培养课程体系构建[J].计算机时代,2020(07):93-95.
  [6]徐圆圆.“人工智能”专业教学与实验系统的研究与实现[D].北京:北京邮电大学,2019.
其他文献
摘要:本文以作者所在学校初一初二两个年级学生的期末考试成绩为例,详细阐述了如何利用数据分析工具Pandas对数据进行导入、清洗、分析,以及使用第三方绘图库Python-Bokeh对统计结果进行可视化输出的方法,希望它能够在学生成绩统计应用中具有较好的实用性和推广价值。  关键词:Pandas;Bokeh;可视化;成绩统计  中图分类号:G434 文献标识码:A 论文编号:1674-2117(202
根据新课标的要求,计算思维的培养教育实践在我国中小学课程中得到积极开展,于是,衡量学生计算思维能力水平以及判断计算思维培养成效的评价手段变得至关重要。国外对计算思维的研究开展较早,经过多年的发展,针对计算思维评价方面的研究也得到了深入开展,而我国在这方面的研究仍旧比较薄弱。在基于量表的评价方式中,土耳其学者柯尔克玛兹(Korkmaz)等人设计开发的针对大学生计算思维的评价量表在学界获得了较高的认可
期刊
摘要:近几年,编程教育逐渐成为小学信息技术课程的主要内容。编程教育“如何教”成为信息技术教师教学探索的重点内容。根据日常实践经验,作者总结和归纳了小学编程教育的一些有效教学策略,以期能够帮助信息技术教师对小学编程教育教学策略进行进一步的探索与实践。  关键词:小学;编程教育;教学策略  中图分类号:G434 文献标识码:A 论文编号:1674-2117(2021)21-0062-02  随着时代的
摘要:本文主要讲述了在计算机基础课程实践教学中,将混合式教学法与课程教学进行整合与重构,实施以“项目为导向,任务为驱动”的“项目+任务”教学法。作者利用混合式教学平台,通过设计与医学专业相关的项目(或任务),采用上述教学法指导学生“学中做,做中学”,以期能够达到增强学生学习主观能动性的教学目的。  关键词:项目;任务;混合式;基础课程  中图分类号:G434 文献标识码:A 论文编号:1674-2
浙教版高中信息技术教材《数据与计算》,有一个答题卡填图识别算法解析示例,因为贴近生活,学生们都很感兴趣。这个案例可以进一步拓展,如通过文档高拍仪对答题卡数据进行采集,那就能实现一个真实的答题卡识别工具。当然,最好的拓展莫过于自己搭建一个功能更加强大的智能文档高拍仪原型,那样不仅可以识别答题卡,还可以识别文字、二维码之类。  文档高拍仪原型的功能分析  文档高拍仪的基本功能是图像采集,增强功能是光学
期刊
许多人对教师的核心素养都做过论述,但不同的人有不同的说法。来自教学一线的我,总觉得对教师的核心素养要结合实际分开讨论,除了最重要的通识素养以外,不同类型的教师,其核心素养不同,即使相同,其排序也会有异。只有明确了,才能指导各地的域本培训。  优质资源就是跨不过这最后六米  偏远地区的学校,师资匮乏早已是不争的事实。为了解决这个问题,20年前就有人用空中课堂为此探过路。  那时的空中课堂还是稀罕物。
期刊
编者按:语音识别技术在生活中的应用已经非常广泛,如在车载导航、智能家居、日常办公等领域都有涉及,给人们生活带来了很多便利。由于语音交互是一种更便利、更自然、更高效的沟通形式,所以它必定成为未来最主要的人机交互接口之一。那么,你真的了解语音识别技术吗?它的发展历程和技术原理又是怎样的?我们一起来了解。  语音识别技术又称ASR技术(Automatic Speech Recognition),指机器自
期刊
语音识别是一种广泛使用的人工智能技术,借助它可以实现交互对话、搜索新闻、天气查询等功能。使用语音识别技术的语音助手尽管种类很多,但是其工作原理大致相同,都经历了“识别—决策—控制”的过程。目前,使用如掌控板一类的教具已经很容易将此过程在演示实验中实现,即借助掌控板实现语音控制灯的开启和关闭,这样可以帮助学生理解语音识别技术并实现语音控制功能。  在大班教学的分组实验中,语音识别且反馈的过程是很快的
期刊