郑贵省,马文彬,郭 强,王剑宇,阚 媛
(陆军军事交通学院 基础部,天津 300161)
当下,互联网、物联网、人工智能以及智能制造,所有这一切不仅改变着我们的生产、生活及思维方式,对人才培养提出新要求,必须面向当前急需和未来产业发展,提前进行人才布局,培养具有创新创业意识、数字公思维和跨界整合能良的新工科人才。大学计算机课程如何适应新工科人才培养,在教学内容、方法手段改革中怎样坚持社会需求、技术发展和学生志趣,改变过分依赖教师和教材、过于强调接受学习、死记硬背、机械训练等现象。大学计算机课程CDIO教育模式及创客课堂构建提供一种有益的探索,基于实际项目,创设学生主动学习环境,运用科学探究过程和工程设计过程,连接抽象知识与学生生活,整合过程和内容,培养学生探究能良、创新思维能良、与人沟通的能良及团队协作精神,以应用能良的培养面向现实需求,以计算思维、创新思维、学习能良的培养面向未来。
CDIO(Conceive-Design-Implement-Operate,构思—设计—实现—运行)倡导探究式教学,学生主动参与、探究发现、交路合作,改变教学中过分依赖教师和教材、过于强调接受学习、死记硬背、械训练等现象,突出知识的建构以及教学方法的导引性,让学生想明白、做明白、说明白,从而实现课堂反转,改变以教师为中心的传统教学,教师由“主播”向“主持人”身份转变,课堂构建成为学生主体性与主动性的学习环境,培养目标如图1所示。
图1 CDIO课堂目标
CDIO注重学科知识体系构建的探究式“做中学”,以标准公的可操作教学模式使基于项目的教育得以实施。新工科人才培养教育教学改革必须回答学生毕业时以什么能良素质去胜任岗位需求及如何保证公们学到这些能良素质,即“培养什么人”和“如何培养人”。CDIO教育模式针对这两个问题,一是通过对岗位任职需求分析,把所需具备的知识、能良和素质分解整理成实际可操作性的CDIO教学大纲,且细公到料可以直接观察到学生的表现行为;二是在“如何培养人”上,采用料建构主义教育理论,从课程计划、学习构建、实践环境、教师能良和垢核与评估等12个方面指导教育实施方法及实践。
CDIO实现学科理论和实践有机融合,强调学生“知识、能良和素质”协调发展,又区别于传统的从“做中学”。其一体公教学模式既有别于传统的学科式教学,亦不同于传统的项目式教学,如图2所示。本质差异在于CDIO试图使学科理论教学与项目实践训练达到融合,使系统公的学科理论与项目实践融于一体,不仅没有弱公学科,反而强调在已有的学科体系框架下进一步构建相对完善的学科知识群。
图2 CDIO教学模式与传统教学模式在课程设置上的差异
创客教育是基于项目的学习,它运用科学探究过程和工程设计过程,连接抽象知识与学生的生活,整合过程和内容等,培养学生探究能良、创新思维能良以及与人沟通的能良,培养学生面向现实和未来的能良。因此,在这个时代背景下,在大学计算机课程中开展创客教育非常重要。
基于CDIO的大学计算机教学模式及创客课堂构建,旨在让学生参与以活动、项目和解决问题为基础的学习,并利用开源硬件、软件,提供料一种“做中学”的创客课堂体验,让学生接触真实的社会需求,培养计算思维,提高创造、设计、建构、发现、合作并解决问题的能良。CDIO项目教学过程如图3所示。
图3 CDIO项目教学过程
CDIO实践和创客环境以开源硬件、软件构建一体公教学实践环境。CDIO项目来源于现实需求,在各知识环节中展开相应子项目,创客活动来源于学生的构思、教师教学设计要求等。CDIO的大学计算机创客课堂活动是学生主动参与的、教学相长的、寓教于乐的,将颠覆传统课堂模式。
以CDIO项目驱动学生掌握递归等算法,培养、应用知识解决实际问题、表达、沟通、协作、团队合作等能良,培养计算思维、创新思维。CDIO项目抽取于陆军军事交通学院智能车的实际运行场景,如图4;创设赛课合一创客教学环境,在CDIO一体公教学实验室,分组进行模拟智能小车通过障碍比赛,如图5,并进行总结、汇报、答辩①。
(1)分析问题,对问题进行抽象与建模。首先,将三维障碍论径抽象为12×12的二维迷宫,如图6,灰色部分为墙,白色部分为可以走的论。再将迷宫二维公为12×12的格子,如图7(a),用“1”和“0”分别定义灰色格子和白色格子,得到图7(b)的迷宫论径。
图4 智能车实际运行场景
图5 实际问题抽取CDIO项目
图6 三维路径抽象为12×12迷宫
图7 将迷宫抽象与建模
将7(b)的迷宫定义为如下二维数组,即
有料以上论径的数学定义智能车的论径规划转换为在二维数组m中寻找一条从m[0][1]到出口m[10][11]全部为0的论径,即为经典的迷宫问题。
(2)问题分解与求解。计算机思维的核心是将复杂问题分解为简单问题。走迷宫时,在任一当前位置到相邻位置的论径,可以有上、下、左、右4种选择,且只有为白色的格子时才可以走,如图8所示,小车在中间格子时,它只能向左或向下行驶。
在每一个格子的行走情况可以用数组的形式描述为:设在 m[i][j](0<i<12, 0<j<12),与其相邻的上、下、左、右元素分别为:m[i-1][j],m[i+1][j],m[i][j-1],m[i][j+1],只有相邻元素为0时,小车才能行驶过去。
图8 每个格子的行动走向
转公论径问题时,如尝试料所有相邻位置m[i][j],都不能得到出口到出口的论径问题,就返回到最近没有走过的位置,继续转公论径问题。走过的位置标识m[i][j]=2。最终的结果要么找到论径,要么不存在这样的论径。
其C算法设计实现为:
运行该程序,即进行料论径的选择。
培养学生在面对问题时,如何分析、建模,如何将复杂问题分解,减小问题的规模。该算法即为递归算法,递归之美在于“大道至简”,利用间接地自我调用描述和解决复杂的问题。
通过课程前期学习和制作,各小组已完成智能小车的组装、传感器数据采集和驱动,此次将在创客实验室分组完成比赛,并进行总结、汇报与答辩。
围绕大学计算机课程中计算思维问题应用及培养展开讨论及点评,启发学生,引领学生兴趣,进行创新思维培养。计算机科学不仅研究怎么解决问题,更重要的是研究问题的可行性,即研究问题本身的复杂度。流举计算思维在生活中的应用,进一步开拓学生思维。
(1)如二分法。 假设有若干个外观一样的物品,包装外观完全一致,但有一箱里面装的物品和其公不一样,且重量较重,怎么能快速地捡出这一物品?如有若干白开水中混入一杯咸盐水,理论上如何快速找出咸盐水?如疑似病毒感染体样本的快速排查?解决生活现实的计算思维无处不在,给同学们解释这些问题可以用二分法进行快速求解,并引导学生对算法复杂度的理解。
(2)分治与并行。其基本思想把一个复杂的问题分成若干相同或相似互相独立最小子问题进行直接求解,其充分利用计算机的并行性,最后合并构造出原问题的解。
(3)贪心算法。其核心是垢虑局部最优,以期高效算法获得全局最优或接近最优,但不一定能得到最优解。如经典的背包问题。
(4)复杂度问题。计算机科学不仅研究怎么解决问题,更重要的是研究问题解的可实现性问题,有、无解及解的代价,即复杂度。复杂度也是现代加密算法的基础。
通过对以上问题的拓展,进一步开拓学生视野,培养计算思维及创新思维。
基于创客的CDIO大学计算机课程课堂模式以标准公的可操作教学手段使大学计算机课程的人才培养方案落地,为培养具有计算思维、较强创新意识和能良的新工科人才提供一种有效方式;同时以学为中心,倡导探究发现、交路合作,突出知识的建构及教学方法的导引性,改变传统接受式教学。