计算思维导引新生研讨课的实施与认识

2016-12-19 12:37鲁强
计算机教育 2016年10期
关键词:计算思维

鲁强

摘要:大学新生通常不能对计算机学科从整体上进行认识,难以建立起各个理论之间的关联。文章针对以上问题,对计算思维导引课程中的相关案例进行讨论,阐述如何实施课程方案,具体介绍授课内容及方式,说明课程效果并提出改进建议。

关键词:计算思维;新生研讨课;计算机导论

0引言

计算思维、数学思维和实验思维是科学思维体系下的3种认识事物发现规律的方法。计算思维的重要性引起广大教育工作者的重视,国内已有相关学校开设了相关计算机基础课程,或者以计算思维为指导思想的课程群。对于新生来讲,一味地灌输“计算思维”相关内容,可能会引起其迷惑,这是因为思维以感知为基础又超越感知的界限来探索与发现事物的内部本质联系和规律性。思维是认识过程的高级阶段,新生对于什么是计算机科学还没有感知和认识,也就无从体会“计算思维”了。

计算思维导引新生研讨课的开设并不是替代已有计算机基础课程,而是作为已有课程的必要补充。通过案例来培养学生对计算机科学的感知,帮助学生理解计算机学科体系及课程结构。授课过程中,强调案例应用与课程理论的映射,强调各理论的“输入输出”环境,强调专业课程之间的关联。通过课程的实施来培养学生学习计算机科学的兴趣,帮助学生初步建立起计算机学科知识框架,以助于其更好地学习计算机基础课程和专业课程。

1课程目标及意义

计算机教学大纲中有计算机导论和大学计算机文化基础两门课程,分别对计算机和非计算机专业新生进行计算机相关专业知识的入门介绍和讲解。由于这两门课程均是从计算机专业知识角度进行内容覆盖式教学,而计算机科学里的思维方式与新生以前熟悉的数学抽象思维和物理实验思维方式有很大不同,从而导致大多数学生对此门课的内容是“知其然,不知其所以然”,学生不能理解和掌握计算机科学研究与工程实践中的基本问题以及后续专业课程在计算机科学体系中的地位。

计算思维导引新生研讨课的开设是为了突破现有计算机导论性质课程的困境,通过研讨课形式让学生能够理解计算机学科的发展脉络,了解其中的关键问题以及课程体系框架,初步具有查阅、分析和总结文献的能力。

2课程实施

2.1课程定位

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。作为新生研讨课,让学生能够完全具有上面定义的计算思维能力是不现实的,原因在于:思维能力是长期积累的过程,不可能通过短期训练来完成;计算思维涵盖的知识体系是整个计算机学科,不是一两门计算机专业课能够解决的。

基于上述分析,此课程不会也不应该代替原有的计算机导论性质的课程,而是应该与这些专业课程相互之间进行配合,使得学生能够很好地理解计算机科学中的一些基本概念和核心问题,以及掌握解决问题的一般思考方式。因此,此课程定位在学生知识和能力可接受的基础上,通过以点概面的案例教学方式,选择特定问题和内容来逐步加深学生对计算机科学核心问题的认识;通过案例中引入相关理论课程信息,让学生了解教学大纲中每门课程的目标及联系;通过引导学生准备材料、总结和分析问题,让学生逐步俱备解决具体计算机问题的能力;通过在研讨中引导学生主动思考来激发学生学习计算机科学的热情。

2.2课程内容

本课程内容要求既相对独立又可作为计算机基础课程中内容的补充,要从知其所以然的角度来对计算机相关问题进行阐述。内容围绕着计算机科学中的算法理论和体系结构两个主线来展开,以当前研究领域中的热点问题为切入点,通过通俗易懂的讲解,使得学生能够了解驱动当前IT发展背后的计算机原理性知识和相关技术,并通过将这些知识和技术与计算机相关专业课程相对应,使学生能够形成对相关课程的初步印象。

1)万物皆信息——信息与编码主题讨论。

