计算机理论知识(收集5篇)
时间:2026-02-27
时间:2026-02-27
摘要:“计算机导论”是计算机各专业本科的第一门专业基础课,它对后续课程学习的重要性是不言而喻的。针对近年来在大学计算机专业中开展的“计算机导论”课程的现状,结合自己的教学实践,本文就“计算机导论”的教学方式和方法做初步探讨。
关键词:计算机导论;教学内容;教学方法;计算学科;课程构建;导引
中图分类号:G642
文献标识码:B
1引言
“计算机导论”课程是计算机专业者要学习的一门非常重要的专业基础课,也是入门课。应该就学科特点、学科形态、历史渊源、发展变化、典型方法、学科知识组织结构和分类体系、各年级课程的重点,以及如何认识计算机科学,学好计算机科学等问题从科学哲学和高级科普的角度去回答学生的疑问,因而起到后续课程导引的作用,从而让学生对计算机系统有一个全面的初步了解,并为深入学习计算机学科的各专业课奠定“以全局指导局部”的基础。
但是计算机科学发展日新月异,新方法、新技术不断涌现。因此很难找到一本与时俱进的教材,既满足学生的理论课需求,又满足实践课需求。同时传统教学模式中有些内容已不适应新时期人才培养的要求,需要进行变革,针对上述情况,笔者对教学内容和教学方法等方面进行探讨自己的看法。
2存在问题
通过大三、大四学生调查,发现当问及你对计算机学科的体系结构怎么理解?80%的学生对此问题回答模棱两可,笔者对这种现状震惊了。相当一部分学生对计算科学缺乏比较全面的认识,科学思维能力、创新能力、工程知识、分析和解决实际问题的工作能力较差,一些学生经过四年的学习后还没有建立起一些专业学习的方法,甚至有些同学认为计算机专业学习就是熟练掌握电脑的基本操作,而对于一些理论方面的知识缺乏兴趣。这样必然导致学生在以后的专业学习和自我学习能力培养方面出现很大的障碍。究其以上情况,教与学的目前状况值得我们深思了。
鉴于存在以上的现象,诚然与学生本身的学习能力、态度、兴趣有关,但另一方面对“计算机算计导论”这门课程的内容、教学目标要求以及对教师的要求等都发起了挑战,如何解决这门入门课程对学生、后续课程的引导作用,是目前亟待解决的问题。
3教学目标
多年来,在计算机专业教育中,对该课程应达到怎样的教学目标问题一直没有定论,这也就给从事该课程教学的教师带来了一些难度和偏差。由于学生个体的差异,如对计算机的认识程度的不同,导致他们对该课程的需求、兴趣不同,因此就有可能在教学过程中增加或删减一些内容,而实际上,内容的增加或删减的根本原因就在于没有课程目标的约束。1989年1月,ACM攻关组在《ACM通讯》杂志上发表了计算教育史上具有里程碑意义的报告――《计算作为一门学科》,该报告明确要求《计算机导论》课程要以严密的方式将学生引入计算学科中各个富有挑战性的领域。2001年12月,ACM和IEEE-CS任务组提交的CC2001(ComputingCurricula2001)报告更进一步指出,该课程应能让学生了解计算学科中那些富有智慧的核心思想。我们从这个意义上出发来看,既然本课程是计算专业的最先开设的课程,它应该达到的目标是:(1)激发学生对学习计算机学科的兴趣;(2)充分展示计算领域能做什么,但不去深究怎么做;(3)能揭示计算领域的历史及其发展状况;(4)能培养学生学科全局观及随着学科的发展不断更新知识的意识;(5)能让学生了解该专业毕业生应具有的基本知识和技能,以及在该领域工作应有的职业道德和应遵守的法律准则。
4教学内容
近年来,虽然很多高等学校开设了“计算机导论”课,但要区别计算机科学与技术专业学生与非计算机专业学生在培养目标和方向上的不同,;还要明确课程内容设置目的,作为计算机方向的入门课程,应把握教学内容的深度和广度。按照“CCC2002教程”的描述,按照上述对内容的描述,“计算机导论”课程的内容可分为下列几大部分:
(1)计算机学科概述,包括学科的背景、发展历程、名称的来历等;
(2)对计算机硬件知识的描述,包括计算机的产生和发展,冯・诺伊曼结构计算机的基本组成,计算机的体系结构,计算机硬件技术的发展等;
(3)对软件知识的描述,包括软件的分类、程序设计的基础知识、面向对象程序设计的思想、算法与算法分析、数据结构与操作系统的基本知识、数据库和软件工程;
(4)对通信与网络知识的描述,主要介绍数据通信的基本概念和计算机网络的基本原理,包括网络的体系结构、数据通信的基本方法和网络协议以及网络系统的安全和管理知识;
(5)人与计算机,包括人机交互知识、人工智能技术的研究领域及取得的主要成果、人脑与电脑的关系;
(6)计算机和社会,包括计算机系统的应用、计算机专业与社会的关系、知识产权与职业道德等;
(7)学科的未来,在每一部分中穿插介绍计算机发展史上著名的事件、公司、人物、产品,我国计算机技术的发展历程,使学生全面了解本学科。
5教材选择
5.1适当补充新的信息
在课程内容的选择上,既要有基础性又必须有先进性。既然计算机导论是一门正规的基础课程,课程内容就不能带有随意性。课程的性质和目的也决定了不仅要向学生介绍计算机的感性知识,还要介绍计算机的理性知识,即要“领进门”,又要“送一程”,所以课程内容的基础性是十分重要的,这一部分内容应该相对稳定。但是计算机导论又是一门实践性极强的课程,由于计算机技术的发展和软件的更新换代十分迅速,如果授课内容陈旧、肤浅,不但学生会失去学习的兴趣,而且上机实习也会遇到障碍(找不到过时版本的软件),所以课程内容必须“吐故纳新”,要适当介绍一些计算机技术的新知识和一些流行的优秀软件,使课程内容始终保持先进性。所以不仅教学大纲要不断修订,而且教材也要及时更新。
5.2防止两个倾向
在计算机导论课的内容选择上还要防止两个倾向:一个是过于简单,另一个是过于复杂。如果课程内容简单化,降低要求,就容易把这门课降格为社会上一般的计算机操作培训班。把计算机基础教育系列课程的第一门课程混同于计算机扫盲,是对该课程采取实用主义态度的结果,也是对课程性质和任务的一种误解。反之,如果课程内容复杂化,一再加码,就会把这门课提升到计算机原理课的水平,学生听不懂,吃了夹生饭,会给后续计算机专业课程的学习造成障碍,同样也会使学生对计算机的学习“望而却步”。
6教学方法的探讨
6.1教学融入“故事性、趣味性、启迪性”
“计算机导论”课程的教学会涉及到计算机科学发展的很多人和事物,如果将一味地将一些枯燥的知识简单的传授给学生,学生的接受能力和兴趣并不能达到理想的效果,把涉及到的专业术语知识等所关联的到人物事件讲述成一个个生动的故事,提高学生的学习兴趣,通过他们的成功与贡献来启迪我们的学生对计算机科学学习的兴趣,增强专业认识。比如讲到计算机体系结构时,就会提到冯诺依曼,他的人生经历,事件发展背景;讲到计算机网络时就会提到,美苏争霸等重大事件;比如讲到人工智能方面可以引出“深蓝大战”。这样集故事性、趣味性、启迪性结合古板的知识让学生充满兴趣开拓自己的知识面。
6.2直观的教学法
比如,当涉及到一些硬件知识时候,教师可以在课堂一边拿着一些硬件部件进行现场讲解。在做实验时,让学生亲自动手来实践课堂教学的理论知识,比如进行硬件组装,让学生通过真实地触摸硬件的元器件及产品来加深他们对知识的理解;再如,当讲到计算机网络的有关知识时,就可以到实验室去,让学生从专业的角度来学习网络,进行现场简单的认识网络的组成。这种感性的教学方法能带给学生直接的专业学习体验以及更新颖的感观认识。
6.3善用现代计算机多媒体技术教学法
采用这种技术不仅能使大一学生有了上课耳目一新的感觉,更重要的是它能在有限的课堂时间里带来更多的信息量:
(1)在讲到硬件的一些基础知识,可以用视频展现整个说要讲解的相关知识的视频过程。
(2)在讲解到操作系统等软件进行操作时,可以用视频展现操作系统的安装过程,然后再带学生进行实验室进行现场安装,进一步巩固课堂教学。
(3)在讲到一些抽象的基本原理时,如在讲解到CPU的工作原理时,可以用制作的Flash小动画展现CPU的工作原理。
6.4语言表述具体化
因为计算学科中抽象性的内容较多,所以教师在授课过程中,如果语言表述不通俗易懂的话,抽象性越高,学生会在刚刚了解一个内容的基础上,再尽全力去理解这晦涩的专业术语等抽象的表达,这样学生陷入一个恶性循环中,就会有云里雾里的感觉,听课效果肯定会受影响。
6.5精讲多练是授课的重要方法
计算机导论课的主要目的是培养学生使用计算机和利用计算机去解决实际问题的能力,以及培养学生的自学能力和较快接受新技术、新方法的能力。这些能力单靠课堂教学是培养不出来的,而要靠大量的上机实践。因此,计算机导论课应由“以教师为中心”向“在教师指导下学生主动学习为主”转移,正确的指导和大量的上机实践是学好这门课的基本保证。课程性质的定位也决定了必须采用精讲多练的授课形式。精讲应该是不得不讲时才讲。现代教育思想在强调学生是学习主体的同时并不忽视教师的主导作用。教师要精选重点和难点详细讲解,使刚入大学的新生在陌生的学习对象面前不至于束手无策,但也要给学生留有足够的时间和空间,使他们能够充分发挥学习的主动性和积极性。
6.6对授课教师的要求
“计算机导论”课程作为计算机专业学生的入门课程,内容广泛且与后续课程关系密切,因此讲授起来有一定难度,本课程要求教师必须站在学科的高度看问题,将复杂的、抽象的内容简单化、形象化,因此对教师的要求很高。“良好的开端是成功的一半”,但也有“万事开头难”,授课教师不仅要有极大的热情,能够带动学生的学习积极性,更要对本学科有全面了解,要变传统的知识型教学为研究型教学,选择适当的知识为载体,通过对知识点的讲授,让学生学会思维。这就需要教师自身先把知识“嚼出味儿”,然后再在课堂上使学生形成科学的思维习惯,掌握有效的学习方法。教师还应该根据自己所在学校对学生的培养目标定位、根据学生的特点,有机地组织和确定课程内容,把握教学计划的总体安排,强化能力培养的意识,使学生能通过对学科的理解和认知进入学科领域。
“计算机导论”课的每一个环节势必影响着计算机专业学生的后续知识的学习,这值得我们每一位从事这方面工作的人们去关注。
参考文献:
[1]中国计算机科学与技术学科教程2002研究组.中国计算机科学与技术学科教程2002[M].北京:清华大学出版社,2002.
1.在教学中找出面临的难题
计算机的基本理论知识(知识是人类生产和生活经验的总结)学习和上机操纵技能(对动作方式的一种概括,是按一定的方式反复联系或模仿而形成的熟练的动作)训练一直以来不停是矛盾的两个方面。在计算机基础教学中,常常要么注重基本理论学习,要么侧重上机操纵,即使基本理论、上机两头抓,也常常顾此失彼,不可以做到合理的并重对待。
1.1重基本理论学习,轻上机操纵。一直以来,计算机基础教学较注重基本理论知识(知识是人类生产和生活经验的总结)的学习而忽视操纵技能(对动作方式的一种概括,是按一定的方式反复联系或模仿而形成的熟练的动作)的训练,主要有这些原因:首先是计算机硬件投入的不足,使不少学校的机器台数有限,且档次低,已远远不可以适应学生上机的要求。教学中只好多讲课少上机,客观上促成了重基本理论轻上机的情形;其次是基本理论课和上机操纵课安顿不合理,如有部分学校不停遵照一般基本理论课教学规律依照课程总学时划定基本理论课和上机课的比例,全期一律安顿每个星期上机多少学时,而不是根据教学主要内容灵活做出安顿;再次是计算机基础课是实践性很强的课程,由于计算机发展太快,老师在基本理论课教学中介绍引入的计算机应用新知识(知识是人类生产和生活经验的总结)和技术,上机操纵实践时常常落后一步,在组织学生进行操纵技能(对动作方式的一种概括,是按一定的方式反复联系或模仿而形成的熟练的动作)训练时也不易处理好种种难题,如机器出现故障、没有示范投影设备、难以兼顾全体学生等。
1.2侧重上机操纵,轻基本理论学习。计算机应用技术的不停发展,促使学校对学生计算机应用本领的培养继续增强,出现出重视上机操纵技能(对动作方式的一种概括,是按一定的方式反复联系或模仿而形成的熟练的动作)的趋势,但反过来也存在放松基本理论知识(知识是人类生产和生活经验的总结)学习的情况:首先是计算机作为一门新兴学科,以其特有的神奇感,吸引了无数学生,特别是进行上机操纵;其次是计算机多媒体技术的出现,Internet应用技术的兴起,继续扩大了学生的兴趣,他们当中许多人希望学习多媒体软件制作、上网操纵技术,并常常达到入迷的程度,连正常教学主要内容规定的基本理论及上机操纵练习,也应付了事;再次是由于在以计算机为基础和核心的信息时代,对部分新知识(知识是人类生产和生活经验的总结)的认知已不可以用老眼光看待,如大量的Windows应用软件,基本理论的学习很多都要体现了操纵上,所以有部分人认为,学计算机便是要上机操纵学习,从而轻视基本理论教学。四是计算机实用新技术的飞速发展,流行软硬件的不停推出上市,让部分学生感到为有经过上机操纵学好计算机实用新技术,今后才气进入社会站住脚,而基础基本理论知识(知识是人类生产和生活经验的总结)的学习已显得不重要,错误地将计算机应用本领理解为上机操纵技能(对动作方式的一种概括,是按一定的方式反复联系或模仿而形成的熟练的动作)。
2.探索教学好方法
计算机基础教学要面向未来,在有限的学校教学时间内,让学生打好基本理论知识(知识是人类生产和生活经验的总结)基础,增强操纵技能(对动作方式的一种概括,是按一定的方式反复联系或模仿而形成的熟练的动作)训练,具有刚开始的计算机应用本领,一定稳妥完善合理地处理好基本理论学习和操纵技能(对动作方式的一种概括,是按一定的方式反复联系或模仿而形成的熟练的动作)训练的关系。
2.1增强思想认识,强化基本理论知识(知识是人类生产和生活经验的总结)对上机操纵的基础指导作用。特别要教育学生不要只凭兴趣操纵计算机,轻视基本理论知识(知识是人类生产和生活经验的总结)学习。咱们很难想象一个连二进制基本原理都不肯掌握的学生,会成为计算机方面的优秀人才;也不难理解不了解程序设计方法就不大概编制高效优质的程序。
2.2针对计算机应用基础课程的特征和规律,对不一样的课程和章节,合理安顿,协调好基本理论课、上机课的时间和上机操纵内容。冲破一般教学中基本理论课和实验课的办理模式,如根据这些年以来新生计算机水平差别大的实际,设法分别不一样对待,以包管机房用机高峰时间和教学上机操纵的质量。
2.3重视学生实践本领的培养。计算机是一门实践性很强的课,在高中阶段,学生不会接触到有关计算机的部分基本理论方面的知识(知识是人类生产和生活经验的总结)或是有关编程方面的内容,大多是有关计算机的部分基本操纵的学习。为有真正上机实践了,才可以真正地知道该怎么样操纵。站在岸上是永远学不会游泳的,为有亲身实践了,才明白此中的真意。计算机教学也一样,学生必要在老师讲解了之后,真正的上机操纵,才气明白老师到底讲的是些什么,才气知道部分操纵之后计算机会给出什么样的反映。在高中生普遍缺乏动手本领的情况下,计算机是一门很好的熬炼学生实践本领的科目,老师要充实应用,以此来引起学生对实践的兴趣,从此不但重视计算机实践,更会重视其他科目的实践。
2.4加大计算机及机房硬件投入,积极运用现代教育技术本领和成果进行教学。特别是对office之类的软件课,讲授内容要与上机操纵紧密联系,可采用让学生观看老师课件学基本理论、演示教学、边讲边练等方式进行;也可积极探索计算机教学的其他好形式。
一、适用“小组合作”激发学生的学习兴趣
随着年龄的增长,职中学生的性格逐渐趋于稳定。他们开始放开心胸,渴望与他者沟通交流,以满足自身的好奇心与探究欲。若计算机老师能够抓住学生这个心理特点,适当地采用“小组合作”的教学方式,将大大促使学生在沟通交流中提升计算机学习的兴趣。对此,笔者建议选择不同学习方法的学生组建合作学习小组。另一方面,在组建小组合作时,应尽量选择不同竞争能力与不同知识水平的学生共组学习小组。这也要求计算机老师在分组时,要全面考虑不同学生的知识水平。做这样的小组分配,不仅可以使优生与差生进行学习互补,提升整个团队的计算机学习水平,还可为低学习水平的学生创造公平竞争的机会,强化其参与竞争学习的主动性,进而让整个计算机教学课堂都呈现活跃的状态。。
二、导入计算机游戏,让学生边玩边学
计算机与普通的课程不同,其更强调灵活性。职中学生最大的特点是好动,且偏爱玩游戏。若能够适当地将计算机课程与时下学生普遍热衷的游戏衔接起来,让学生在计算机游戏中直接学习相关知识点,将会使学生更容易记住并应用这些知识点。如笔者曾经在教授计算机鼠标的操作时做了这样一个对比试验:一部分学生直接学习计算机课本上的鼠标操作知识;另一部分学生直接上机操作《Windows中的纸牌游戏》。结果发现,直接操作游戏的学生掌握知识点的速度明显要快,而且还能够举一反三,将左右键功能用到其他计算机应用中。但值得注意的是,在计算机教学中引入游戏前,老师最好花5-10分钟时间做好必要知识点的简单讲解,避免学生一头雾水。换言之,先简单讲解再在游戏玩乐中逐渐深入知识点,才能够学生更好地掌握计算机知识精髓,提高课堂趣味性。
三、变抽象化语言为具象化事物,强化学生印象
与语文课、历史课等较具象化的课程不同,计算机教学中通常会遇到许多抽象化的概念,如计算机组成部分、系统名词等。这些词汇或对象若无清晰的具象事物,学生是很难真正了解。因此,在计算机教学中,老师应尽可能变抽象化的语言为具象化的事物,强化学生对知识点的印象。如在教授计算机硬件基础知识时,主板、主机、线路板等关键词极难被学生理解。为此,笔者将一部台式电脑拆卸重组,让每个学生都能明白这些硬件在整个计算机中的作用。除此之外,为了进一步深化学生对这些硬件及其作用的印象,笔者将这些硬件比喻成了人体的五官。如输入设备相当于人的鼻子,用于吸收外部的信息;微处理器相当于人的大脑,能够处理各种各样的信息;输出设备相当于人的嘴巴,用于表达。事实证明,将抽象化的语言转化为具象化的事物后,学生的理解速度加快,对知识点的印象也更为深刻。
四、增加学生自由上机实践操作的时间,满足学生的好奇心
职中学生处于热情活泼的青春期,对外界事物的好奇心强。同理,当他们接触计算机后,便会对其产生强大的好奇。笔者发现,相比计算机理论课堂,计算机上机实践操作课堂的学习氛围更活跃,学生好动性更强,而且不少学生还会向老师提出在探索中遇到的不懂的问题。由此可见,要提高计算机教学课堂的趣味性,首先要先满足学生的好奇心。对此,笔者建议,计算机老师尽可能简单明了地讲解计算机课本理论知识,给学生更多上机实践操作的时间,放开手让学生自己去慢慢练习和摸索。
五、适当更改教学次序,进行模块化教学
关键词:课程体系;计算机网络;分层次教学;课程建设;人才培养
信息社会,计算机网络已经深入到人们生活、工作和学习的方方面面。计算机网络课程已经成为计算机类专业的核心课程[1]、非计算机类专业的必修课程。不同专业对计算机网络知识的学习有不同的侧重和要求,需要通过计算机网络课程体系改革寻找出路。针对不同专业的特点,研究和设计与各专业计算机网络知识要求相适应的教学内容、教学方法已是当务之急。
以计算机网络课程为核心的计算机网络课程体系建设应充分考虑到各专业对计算机网络知识教学的需求。改革和探索主要围绕分层次的计算机网络课程体系知识领域框架设计、实践课程设计、课程体系教学大纲、教材和实验指导书编写等方面展开。
1研究思路与研究方法
1.1分层次的课程体系设计
不同专业的计算机网络课程的教学内容和需求要有所差异,需要针对不同专业网络知识需求,设计由一般要求、基本要求、较高要求和专业要求组成的分层次课程体系。对网络工程专业的计算机网络课程教学应有专业要求。对计算机类专业,如计算机科学与技术、软件工程和数字媒体等专业应有较高要求。对理工类专业,如通信工程、信息安全、电子信息工程、自动化、信息与计算科学等应有基本要求。对理工类专业,如会计学、电子商务、金融学等应有一般要求。分层次的计算机网络课程体系如图1所示。
按网络工程专业、计算机类专业、理工类专业和经管类专业划分层次,设计不同层次满足对计算机网络知识需求的课程。不同层次计算机网络教学中,与计算机网络课程体系相关的课程如表1所示。
计算机网络作为课程体系的核心课程,针对不同专业特点和能力需求,以及讲述内容的不同,设计有3门课程:“计算机网络(甲)”适用网络工程专业和计算机类(计算机科学与技术、软件工程、数字媒体)专业;“计算机网络(乙)”适用学校其他理工类专业;“计算机网络及应用”适用学校经管类专业。
1.2分层次的课程群
课程体系分为计算机网络理论、计算机网络技术、计算机网络设计与应用3个课程群。计算机网络课程体系中的课程群如表2所示。
以计算机网络课程为核心,设计出计算机网络理论、技术和应用相融合的计算机网络课程体系,可以很好地使各课程内容前后衔接、融会贯通、知识结构循序渐进、易学易懂。3个课程群分别体现计算机网络理论、技术和应用知识的基本要求,覆盖了计算机网络知识结构组成的全部内容,可以满足不同专业对计算机网络教学内容的选取,培养了学生应用计算机网络的动手能力,可以为学生掌握计算机网络核心技术提供很好的帮助,提高学生学习和应用计算机网络的兴趣。
1.3理论、技术和应用相融合的教学方法
设计计算机网络理论、技术和应用相融合的教学方法,目的是让学生知道计算机网络理论、技术发展的来龙去脉,使学生知道所学、掌握所用,明白所学知识将来如何用,为今后工作就业打下坚实的计算机网络知识基础,这样才能提高学生学习的兴趣。
分层次的计算机网络课程体系设计立足让学生通过身边和所用的网络,结合各专业培养方案,设计优化的计算机网络课程体系各课程的教学大纲;结合身边的网络应用学习计算机网络知识;采用类比人类社会中的通信活动过程来学习网络知识。针对各专业的特点和学生对学习计算机网络知识的需求,把计算机网络理论、技术和应用融合到每一门课程的教学内容中,努力做到“学思结合、融会贯通、知行统一”。
例如,在计算机网络课程的教学过程中,通过对计算机网络体系结构和网络协议理论的阐述,说明计算机网络涉及到的各种技术,例如交换、复用、协议分析、寻址、路由等,结合因特网应用,例如域名系统、Web应用、电子邮件、局域网等应用,使学生容易理解网络的理论基础知识、掌握组建网络所需要的技术、熟悉管理和应用计算机网络的方法。
1.4设计针对不同专业需求的计算机网络组合实验
设计出适用不同专业学生特点和能力要求的组合实验[2],这些组合实验有:因特网应用、网络工具与命令、基本组网、路由交换、网络设计与工程、Linux网络、网络编程、网络仿真与模拟、IPv6网络等。各个组合实验又包括多个相关的实验。
不同专业可以根据专业网络课程内容选用相应的实验组合进行实验教学。例如,经管类专业可以选用因特网应用、网络工具与命令等实验组合。
通过设计一系列适用不同专业学生特点和能力要求的组合实验,使学生具有扎实的网络基础知识和较强的网络应用操作能力。
2课程体系实施和研究内容
2.1提出分层次的课程体系框架
采用“分层次”的课程体系研究方法,针对不同层次对学习计算机网络知识的不同需求,我们提出了网络工程专业注重网络设计、分析和研究,计算机科学与技术类专业侧重网络基本理论和组网技术,全校其他专业又分为理工类和经管类,分别侧重于Internet程序设计和因特网操作使用的课程体系。
研究的思路是以网络工程本科专业的计算机网络课程体系建设为主线,结合计算机类专业的计算机网络相关课程,以及理工类和经管类专业计算机网络通识课及相关课程的实施方案,设计出计算机网络理论、技术、应用课程群。各层次和各专业计算机网络教学可以依据各自的培养方案,选择适用的计算机网络教学课程,体现了该课程体系框架的灵活性和可扩充性。
课程体系把课程分为计算机网络理论、计算机网络技术、计算机网络设计与应用3个课程群,采用理论、技术和应用融合的教学方法。课程体系框架设计立足让学生通过身边和所用的网络,类比人类社会中的通信活动学习网络知识,让学生知道所学、明白所用,激发和帮助学生逐步形成对网络理论、技术、应用学习的兴趣,从而做到举一反三、触类旁通。
2.2优化教学内容和修订教学大纲
在修订各专业培养方案中有关计算机网络课程内容的基础上,制定并不断调整各门相关课程教学大纲,删除过时的或与相应层次要求不适应的教学内容,及时将网络新理论、新技术纳入教学大纲。例如,增加的新课程包括:Linux网络环境、网络仿真与模拟、移动网络、IPv6技术、网络理论与技术新进展等。
2.3编写适用不同层次教学需求的教材
在教学实践过程中我们感到,一本好的教材对教和学会有很大的帮助,由于计算机网络理论和技术发展很快,需要研究不同层次计算机网络教学的特点,我们编写出适用不同层次计算机网络教学的教材。例如,由机械工业出版社2010年7月出版的《计算机网络――原理、技术与应用》[3],把计算机网络的理论、技术与应用融合到一本书中,给出对不同层次网络教学对教学内容和教学课时选择的建议,对教学内容灵活取舍,可以很好地满足不同专业计算机网络课程教学的需求。
2.4设计适用不同层次的网络实验内容
研究和设计适用不同专业学生特点和能力要求的组合实验,依据对计算机网络知识的专业要求、较高要求、基本要求和一般要求设计组合实验的实验内容。例如:对一般要求,可以开设因特网应用、网络工具与命令等实验组合,进行一般因特网应用、网页设计、常用网络命令使用、网站设计等方面的实验;对于专业要求,可以开设基本组网、路由交换、网络设计与工程、Linux网络、网络编程、网络仿真与模拟、IPv6网络等组合实验。
结合组合实验设计,编著相应的实验教材和指导书,包括《组网技术与配置》、《计算机网络实验》、《计算机网络常用命令》等。目的是提高不同专业学生设计网络、组建网络、使用网络、管理和维护网络的动手能力,理论与实践相结合,达到知行统一。
3分层次教学的应用和示范作用
3.1应用情况
分层次的计算机网络课程体系建设需要一个长期的过程,需要团队合作精神,充分调动有关教师的积极性,需要踏踏实实做的教学工作有很多。经过一段时间建设,目前我们已经形成了较好的分层次课程体系,各课程之间知识结构互为支持,在计算机网络课程教学中较早地构成计算机网络课程群。不断追踪计算机网络理论与技术的新进展,逐步开设出一系列新课程,如IPv6技术、Linux网络环境等。
分层次的计算机网络课程体系以及部分课程教学大纲,已经应用于2004级至2008级5届的网络工程专业、计算机类各专业和学校其他理工类、经管类专业。例如,每年计算机类各专业有800余名学生学习计算机网络课程体系中的课程;又如,嵌入式系统等课程,提供了计算机网络协议、网络编程、网络工具与实践等理论和技术知识。每年学校的电子信息工程、信息安全、编辑出版学等专业有1000余名学生学习计算机网络课程体系中的课程。为学生在数学建模、电子设计、财会信息化和机器人大赛取得优异成绩打下扎实的计算机网络知识基础。
3.2示范作用
分层次的计算机网络课程体系建设需要在教学实践过程中不断发现新的问题、研究和寻找解决问题的方法和途径。继续完善分层次计算机网络课程体系的理论研究,在总结前阶段工作的基础上,积极吸收其他高校适应不同专业课程体系建设的经验,取长补短。
分层次计算机网络课程体系要扩大实践范围,分层次计算机网络课程体系建设中的经验可以推广到其他课程体系的教学改革中,应有一个较长的时间进行实践检验,需要在更大范围内对教学大纲作更深入的研究和实践。召开由学生、教师参加的座谈会,认真倾听他们对教学改革和课程体系建设的意见。
我们积极倡导与国内、外高校就分层次计算机网络课程体系建设进行合作研究,对中、外高校计算机网络课程体系进行比较研究,并对国外计算机网络课程体系教材进行分析,找出值得借鉴的地方,为进一步搞好分层次课程体系研究和教学实践提供依据。
参考文献:
[1]教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M].北京:高等教育出版社,2006:34-40.
[2]中国计算机科学与技术学科教程2002研究组.中国计算机科学与技术学科教程2002[M].北京:清华大学出版社,2002:199-207.
[3]王相林.计算机网络:原理、技术与应用[M].北京:机械工业出版社,2010:389-390.
ConstructionofHierarchicalComputerNetworkCurriculumSystem
WANGXianglin
(CollegeofComputer,HangzhouDianziUniversity,Hangzhou310018,China)
关键词:编译原理;计算思维;课程改革
中图分类号:G642文献标识码:B
1编译知识在计算机学科中的作用
自从20世纪50年代中期诞生世界上第一个高级语言编译器――Fortran语言编译器以来,编译技术不断进步,已经成为计算机科学中发展最迅速、最成熟的一个重要分支。自1966年以来的所有55位图灵奖获奖者中,有近1/3的科学家是因为在程序设计语言和编译方面的成就而获得该项奖励,可见程序设计语言和编译的发展集中体现了计算机科学发展的重要成果与精华。计算机应用能发展到今天,编译技术的发展有着极其重要的、不可替代的作用。
五十多年以来,随着编译技术的发展,有关编译原理和技术的内容被逐步引入到了计算机专业本科教学中。从早期各阶段ACM和IEEE的计算机专业教学计划,到近年ACM和IEEE联合制定的CC2005,再到我国教育部高等学校计算机科学与技术教学指导委员会2006年编制的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》,直至最新的ACM和IEEE联合制定的CS2008,都把有关编译原理和技术的知识作为重要教学内容列入。目前,我们编译原理课程的教学内容覆盖了CS2008体系中程序设计语言领域、算法和复杂性等领域的多个知识单元。
2编译原理课程的理论性和技术性特点
编译程序的构造原理和技术可以说是计算机科学技术中理论和实践相结合的最好典范。在许多课程的教学中,经典理论和先进技术之间的联系往往缺乏具体而形象的例证,而“编译原理”课程在这方面具有得天独厚的优势。形式语言和自动机理论为编译程序的设计提供了坚实的理论基础,正是在科学理论的保证下,才形成了一系列先进的编译程序设计方法和工具,使得编译程序的构造具有很高的系统性和自动化程度。例如,正是有了有限自动机的经典理论,才有了LEX这样的高度自动化的词法分析器的自动产生器;正是有了Knuth提出的LR分析方法,才有了YACC这样的高效的语法分析器产生器,将程序员从繁琐的代码编写中解放出来。编译课程的教学既要强调经典理论在计算机科学中的重要作用,又要注重介绍利用这些基础理论来设计和构造编译程序各模块的先进方法及工具,可以具体形象地说明经典理论与先进技术的关系。理论和实践相结合是“编译原理”课程的鲜明特色。
“编译原理”课程特别强调运用理论知识进行实践的能力和素质,以突出计算机专业人才培养的特色。“编译原理”是每个优秀的计算机专业人员必修的一门课程。通过编译程序这一具体的案例,学生可以综合理解和运用计算机的程序语言、操作系统和体系结构等各种软硬件知识,形成计算机专业人才特有的系统的专业知识结构。在系统学习编译的理论和技术的过程中,学生一方面对科学理论的基础作用有了充分的认识,提高了学习经典理论的兴趣,形成了较高的理论素养;另一方面,通过课程综合性的实践,分析或改进简单或复杂、原型级或产品级的各种编译程序或工具,也可以提高灵活运用理论知识、设计较大规模的软件来解决实际问题的能力。在课程的学习和实践中,学生可以深刻体会到理论学习的意义和动手实践的乐趣。
有许多人认为,如果今后不从事编译器的开发,编译知识就显得并不重要了――事实上并非如此。编译课程鲜明的理论性和技术性特点,使得这些知识对于计算机专业人员来说具有重要作用,甚至可以说是计算机专业人才区别于一般计算机人员的重要知识结构。对于将来从事编译系统设计工作的学生来说,编译课程的学习当然可以使他们掌握和理解编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术,获得分析、设计、实现和维护编译系统的初步能力,打下坚实的能力和知识基础;而对于那些将来不从事编译器研制的学生来说,编译课程的教学对于提高他们对计算机系统总体认识也具有重要的意义。通过学习编译的理论和方法,学生可以提高对程序设计语言的设计与实现等知识的综合理解,而这些知识对于准确掌握程序设计语言,学习新的编程范型,理解程序,开发出正确的软件都是不可缺少的基础。图灵奖获得者Perlis教授的名言“Tounderstandaprogramyoumustbecomeboththemachineandtheprogram”就精辟地说明了这一点。此外,编译课程介绍的经典语言分析方法和工具,对于一些实用的工具和软件,如自然语言理解、网络信息处理、网络协议的分析与实现等领域的软件或工具的研制,都是很好的基础。更为重要的是,编译课程中介绍的一些经典的理论和方法,对于传授计算机科学研究的方法、训练学生的思维都是难得的生动案例。因此,不能把编译课程片面地理解成为一个介绍编译程序的课程,而应当把该课程的教学放在培养专业素质、训练思维的层面加以认识,特别是应当强调如何在编译的教学中培养学生的计算思维。
3计算思维及其在编译理论和技术发展中的作用
计算思维(ComputationalThinking)是卡内基梅隆大学计算机科学系JeannetteM.Wing教授在2006年提出来的先进的教育理念,被认为是近十年来产生的最具有基础性、长期性的学术思想,并将成为21世纪计算机科学研究的热点。
计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它包括了一系列广泛的计算机科学的思维方法。Wing教授认为,计算思维不仅仅属于计算机科学家,它将和阅读、写作和算术一样,是21世纪每个人必须具备的基本技能。计算思维已经在其他学科中产生影响,而这种影响在不断拓展和深入。例如计算生物学、计算博弈理论、纳米计算和量子计算等新兴研究领域的发展正在深刻改变生物学、经济学、化学和物理学领域研究的思考方式。
典型的计算思维包括一系列广泛的计算机科学的思维方法:递归、抽象和分解、保护、冗余、容错、纠错和恢复,利用启发式推理来寻求解答,在不确定情况下的规划、学习和调度等。显然,这些计算思维方法都可以在许多编译理论和技术的发展中找到痕迹,很多编译成果正是运用计算思维的结晶。例如,抽象和自动化是计算思维的两个重要手段,也是编译理论和方法产生的基础。编译课程中介绍的语法知识描述、词法分析、语法分析、属性文法、乃至优化等知识点,都体现了面向具体应用、从实际问题中抽象出科学问题并运用科学的思维方法进行问题求解的思想,其成果根植于坚实的经典理论,并应用于实践,以推动技术的进步。因此,在编译课程的教学中,结合编译理论和技术中经典的案例培养学生的计算思维,是一条值得探索的途径。
4结合编译案例的计算思维培养
如何培养“计算思维”,是目前计算机教育界非常关心的问题。例如,在计算机专业的教学中,有些学校在专业核心课程中融入计算思维的培养;在非计算机专业的教学中,对计算机导论类或程序设计类的课程进行改革,针对学科交叉的需求,从教学内容和方法上进行改革,培养学生的计算思维。总体来说,计算思维的培养应该贯穿在大学教育的全过程,甚至在大学之前的教育中。计算思维对于计算机专业的人才培养提出了新的要求,我们必须在专业课程教学中结合计算思维的培养。
编译课程的知识体系完整,既有经典理论成果奠定的坚实基础,又有在实践中发挥巨大作用的先进技术,其中很多知识点都为计算思维提供了很好的诠释和生动的案例。下面,我们从抽象、自动化、递归、问题分解和权衡等典型计算思维方法出发,探讨结合编译案例培养计算思维的可能途径。
(1)抽象
“抽象”是科学研究的重要手段,也是计算机科学研究的重要工具。在编译理论和技术的发展中,正是运用“抽象”这一有力工具,才获得了一系列的重要成果。例如有限自动机、形式文法等都是重要的抽象工具,有了这些工具,才能够把握词法分析和语法分析等问题的本质,发现其中规律,最终形成一系列的自动分析方法。
(2)自动化
将抽象思维的结果在计算机上实现,是一个将计算思维成果物化的过程,也是将理论成果应用于技术的实践。有限自动机、预测分析程序、算符优先分析、LR分析等编译经典方法,都是在抽象的基础上将知识和控制分离(即分析表加控制程序),从而获得了经典的分析工具,而这种知识和控制的分离也为分析工具的自动产生提供了可能。自动化的思维方法不仅体现在编译程序本身的工作机制上,更体现在编译程序的生成工具的研究和设计上。
(3)递归
许多编译中的问题都具有明显的递归特征。运用递归思维解决复杂的问题,通常是对问题进行逐步化简,最后得到了一个规模非常小、非常简单、更容易解决的类似问题,将该问题解决后,再逐层解决上一级问题,最后解决了较复杂的原始问题。编译中的递归下降分析是最直观的对递归思维的运用,此外,基于树遍历的属性计算、语法制导翻译都是典型的递归问题求解。
(4)问题分解
程序设计中的“自顶向下、逐步求精”的思想就是一种典型的问题分解的计算思维方法。运用问题分解这种思维方法进行问题求解,首先须做出对问题本身的明确描述,并对问题解法做出全局性决策,把问题分解成相对独立的子问题,再以同样的方式对每个子问题进一步精确化,直到获得对问题的明确解答。在编译程序的设计中,通过引入中间语言,将编译程序划分成前端和后端,就是一种典型的分解问题的思路。
(5)权衡
“编译原理”课程是一门理论性和技术性都非常强的课程。理论研究重在探寻问题求解的方法,而在编译程序的设计和实现过程中,对于理论成果的研究运用又需要在能力和运用中做出权衡。这方面一个典型的例子是,我们知道,虽然高级语言的大部机制都可以由上下文无关文法来描述,但是上下文无关文法不能完全刻画高级程序语言的所有规范,有些语言机制甚至存在二义性。但是上下文无关文法的分析是高效的,所以我们在编译程序设计中依然采取上下文无关文法来描述高级语言语法,但是在具体实现时,通过改造分析表消除冲突、符号表操作、语义检查等手段,去实现上下文无关文法分析所不能完成的功能――这正是在具体实践中结合具体问题进行权衡的结果。
5结束语
计算思维的培养不是哪一门课程的教学能解决的问题。对于计算机专业教育来说,应当关注在各专业课程中的计算思维的培养,强调对各种原理和方法进行提炼,从思维方法的高度培养学生,使学生能够应用计算思维解决问题。大学计算思维的教育应贯穿于整个大学教育,做到学习期间不断线。
参考文献:
[1]JeannetteM.Wing.ComputationalThinking[J].CommunicationsofACM,2006,49(3):33-35.
[2]何炎祥,伍春香.计算机专业不需要编译原理课程吗?[J].计算机教育,2009(4):61-62,85.
上一篇:口腔医学专业知识(收集5篇)
热门推荐