查看原文
其他

最新分享丨国家级教学名师蒋宗礼:提高课程教学站位,培养一流本科毕业生

蒋宗礼 高校教学创新100人 2023-12-16


全文约5000字,阅读需7分钟


分享丨蒋宗礼

整理丨高校教学创新100人

来源丨CECC大会


大家都知道,本科教学的主战场就是课堂教学,包括理论课程教学和实践课程教学。今天我就以“提高课程教学站位,培养一流本科毕业生”为主题,从当前形势、提升站位、关系清晰、目标适宜、教学落实、数据有效六个方面谈谈看法。
 
01
当前形势
 

 
目前我们国家的计算机类专业总共有6个基础专业和12个特设专业,总量已经达到了4203个。在这其中,计算机科学与技术专业数量排第一,超过了1000个;排第二的是这几年发展特别快的数据科学与大数据技术专业,达到了715个;原来一直排第二的软件工程专业,目前有652个,排名第三;物联网工程专业排第四;网络工程专业排第五。
 
实际上近四年来,我们国家在计算机类相关专业及智能相关专业的建设上,都有比较大的发展。这四年与智能相关的专业就增加了将近1300个,而且人工智能相应的技术还在和其他专业相结合。大数据相关专业过去四年则增加了600多个。
 
这表明,我们国家的建设发展,对计算机类及智能相关专业的人才需求是非常大的。国际上也一样。比如美国的MIT,入学的时候,计算机类的招生大概占到全体学生的20%,而到了毕业的时候居然达到了45%。这就是社会发展为人才需求带来的新的变化。

 
国家统计局去年11月24号发布的《中国统计年鉴-2021》,表明从2016 年到2020 年,信息类专业的学生的平均工资是最高的,从12万涨到了将近18万,这是城镇非私营单位的数据,体现了社会对IT人才的需求。


再看另一个数据,这是《麦可思--中国2011-2020届大学毕业生培养质量跟踪评价》,展示了毕业半年后月收入最高的专业。2011年,信息安全和软件工程入围名单,2012 年,软件工程入围,2013 年,软件工程、网络工程、计算机科学与技术入围,到了2014 年又有增加。大家可以特别关注一下,信息安全、软件工程、网络工程这三个专业从2016年开始就一直位居前三。
 
而且,计算机类专业除了工资高之外,失业量也小,就业率、就业满意度也非常高,属于需求增长型的专业。

 
在新的时期,社会对我们有新的要求,即质量和水平的要求,所以国家在大力推进一流专业的建设。目前我们已经选了两批一流专业,2019年选了235个;2020年选了 233 个;按原计划的 577 个,2021年应该还有 109 个,但实际上,国家会大力支持计算机专业的发展,因此我认为肯定会比原计划有更大幅度的增加。

 
建设高等教育强国,要提高高等教育质量和水平,让学生有能力去服务国家的建设。我们不仅需要受过高等教育的人,更需要德智体美劳全面发展的人才。我们的基本培养目标,就是要培养社会主义的建设者和接班人。
 
如何才能提高质量、提高水平?按照国家的说法,就是要走内涵式发展道路。所以我们一要加强对学生的引导,厚植学生正确的三观;二要强化学生服务社会、建设国家的能力;三要严格要求,督促学生认真读书,培养他们不怕困难、勇于攀登、勇于担当的精神。

 
关于什么是高质量、高水平,我们已经不能像原来那样凭感觉去判定了,现在要讲究“标准”。《计算机类专业教学质量国家标准》已经发布,可以看到,它更强调对学生能力的培养。

 
另外还有国际等效的中国工程教育认证标准,也全面地给出了学生毕业时应该达到的要求。这些要求非常明确,都是关于学生能干什么。这也是本科教育最基本的定位。
 
其中,工程知识、问题分析、设计/开发解决方案等都是技术性要求;下边提到的工程与社会、环境和可持续发展、就业规范等是工程开发全周期中要求的内容,也体现了教育的全面性要求。
 
本科教育要建立一流专业,培养一流学生,首先要树立标准意识,强化质量意识,不能低于国家标准,也不能低于国际等效标准;第二要落实新理念,尤其是面向学生能力培养的理念(SC、OBE、CQI);第三要瞄准“解决复杂工程问题”能力的培养;第四要全面体现未来工程师在“全工程周期”中的要求。
 
既然工程教育人才培养对能力的定位是“解决复杂工程问题”,那每一位老师必须深入理解什么叫“复杂工程问题”,以下这七条,每位老师都应该烂熟于心,把它们落实在自己的课程教学里。
 

 
因此,一要强化学生的科学意识,强调科学精神和科学的指引,学生一定要是基于原理去解决问题,而不是简单地动手。我曾经说过,本科生动手能力的最关键的体现,是在动脑下的动手。
 
二要培养学生综合运用知识的能力。不能学Java 就只会写 Java 程序,学Python 就只会写 Python 程序。我们要解决的问题是创造性的,而且工程是包含数学、自然科学和工程知识、技术和技能整体的、有目的性的应用。这句话说起来好说,但是很多专业理解不到位,包括在工程教育专业认证这一环节,我发现有些专业在分解毕业要求的时候,往往没有牢记工程的定义。
 