此部分内容以《信息简史》中的案例为依托材料,从中选取语言文字和通信方式演变等章节的内容作为案例,与学生进行讲解和讨论。案例能够反映出大脑思维到语言的映射、语言到文字的映射、文字到语义的映射、文字到编码的映射,使得学生一步一步地分析、总结并发现其中的规律,进而帮助学生初步梳理出信息与编码的关系。除此之外,将这部分知识与计算机导论中的编码部分内容(二进制、八进制、十六进制、哈夫曼编码等)相关联,与数字逻辑电路的表示相关联,与编程语言中的符号相关联,帮助学生形成编程语言只是大脑中逻辑信息到计算机内映射的初步印象,使其在较高层次上认识计算机语言。最后,通过讲解密码、香农与信息论的实例来加深学生的编码认识,对其中一些理论的指导意义和应用价值有所了解。

2)计算灵魂——数学与算法主题讨论。

此部分内容从数学发展历史及算法发展方面进行讲解,强调数学在算法中的作用,以实际简单的算法实例来讲解如何完成对算法的数学建模、如何推导数学模型来完成算法的效率分析。通过这些案例将大学阶段所学的数学知识与算法分析相映射,帮助学生建立正确的数学课程学习目标;将这些案例与数据表示及算法理论分析相映射,引出算法复杂度、可计算性等相关概念并说明其意义。

3)计算理论与实现基石——图灵机、可计算性与体系结构主题讨论。

此部分内容将从图灵、冯诺依曼等人的轶事说起,对图灵机、冯诺依曼结构进行介绍,引出状态机及可计算性等相关理论。通过图灵机案例实验,让学生理解其实现计算的过程;从中引出程序执行的状态及结构,进而说明冯诺依曼体系结构。通过此方面内容的案例引导,学生能够将算法与计算理论联系起来,将计算理论与计算机体系结构联系起来,从宏观方面初步建立起计算机科学框架的知识体系。除此之外,还简单介绍目前最新的生物分子计算、量子计算等最新计算理论及相应实践系统,从中引导让学生对比和思考图灵机、冯诺依曼结构下的计算理论与生物分子计算、量子计算之间的区别,激发学生对未来计算理论及实现结构的兴趣。

4)人类智能之梦——人脑与人工智能主题讨论。

此部分内容从计算机是否能够替代人脑的辩论话题切入,介绍计算机模拟人脑不同思考方式下的智能算法。通过介绍以下不同类型的智能算法(基于知识表示和推理的算法、基于连接的神经网络算法、基于数据的统计学习算法、基于仿生学的演化算法),让学生能够了解基础理论与人工智能的对应关系:知识表示和推理是对人类心理过程的模拟,其知识与逻辑学之间相关;神经网络是对通过解剖学认识的大脑神经元之间的连接模拟;统计学习是以数理统计理论为基础通过数据来得到预制模型的参数计算过程;演化算法是对群体生物的仿生模拟。通过这些内容的事例展示和讨论,学生能够体会数学建模和智能算法的魅力,从而增强不同领域知识学习的兴趣。

5)数据的力量——数据科学主题讨论。

此部分内容主要介绍目前兴起的数据科学中的相关理论和方法,通过对Google、微软、百度、阿里巴巴等公司的实际案例,向学生传递这样的信息——数据就是力量,对其使用的好坏将关系一个公司的成败。通过讨论语言翻译、搜索引擎、广告推荐、舆情分析等系统中的实现原理与技术分析,来反映数据科学涉及的数据库、概率与数理统计、数据挖掘、机器学习、数据可视化等内容。除此之外,还在案例介绍过程中引人大数据、云计算等相关概念及实例,以拓宽学生的知识面。

6)万物皆互联——物联网主题讨论。

此部分从生物之间的交流话题切入,通过引导学生讨论各自生物之间的交流、人类文明的发展与通信的关系、计算机互联网等相关话题,传达“万物皆有互联的潜质,互联能够促进万物的发展”这样的理念,进而对当前的物联网技术进行介绍,将计算机网络、传感器网络、操作系统与嵌入式系统和CPS(Cyber-Physical Systems)等相关知识点内容引入物联网讨论中。通过对德国工业4.0和中国2025智能制造等相关计划介绍,学生能认识到计算机学科的重要性,增强建立工业强国的使命感。

7)虚拟幻境——仿真与交互主题讨论。

此部分从现代电影场景中人工合成和制作的画面进行讨论,逐步引入计算机图形学、人机仿真技术、人机交互技术相关概念和理论。通过对电脑游戏、虚拟现实、人机交互和人脑交互等具体案例的讲解与讨论,为学生展示计算机科学强大的魅力。

