• 优质范文
  • 工作总结
  • 工作计划
  • 作文大全
  • 心得体会
  • 述职报告
  • 实习报告
  • 写作方案
  • 教案反思
  • 演讲稿
  • 发言稿
  • 读书笔记
  • 精美散文
  • 读观后感
  • 当前位置: 博通范文网 > 优质范文 > 正文

    基于计算思维的计算机教学研究

    时间:2022-10-28 来源:博通范文网 本文已影响 博通范文网手机站

    摘要:“计算思维”概念的提出在全球范围内引起广泛关注,如何培养学生的计算思维和创新能力是大家普遍考虑的问题。文章针对计算机科学与技术专业的理论课程设置和实验教学提出一些思考和建议。

    关键词:计算思维;计算机教学;课程整合

    0 引言

    “计算思维”概念的提出在全球范围内引发了热潮和争论,它直接促成了美国国家科学基金会(NSF)重大基金资助计划(CDI)的产生;卡内基·梅隆大学组织了一系列计算思维的专题讨论;美国国家计算机科学技术教师协会(CSTA)发布了“计算思维:一个所有课堂问题解决的工具”报告并得到了微软公司的支持;英国计算机学会(BCS)也组织开展了针对计算思维的研讨,并提出欧洲行动纲领。

    在中国,中科院自动化所王飞跃教授、中科院计算所李国杰院士、中国科技大学陈国良院士、桂林电子科技大学董荣胜教授、国防科技大学朱亚宗教授等多位专家学者也在计算思维方面作出了很多有益的探索。

    新形势下,如何利用计算思维更好地优化和调整教学思路是我们亟须考虑的问题。

    1 什么是计算思维

    2006年3月,卡内基·梅隆大学周以真教授在Communications D厂the ACM杂志上发表并定义了计算思维(computational thinking)。她认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维的本质是抽象和自动化。如同所有人都具备“读、写、算”能力一样,计算思维是每个人都必须具备的思维能力,而不仅仅属于计算机科学家。

    1972年的图灵奖得主EdsgerWDOkstra说:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”计算机的出现催生了智能化的思维,周教授更是把计算机从工具到思维的发展提升到“一种普遍的认识和一类普适的技能”。在一定程度上,这也意味着计算机科学从前沿高端到基础普及的转型。

    其实,在我们的日常教学中,也隐约出现了“计算思维”的影子,只是没有达到周教授所描述的高度和广度。

    2 基于计算思维的计算机教学研究

    2.1 计算思维能力的培养

    物理学家劳厄说:“重要的不是获得知识,而是发展思维能力。”

    要培养学生的计算思维能力,首先是加强学生自学能力的培养。进入大学后,学生面对一日千里的计算机科学,依然采用中学时代靠老师教的方法或心态是不合时宜的。所谓“师傅领进门,修行靠个人”,课堂所学只是构建整个专业框架的基本原理和技术,大量新技术、新方法和新应用需要自己主动探索发现,从而实现自己知识架构的积累和丰富。尤其是当前网络资讯如此发达,信息传递如此便捷,各种资源垂手可及,像诸葛孔明那样“足不出户,便知天下大事”完全可以做到。

    其次,要加强质疑能力。李政道说:“培养人才最重要的是培养创造能力。”有质疑,才能有创新。教学中,我们向学生强调要“保持一种健康的怀疑态度”,不要迷信或拘泥于教材和教师所提供的解决方案。教师要有意识地鼓励学生“开口说,动脑想”,大胆地提出不同的见解,改变过去那种“教师主讲、学生主听”的“填鸭式”教学模式。

    第三,破除“狭义工具论”的思想。计算思维是培养学生建立起利用计算机技术解决问题的思路,并理解问题的可求解性。仅仅把计算机专业等同于一个简单的“编程”专业,把计算机等同于单纯的高级工具,忽略了培养学生提出和解决问题的能力,就偏离了计算思维的初衷,陷入狭义工具论的泥沼。

    2.2 课程内容的整合

    2.2.1 关注课程间内容的衔接

    唯物辩证法提出“事物是普遍联系的”。我们认为,孤立地讨论或建设某一门课程是片面的。在整个专业的拓扑结构中,每门课程都有其相对固定的“坐标”和先导、后继联系。忽略了这些联系,课程建设就可能变成“无源之水,无本之术”。

    例如,在数据结构和其先导课程c语言程序设计中,往往数据结构需要的相关知识点在c语言的教学中没有得到很好的强化,从而给数据结构的“教”与“学”带来很多“意料之外”的困惑,这在数据结构的实验教学中表现得尤为突出。在数据结构和离散数学课程中都会涉及“树”“图”的讲解,但经常有没有明确该部分内容在两门课程中的不同侧重点的情况,导致内容重复、资源浪费。同样的问题也出现在面向对象程序设计和JAVA程序设计课程中。另外,在学习了c程序设计后,其后续的程序设计类课程中可将重点放在数据结构和算法的分析,放在问题的抽象和解决上,继续纠缠于语法细节的讨论则有“舍本逐末”的嫌疑。此外,程序设计类课程与数据库原理和软件工程的衔接,以及计算机组成原理等偏硬类课程的衔接等也经常有着同样的问题。

    2.2.2 保持课程内容的“先进性”

    最新的研究成果需要及时融入到教学中,引导学生去关注该方向的进展。教材的使用有其相对固定的生命周期,而学科的发展也在不断进行。另外,教师在授课中不能拘泥于考试这个“指挥棒”。2008年开始,计算机专业考研实行全国统考,考试科目和考试内容“一刀切”。在这样的背景下,有的老师开始选择性授课,和考研内容相关的重点讲,无关的就简略讲或直接“束之高阁”,更遑论前沿或前瞻性的内容了。

    以操作系统课程为例。现在多核处理器早已大行其道,但在我们的教材中却鲜有提及,授课内容也仍然以单核为背景展开。在实际授课中,由于学时所限,老师往往不能展开相关内容的讲述,但至少应该明确地告知学生自学这部分内容,或增加相关论文阅读环节或尝试开设选修课及开放性实验,供学有余力的学生扩展知识面。当然,教师作为“授业师傅”也要不断学习和跟踪,以避免教学中出现“坐井观天”的窘况。

    2.2.3 理论联系实际

    单纯的讲解理论内容有可能“曲高和寡”,学生不知其有何用处而学得无趣,空留下老师“纸上谈兵”的印象,最终导致整个课程教学的失败。我们应该将授课内容结合生活实际,使学生便于理解。例如,一个小学生早上去上学,会在背包里放人一天学习生活所需要的物品,这就涉及预取和缓存;在超市购物付款时,我们选择哪一个队列,就是多服务器性能建模等。这要求我们多观察,多思考,毕竟科学问题的提出都抽象自实际生活。

    2.3 实验教学内容的设计

    实验教学的核心是培养学生实践与创新能力。计算机专业是一个实践性非常强的专业,我们的奇思妙想最终都要通过机器来实现,否则就只能是虚无缥缈。实践教学既是对理论内容的直接验证,也是培养学生发现问题、抽象分析问题、解决问题的“实验床”,其对理论的直接正反馈还可帮助我们不断修正理论授课内容和节奏。

    相对于理论内容的编排,实验的设计更困难。我们的实验教学采用“3+2”的策略,所谓“3”就是课程实验、课程设计和毕业设计一体化建设。

    1)确定题目。

    首先强调课程实验内容“应用为王”,培养学生解决实际问题的能力。尽量避免学生上机只会敲“Hello World”之类的笑话。以数据结构为例,利用栈和队列解决停车场的管理问题;城市小区间铺设煤气管道等工程造价问题以及排课系统、农夫过河问题又涉及图的最小生成树、拓扑排序和最短路径等。另外,注意引导和发挥学生的主观能动性,放手让学生去寻找一些生活中的实际案例,或吸引学生直接参与老师的科研课题,培养其解决实际问题的能力。

    其次,实验题目分层次、因材施教,努力照顾到不同程度的学生。如果实验题目采用“一刀切”,则会导致能力强的学生因“吃不饱”而感到无趣,能力弱的学生因“消化不良”而失去信心。例如在栈的应用实验中,通过引导和讲解,要求所有学生都能实现“数制转换”和“括号匹配的检验”,而学有余力的学生则可在完成基本要求的基础上选做“迷宫求解”和“表达式求值”。通过这种分层次的实验教学使得对课业有着不同需求的学生“各得其所”,能力上都能得到扩展。

    2)课程设计。

    课程设计是软件设计的综合训练,要求学生在设计中逐步提高程序设计能力,培养科学的工作方法。其目的就是使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来。在课程设计中,教师在精心挑选一些综合性、设计性的题目,同时要求学生发挥自主学习的能力,合理制订课程设计进度表,并在过程中不断检测自己的计划完成情况。

    3)毕业设计。

    毕业设计是一个系统工程。在毕业设计的整个流程中,除了在程序上加强组织和监管外,更应关注到这也是实践教学“沙场秋点兵”的最后时刻,是学生对自己四年来所学知识的“集成和仿真”,是走向社会具体岗位前的一次“大热身”。这样的综合锻炼会使学生日后面对社会竞争时更加自信和从容。如何深化我们的实践教学,如何更好地帮助学生完成这次“破茧成蝶”是值得我们深思和讨论的。

    所谓“2”是指充分合理利用校外资源。

    1)以赛代练。

    积极组织学生参加ACM大赛、数学建模大赛、齐鲁软件大赛或其他各类比赛,使学生在和高手的PK中,看到自身的不足和差距,毕竟在校内所完成的实验项目,不论是难度还是强度,和比赛相比都不可同日而语。

    2)校企合作。

    加强校企合作,缩短学校教学和市场需求的差距,既缓解教师缺乏实际项目工程经验的窘况,又利于学生尽快完成从学校到单位的角色转换。

    3 结语

    计算思维是当前计算机领域广为关注的一个重要概念,也是当前计算机教育需要重点研究的课题。未来计算机教学将会以计算思维能力培养为核心,而且这种能力适用于任何专业。但在实际的操作中,如何推进学生计算思维能力乃至包新能力的培养,目前还处于探索之中。

    根据实际教学经验,我们尝试在计算思维的大背景下,就计算机专业课程内容和实践教学等提出了一些自己的思考。计算思维能力的培养,不是仅仅依靠某一位教师或某一门课程短时间内就能实现的,需要所有教师组成“统一战线”,在教学中有意识地加强学生这方面的培养,打好“持久战”。

    编辑:孙怡铭

    推荐访问:思维 计算 计算机教学 研究

    • 读/观后感
    • 精美散文
    • 读书笔记
    • 演讲
    • 反思
    • 方案
    • 心得体会