三要强调设计能力。尤其是基于原理、面向实际需要的系统设计能力。
 
既然讲到系统设计能力,就不能不提系统能力。
 
按照我的理解,系统能力实际上是解决复杂工程问题能力的一种体现,它的核心就是要让学生建立系统观:一是以系统的视角看问题,全局掌控系统的能力;二是追求问题的系统求解,完备工程实现的能力;三是子问题求解面向系统,胸怀全局设计的能力。
 
系统能力体现在认知、设计、开发、应用等层面。除此之外,还可以通过理论指导实践,体验怎样构建一个系统。有的学校以基本系统的构建为载体来完成对学生系统能力的培养,有的学校以不同应用系统的构建为载体。但总体上,一定是强调理论与实践相结合,在理论指导下开展实践,落实到各门课程中。
 
关于计算机类人才的四大专业能力,我后来细化为计算思维能力、算法能力、程序能力、系统能力,我们在实践中还应该进一步去丰富它。总体上讲,人才培养一定要注意满足基本要求,倡导特色发展。
 
02
提升站位
 


课程是培养学生的的主战场,每位老师一定要摆脱课程的束缚,站在整个人才培养的高度上考虑课程的价值。
 
首先要关注专业的培养目标。合理的培养目标包括四个方面:学校定位、专业资源条件、社会需求、利益相关者的期望。
 


这是计算机学科的问题空间,从理论到应用,从基础系统到应用系统。任何一个专业培养的人才都必须有自己的特色,这个特色体现在问题求解上就是老师要找出学生毕业以后擅长求解的问题子空间,然后确定毕业要求。
 
为了实现毕业要求,就要设置课程体系,课程的价值也在于具体落实相应的毕业要求。
 
对于落实的效果,要进行评价,按照OBE的理念,就是学生达到了什么程度。评价后,对要改进的地方进行改进。
 
按照这个总要求,每个专业的培养方案应该明晰,每门课程支持的是哪个毕业要求。
 



当然,不一定所有课程都参与评价。我们要找最具代表性的教学活动来参与毕业要求的达成评价。这时我们就把毕业要求分成一些指标点,来表达各项毕业要求的内涵。每个指标点的评价,会按照一定的权重分给三到五门最具代表性的课。
 
所以评价矩阵和支撑矩阵的意义实际上不是完全一样的,但不管怎么说,这告诉我们,一定要站在人才培养的高度上开展教学活动,要摆脱三个为本——“教师为本、教材为本、课程为本”。要真正围绕着支撑毕业要求的达成设计教学目标,选择和组织教学内容,瞄准各个教学目标的达成开展教学活动,科学评价每个教学目标的达成情况。
 
03
关系清晰
 
为什么要评价每个教学目标的达成情况呢?我们刚才看到,不同的教学目标未来会对应不同的毕业要求的指标点,所以我们要评价各个教学目标的达成情况,以提高教学活动的效率。为此,我们必须给出课程教学目标和毕业要求指标点之间的清晰的关系。
 
在此我强调一下,课程中的目标是“教学目标”,有些老师把它误解成或者误叫成了“培养目标”。培养目标一般指的是专业的培养目标,人才的培养目标,它指的是学生毕业五年左右后到底能干什么。

 
所谓关系清晰,就是我们要面向支撑毕业要求的达成来设计课程目标,体现培养方案设计中赋予课程的任务。一般来讲,课程教学大纲里给的课程目标应该是课程的主要目标。主要目标一定是瞄准指标点,具体体现相应指标点的含义,而且主要目标要明确具体,利于本课程教学实现和评价。把毕业要求分解成指标点,目的就是让要求可落实,所以指标点要可衡量,可评价。当然,指标点必须覆盖毕业要求。
 
然后,我们把指标点的落实任务分配给适当的课。课程目标在设计时就是对准指标点的,它与毕业要求指标点应该呈现多对一的关系,我们反对它们呈现一对多或多对多的关系,它们更不应该是双向全对应的关系。往往应该是指标点稍微大一点,课程目标是它的一个子集。
 

 
我们有时看似做得更科学一点,按一门课的多个目标的权重去支持,这实际上是在设计课程目标的时候,没有很好地去考虑对指标点的支撑,是不恰当的。
 
04
目标适宜
 
我们要有合适的目标去支撑指标点。什么是合适的目标?我们要求课程目标是能实现、可衡量的,对指标点要直接体现,而且描述要准确。
 
第一,能实现和可衡量。我们发现,很多老师不会写,就把指标点抄来,这就没法进行评价,因为它脱离了课程的内容,所以恰当的课程目标需要是本课程的教学目标,一般不宜照抄指标点。而且,课程目标必须与课程教学内容密切相关,不能超越课程教学内容。另外,课程目标通过课程教学要能实现,在课内可以完成评价。
 