8)计算机学科体系。

此部分内容为上述讨论总结,帮助学生重新梳理计算机学科的知识脉络。在讲解和梳理过程中,根据本科培养计划,重点说明主要课程各自的课程目的以及它们之间的关系,其中,特别强调计算机学科与数学、物理等学科的关系,说明本专业与这些知识内容的“接口”课程。

从上面的内容介绍可以看出,每个主题的讨论相对比较独立,适合具有相关领域特长的教师结合自己的科研实践来进行讲解(具体讨论主题、内容、目标及相关课程如表1所示)。虽然每个教师的专业知识背景不同,但是均围绕此门课程的目标来设计教学方案。

此门课程重点在于通过具体案例讨论,介绍计算机科学理论和相关技术的“输入与输出”。为学生全面了解计算机学科及相关课程体系提供支撑材料,以增加其学习计算机专业的兴趣,为其后续课程的选择和学习提供指导。

2.3授课方式

既然此门课程为新生研讨课,那么授课形式就应该以讨论为主,小班形式授课能保证学生最大程度地参与讨论。授课与讨论相结合,授课时间占全部课时的2/3左右,讨论时间占1/3左右。在课前给学生布置讨论主题以及需要阅读的相关参考资料;在课上,由教师来引导学生主动完成对相关题目的讨论,并从中传授知识。但是,在实际操作过程中,由于新生不熟悉文献的搜索、分析和总结等方法,以及部分文献理论性过强等原因,不可能每堂课都以翻转课堂的形式进行。目前,只能将讨论穿插在授课过程中进行。

为培养学生阅读文献、总结文献能力,除每次课布置的阅读文献外,还要求学生在课程结束时撰写并提交一份计算机领域内指定题目的研究进展综述,以锻炼学生提炼和总结材料能力。这部分内容将计人课程最终成绩,最终成绩里还包括主题的讨论成绩。

目前,此门课程根据讨论主题涉及的知识来分配相应研究特长的教师授课。授课过程中,要注意每个主题之间内容的衔接性,有些内容需要在不同讨论主题授课中,反复对学生进行引导和说明,以加深其对专业课程知识内容重要性的认识。

3课程效果和持续改进

目前,这门课程已经开设2年共4批次讲解实践。通过直接交流和间接的意见反馈,学生在学习完本门课程后基本能够理解计算机专业所从事的工作以及相应的课程体系;能够对前沿的计算机研究问题有所了解;能够帮助他们理解计算机专业课程的设置。从这些反馈内容来看,授课基本达到了预期目标。

但是,也出现了下述问题:①课程内容由不同教师完成,每个教师教学风格不一样,对课程要求尺度标准不一样,从而导致学生有时会无所适从;②授课形式不能完全调动学生学习的积极性;③文献综述要求过于严格,学生很难完全自己完成;④课时紧张,有些感兴趣的话题并没有给予充足的时间讨论;⑤部分教师在案例讲解过程中专业术语太多,虽然“高大上”,但很难理解其中的含义和内容;⑥由于部分讨论题目难度“太大”,课下无法准备,也就无法参与讨论。

针对这些意见,我们根据课程目标,持续地对课程进行改进:①教学团队成员进行充分交流与讨论,从总体上确定每个主题的“输入与输出”,并对各个主题的学习要求统一布置;②通过课上算法游戏、真实系统演示等手段引起学生的兴趣;③对部分内容进行删减,以保证主要讨论题目的时间充分性;④针对文献综述的要求及格式说明,要在第一次课就布置下去,并且要在给定的材料中增加一些领域的综述文章让学生阅读;⑤多与学生进行沟通及交流,通过增进了解和理解等“软手段”来辅助相应题目讨论的正常开展。

(编辑:郭田珍)

猜你喜欢
计算思维
高中信息技术课堂中计算思维能力培养问题的探讨
公安专业学生计算思维能力培养对策初探
基于计算思维的多媒体技术及应用课程教学模式研究
信管专业计算机科学概论课程的教学改革实践
基于计算思维的软件类研究生高级算法课程教学研究
基于计算思维程序设计的军事案例研究
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养