第二,确实直接体现相应指标点的内涵。既不要“似乎相关”,更不要“八竿子打不着”。 
 
第三,要描述准确。做到语句流畅,言之有物,明确具体,不要不知所云。
 
不合适的课程目标有以下几种情况:
 
第一,传统的课程目标不符合要求
 


这是当年我的课《编译原理》的课程目标。在我们国家,编译课开得并不多,把它当成专业课比较困难,所以当时我把课程的总目标设计成“掌握终生受用的基本思想和方法,在系统级上再认识程序和算法,提升计算机问题求解水平,增强系统能力,体验实现自动计算的乐趣”,来支持我们专业的毕业要求的达成。
 
然后我把它拆成具体目标。
 

 
但是这种目标与指标点的对应关系就非常复杂。虽然它体现了现代教育的能力导向要求,而且也是在落实编译课程里的理论、技术,这是计算机类专业人才在职业生涯中会反复用到的东西。但是这种课程目标的描述和毕业要求内涵之间的关系不清晰,所以也不合适。
 
第二,未能体现课程目标
 


上面是真实的课程目标。但这是哪个专业的哪门课的课程目标?我们看不出来。
 
实际上它是网络工程的程序设计课程。
 


这就是没有体现课程目标的课程目标。它只是简单套用了指标点的描述,也没办法实现。
 
除了以上两种,其他形式的不符合要求的课程目标还有:生搬硬套指标点的课程目标——无法实现、无法衡量;不符合课程教学基本追求的课程目标;对指标点体现不到位的课程目标;描述角度不对的课程目标。在此就不一一解释了。
 


有了目标,未来要判定这个目标的达成情况,才能决定它支撑的毕业要求的指标点的达成情况。所以我们一般要对准课程目标设置评价标准,这些也需要在教学大纲中体现。有一些评分没有对准它的课程目标,关联模糊,这是有问题的。

 
所以我们原来的教学大纲有很多需要改善的地方,尤其是在培养一流本科生的时候,更加不适用。修订不仅仅是改改文字,要真的理解这里面的东西,找准相应的需求。
 
05
教学落实

 
完整的教学内容不仅仅有知识。原来大纲里描述的都是知识,实际上我们是要以知识为载体,向学生传授专业里解决问题的一些思想和方法。
 
而且对不同类型的人才,我们讲内容的时候体现的东西是不一样的。比如,学科形态有三个基本过程,抽象、理论、设计,面对不同类型的人才,对这三个形态的强调是不一样的。同样一门课,把其他老师讲的直接拿过来用是不行的,不能有效地利用学生有限的在校时间。
 
我们强调,不同学科形态,每个专业一定要有自己的老师,自己的队伍。在一流专业建设上,师资队伍的建设是非常重要的一个方面。
 
给大家举个例子,为什么讲同样的内容,面对不同的对象应该强调不同的东西。
 


RL在并、乘积、闭包运算下是封闭的,和RL在补运算下是封闭的,这是两个定理。按照常规的讲法,证明两个定理成立就可以了。但这种讲解对培养工科人才并不完全合适。
 
比如,我们强调学生的设计能力,那就应该强调设计形态。
 
将其改一下,我们可以这样组织定理:RL在并(∪)、交(∩)、补(C)运算下是封闭的。如下图进行讲解:
 



先让学生去设计,设计完之后再准确地描述,最后给出相应的构造的正确性的证明,培养学生良好的习惯。
 
06
数据有效
 


既然定了目标,最后就要测试目标的达成情况。出题的时候,就要想清楚怎样测量学生达没达成这个目标。
 
由于毕业要求里讲的都是学生能够干什么,所以我们的课程目标也应该是让学生具体能够干什么,考题也要去测试学生这方面的能力,像简单的客观性的题就很难测量学生能干什么。
 
所以要合适的题目测量相应的目标,有的目标可能不适用于卷面考试,那可以用别的方法去测量。出了题哪个目标都想测,肯定是不合适的。老师一定要有这种意识,测量学生学得怎么样、给学生的评分,一定要是有意义的。
 
设计考题的时候要考虑,学生是不是能够解决复杂工程问题。


本文整理自蒋宗礼在第三届中国计算机教育大会上的演讲《提高课程教学站位,培养一流本科毕业生》。

蒋宗礼,国家级教学名师,历任教育部高等学校计算机类专业教学指导委员会副主任、全国高校计算机教育研究会正、副理事长,中国计算机学会教育专委、教育工委正、副主任,中国工程教育认证协会结论审议委员会、学术委员会、计算机类专业认证委员会委员。


关于我们:

“高校教学创新100人”由产学研媒等多方人士共同发起,聚焦高校教学创新与高校老师成长,致力于提供高校领域前沿、向上的内容


联系我们:

王慧  主笔&内容老师  微信号:HofMarchbh

张沉浮  主编&总负责人  微信号:chenfu3721


*我们建了一个读者交流群,群内会经常发布高等教育相关动态与讨论高校教学创新,有想加入的朋友可以添加微信:HofMarchbh,备注学校+职务,我们会拉您入群。

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存