绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇计算机科学导论论文范文,希望它们能为您的写作提供参考和启发。
《计算机科学导论》课程是计算机专业的引导性课程,为计算机专业的新生提供了关于该专业学科的入门介绍。使学生能够全面掌握计算机的基础知识,并了解该专业的学生在该领域工作应具有的职业道德和应遵守的法律准则。《计算机科学导论》课程在大一第一个学期开设,新生虽然具有计算机的基本使用能力,但在计算机理论知识上的专业性不够,大部分的知识对新生来说都是第一次接触。如果一味地想把如此广的知识介绍给学生,理解上的难度会影响他们学习的积极性,效果并不好。根据该课程近几年的教学实践,笔者总结出了教学中存在的一些问题,并对教学内容的选取、教学方法和考核方式给出思考。
教学中存在的问题
计算机科学导论的教学内容虽然相对浅显,但是涵盖的知识面很广,几乎包括计算机领域所有的理论知识,应用技术、热点研究问题等。在授课中不仅要把基本的概念介绍清楚,还要对最新的专业动态有所介绍。在教学过程中主要存在以下几个问题。
1.合适教材难以选择
我国的计算机科学导论教材非常多,按其内容主要有以下三种:一、内容为计算机各种办公软件的使用,使学生具有使用计算机的初步能力,和非计算机专业开设的《大学计算机文化基础》课程等同[1];二、将计算机专业学生大学四年要学的专业核心课程进行了浓缩,内容涉及面广;三、计算机和计算的本质属性用高度抽象的数学模型来刻画[2],内容进行系统化、形式化的概括。由于目前中小学已开始开设了相关的课程,新生都具有不同程度的使用计算机的能力。所以选择第一种教材对于计算机专业的学生会过于简单,失去“专业引导”课程的本质属性;第二种教材在广度和深度上是比较难以把握的;第三种教材过于抽象,教师难讲,一般院校的学生难以理解。再加之计算机科学技术和应用技术的发展变化非常快[3],可谓日新月异,许多教材内容的更新速度严重滞后。
2.理论教学过于复杂
新生非常渴望专业知识,计算机专业的新生对第一学期开设的计算机科学导论课程抱有很大的期望。教师希望通过讲授该课程给学生初步建立整个学科的框架,指明计算机专业学习的方向,激发他们的学习兴趣。但是把如数据结构,操作系统,数据库系统,编译原理等专业课浓缩为一章进行叙述[4],叙述方式上又较少考虑新生的知识背景和理解能力。理论教学中勉强把计算机科学系统知识精装到学生的知识结构中[5],不断出现的新概念、新理论和新知识使学生难以真正理解,又要求他们在短期内消化吸收,这样不但起不到很好的专业引导,反而使学生对计算机的学习望而生畏。
3.实验内容与理论教学相对独立
本课程配有相应的实验内容,但一般是以Windows操作系统和常用办公软件的操作为主,与理论教学相对独立。
4.考核方式传统化
对学生来说,最熟悉的考试方式是闭卷考试,这种考试方式注重对知识的记忆、理解和应用。在大学学习期间,很多课程没有单元测试、期中考试,采取的是直接的期末考试。学生到了期末死记硬背搞突击,平时很少去细细思索所学内容。本课程不只是介绍一些计算机专业的知识,更应该引导学生思考相关的一些问题。
教学的几点思考
1.教材内容和补充新信息相结合
教材的内容对基本知识介绍得比较全面,但为了提高教学质量和教学的有效性,在教学内容上教师需要适当地选择一些专业领域的新知识进行补充,如计算机技术和产品的最新发展、新成果、未来发展趋势等[6]。学生在掌握计算机基本知识的基础上对专业新知识有所了解,紧跟时代的新发展,与学生实际生活中接触到的产品和概念有所共鸣,这样可以激发他们学习本专业知识的兴趣。
2.构建启发式教学模式
传统的教学模式是非常封闭的,教师讲解学生听课,两者的交流比较少。学生的这种被动局面制约了他们学习主动性的发挥。启发式教学模式就是让学生的学习方式从被动变为主动。教师在对基础知识的介绍过程中,根据相应的知识点设置相关问题,对学生进行分组选择相应问题;进行前期的文献查找,撰写论文培训后,让学生自己去查阅相关资料,提炼内容,形成一份综合的材料,并在课堂上讲解给同学们;教师及时对学生所讲内容进行总结评述。把课堂的某些时间让学生掌控,教学中充分调动教师和学生的交流,在问题中探讨学习,在参与中掌握相关知识。在这个过程中让学生学会检索文献,整理资料,初步阅读计算机专业文献等;鼓励学生从问题出发,去钻研去思考,逐步训练专业的创新能力;在团队中学会合作;锻炼学生的表达能力;提高办公软件的使用能力;培养学生专业自信心;充分发挥学生的主动性。
3.适当增加理论教学的实验
Windows操作系统和常用办公软件的操作这些操作技能需掌握,但课堂上讲到的有些内容最好配合相应的实践,给学生实实在在的接触,这样能使理论教学的效果更理想。
4.改变考核方式
大学的课程在考核上一般采取期末考试成绩和平时成绩相结合的方法。计算机导论课程内容多,授课中若不采取传统的教学方式,而是结合专题讲座、学生参与教学的方式,该课程的部分考核可以在教学过程中完成。例如,可采取分组合作课题和独立选题论文相结合的考核形式。分组合作课题在授课中完成,学生按所在分组,分工合作完成相关课题,上台讲演,并通过各小组之间的评比给出相应成绩,这项成绩在教学中完成;独立选题论文,学生自主选取与计算机领域相关的选题,以论文形式上交,培养学生独立思考能力,这项考核在结课后一定时间内完成。两者结合,不增加学生记忆的压力,又给了学生充分的自。
结束语
《计算机科学导论》课程在专业知识整体介绍的同时要激发学生学习本专业的兴趣,发挥学生学习的主动性。课程难度和广度不容易把握,教师要不断更新教学内容,改进教学方法,使《计算机科学导论》课程真正起到引导的作用。
参考文献:
[1]许晴媛.《计算机导论》课程内容探索与改革[J].宁德师范学院学报(自然科学版),2011,23(3):303-306.
[2]何昭青.《计算机导论》课程内容体系构建的研究与实践[J].湖南第一师范学院学报,2010,10(5):63-66.
[3]李明东,等.《计算机导论》课程内容及体系结构改革研究[J].四川师范学院学报(自然科学版),2003,24(1):6-8.
0 引言
针对国内外计算机教育发展的新动向,教育部高等学校计算机专业教学指导分委员会联合中国计算机学会教育专业委员会、全国高等学校计算机教育研究会,特别就计算思维能力的培养问题形成几点认识。计算机专业教育应该在计算思维能力培养中做出表率,将系统化计算思维能力的培养贯穿在计算机专业的教育中。计算机导论是计算机专业的一门先导必修课程,是作为计算机专业学生进入大学后的第一门专业课程,其主要作用可以归纳为“五导”:导知识、导方法、导思维、导意识和导职业。我们认为“导思维”是首要的,也是最为核心的,同时也是最难做到的,“导思维”在引导培养学生计算思维能力的过程中,可以很好地、潜移默化地达到其他4项引导作用。
如何建立计算思维能力的培养要求、实施途径、评测规范与方法一直是当前计算机教育者从事计算思维研究的一项重要课题。我们结合教学团队多年的经验积累,依据计算思维的本质和特征及计算机导论课程的构建目的,从教学内容、教学理念、教学方法及教学评价等方面探讨如何在计算思维驱动下对计算机导论课程进行一系列的改革和探索。
1 计算思维与计算机导论
计算思维(Computational Thinking),笼统地讲,是指受过良好训练的计算机科学工作者面对问题所习惯采用的思维方法,体现为在过去半个多世纪以来成就计算机和信息技术辉煌发展过程中行之有效的若干分析问题与解决问题的典型手段与途径。其具体内涵在近年来发表的文献资料中均有丰富论述。而有关计算机导论课程的构建问题,在1989年ACM攻关组所提交的“计算作为一门学科”(Computing as a discipline)报告中认为,该课程要培养学生面向学科的思维能力,使学生领会学科的力量,以及从事本学科工作的价值所在。报告希望该课程能用类似于数学那样严密的方式将学生引入到计算学科各个富有挑战性的领域之中。
2008年6月在网上公布的ACM对CC2001(CS2001)进行的中期审查报告(CS2001 Imerim Review)(草案)中,开始将美国卡内基·梅隆大学计算机科学系教授周以真(Jeannette M.wing)倡导的“计算思维”与计算机导论课程绑定在一起,并明确要求该课程讲授计算思维的本质。
综上所述,计算机导论这门课程不是解决对计算机功能的工具性认识问题,而是要对学生进行专业引导和思维引导,应该以面向计算学科的思维能力,也即计算思维能力的培养为核心。学生如果有了良好的计算思维品质,不管环境、知识需求如何变化,都可以灵活应变,从而为今后的专业学习以及走上工作岗位打好坚实的基础。
2 计算思维驱动下的课程改革
2.1 学目标,灵活教学内容
美国卡内基·梅隆大学周以真教授认为:计算思维是运用计算机科学的基本概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。计算思维一大特征是数学和工程思维的互补与融合。计算机科学在本质上源自数学思维,其形式化基础建筑于数学之上。计算机科学又从本质上源自工程思维,基本计算设备的限制迫使计算机学家必须计算性地思考,不能只是数学性地思考。所以计算思维的研究存在多维性,它紧密地同数学、科学和工程结合在一起。另一方面,计算思维建立在计算过程的能力和限制之上,由人和机器去执行,在求解问题时必须从人的认知、心理、思维活动和学科发展角度去入手,故存在研究角度的多态性。
因此,计算思维多维、多态的复杂特征决定了计算机导论课程当前培养方案的多样性与差异性。当今计算机的理论和技术发展太快,新的知识大约每两年就会增长一倍,教材根本无法实现实时地对新知识、新技术进行跟进。因此,我们主张教材为辅,“导思维”为主的原则,在统一的数学目标指导下灵活课程的讲授内容,留给教师和学生最大的思考空间。没有了教材的“束缚”,教师有了更多的掌控空间,学生也不会因教科书而将概念固定化,更不会出现临考抱“教材”的现象。
我们确定计算机导论课程的教学目标是:在学生建立计算机专业学科知识体系框架的同时激发学生的学习兴趣及学习的主动性,培养学生的计算思维能力、洞察问题及解决问题的能力,为后续学习相关专业课程、参与创新课题等打下坚实的基础。在教学内容的划分和安排上,由于课时有限,我们主张理论教学内容在划分上尽可能地简单分明,前后知识可以很好地呼应起来,这样更有利于知识点的系统化,不会因为章节庞杂、知识点太多而导致学生难于消化。为此将课程的讲授内容简单划分成3大部分:
(1)介绍计算学科各领域的发展史及前沿,揭示各主要领域的基本规律及相互之间的内在联系;认识当前社会和职业问题等。
(2)介绍计算机学科中的经典科学问题,初步认识和理解抽象、理论和设计3种学科形态。
(3)讲解计算机学科中的核心概念(如算法、数据结构、程序、软件、硬件、信息表示等),探讨研究学科中的数学方法和系统科学方法,培养计算思维能力。
在讲授过程中,我们借助精心制作的多媒体课件,结合授课内容和计算思维的培养目标,随时有针对性地调整和丰富自己的讲授内容。例如,讲解计算机学科各领域的发展史时,通过引荐吴军老师的《浪潮之巅》,让学生对整个信息产业有个整体了解,明鉴信息技术之兴衰和发展;而王伟老师的《计算机科学前沿技术》则系统展示了计算机学科各领域中令人激动的前沿技术,揭示未来计算机的发展方向,很好地体现了计算思维及其重要性。
2.2 主张自由文理教育,突显学生主体
作为国家建设未来的栋梁,需要的不是仅有技能的人才,重要的是有思想、精神、独立思考能力和良好的身体。技能是容易学的,但一个人的素养和教养不是一蹴而就就能培养的。大学教育的目的应该在于培养学生终身学习的能力,比如阅读、写作、计算思维,而不是一时的某项职业技能。如果学生进入大学仅是为了将来的饭碗,那必然会羁绊他的头脑,抑制他的求知欲。所以大学的专业学习需从“学什么”(内容)转到“如何学”(过程),将“导思维”放置课程建设的首位。
我们主张自由文理(Liberal Arts)的教学理念,力争引导一种自由的环境,激起学生主动学习的欲望,成为真正热爱学习的人,即在没有外界利益驱使下仍然在学习的人。对于自由的学生,他们的时间,他们的大脑和心灵在学习的时刻才真正受他们自己所支配,这样的学习过程才可能专注且快乐。
在教学中,我们坚持以学生为本,打破传统的教师讲学生听的单向模式,在课堂上采用提问式教学,注意引发学生学习的动机;严格地遵循计算机学科的发展规律,定期给出具有一定挑战性的课题,通过分组合作的方式,以师生间讨论、辩论的形式,自律地学习获取知识的方法及分析问题的原则;利用平时的小论文,引导学生收集资料,增强自我学习的能力,建立抽象立体的概念;通过对科学大师的解读沉淀一种学者的尊严和对真理的敬重和向往,培养学生的社会责任心。
2.3 遵从螺旋式组织方式,提升学生思维
若将教学比作爬山,通常的教学习惯是一口气从山下直线攻顶,而布鲁纳在《教育过程》中所提出的螺旋式课程(Spiral curriculum)则是绕着山转,在相同的角度看到的风景虽然都一样,但每次绕回来时的高度不同,能看到的广度和深度都不一样。等到达山顶时学生不仅对山有具体认知,也能掌握四周环境全面性的关联知识。计算机导论课程几乎涵盖了计算机领域所有的理论、技术和研究课题,内容太过广泛,若前后不能很好地呼应起来,学生往往会因孤立地学习太多的知识点而导致前面学的内容到后面就忘记了,理解起来也相对困难。对于计算机科学这样一个有机的、庞大的学科体系,教师应该引发学生对计算机学科知识结构的理解,精熟其基本原则、原理,以此产生类化的能力,而不是零碎概念、知识点的描述。
我们在课程实施中,遵循螺旋式课程的组织方式。首先结合教学团队多年的教学经验和团队成员之间的合作讨论对课程知识进行合理的结构化;然后从学生认知发展角度出发,沿认知发展的动作表象、形象表象、符号表象3个阶段来组织课程内容。讲授内容如2.1节所述,知识点在组织安排上前后呼应,螺旋式地扩展和加深,直至复杂、抽象的现代知识领域;最后在教学过程中我们采用合理的教学方式和紧密相连的学习节目来配合教学过程。比如教学中我们注重学习情境的安排,在讲授算法时,注重引导学生感受其产生背景,摸索过程,走过什么道路,不同阶段产生什么改变,将来的发展趋势是什么,它还可以做什么改进等。引导学生主动参与学习活动,提供学生更多自行探索的机会,最终实现将“知识个人化”。为使学生站在同一角度看到更大的广度和深度,我们主张采用团队教学制。计算机学科发展迅速,应用领域广,学科交叉和渗透十分突出,而计算机学科教师掌握和积累知识的广度是有限的,往往限于个别研究方向,为了提高学生的学习兴趣,拓展学生的思维和视野,在不同的知识领域会组织邀请相应有所“专”的教师来讲授,这样可以发挥团队互补优势,实现对学生全方位的指导,收到良好的人本教育的效果。
2.4 采用分级评价手段,有效监管教学过程
计算思维能力的培养是一个长期的过程,学习和思维不是彼此独立的,是紧密而互补地联系在一起的。所以为了内化学生的计算思维能力,我们必须有效监管整个教学过程,对每个个体在不同的教学环节中的表现做出正确评价,这样才可以实施因材施教,兼顾那些因各种原因而落后的学生。
我们采用螺旋式教学法,非常注重引导学生课前进行预习。在讲授新内容之前,我们要求学生课前收集相应的材料加以了解,课堂上通过实施提问式教学,引导学生积极讨论,同时依据学生参与情况及时做出相应的评价,对未准备的学生要给予相应惩罚,并在下次课中加重对其进行考察。相应地,在平时作业中我们不会布置常识性的题目,而是根据授课内容布置一些能够引发思考、对计算机学科整体认知有帮助的题目,这样就避免了作业抄袭的现象,增加了学生主动思考的机会,教师也可及时捕获学生思维能力的变化,调整和改进后续的讲解内容。
我们所采用的团队教学制为实施团队合作式学习提供了很好的平台。在整个课程结束后,教学团队中的每个成员会给出一些具有挑战性和合作性的题目,学生根据自身对学科分支的理解和把握情况来挑选导师,在导师的牵头引领下开展以小组为单位的研究型学习。学生最终需按照要求提交论文或报告,并在小组内通过上台演讲的方式进行答辩,最终以个人和小组的共同表现综合给出评定。
2009年11月,作为国家示范教学实验中心建设工作的一部分,国内高校计算机教学单位组团,对美国中部几所大学的计算机教育情况进行了考察。本文对美国伊利诺伊大学香槟分校(UIUC)和伊利诺伊理工学院(IIT)的计算机基础教育和美国大学非计算机专业计算机基础教育的指导方针进行介绍和探讨。
伊利诺伊大学香槟分校(University of Illinois at Urbana-Champaign,UIUC)成立于1867年,学科专业设置齐全,共有近200个专业,最好的学科是工程和商科,还有农学院、法学院、教育学院、航空学院、工程学院、通信学院、兽医学院、艺术学院、劳资关
系学院、企业管理学院、社会研究学院、人类学院、化学和化工学院、人文和家庭研究学院、应用科学生命学院、哲学和理学院等20多所学院[1]。
UIUC的计算机科学系创建于1972年,经历30多年的发展,一直雄居全美前5名,仅次于Stanford、Berkeley、MIT和CMU[1]。UIUC的计算机科学(CS,Computer Science)课程体系规划基本成形于1986年,并在此后的20多年间不断完善。目前有57位教员(Faculty)[2],承担着全部本科教学和科研工作。CS本科课程设置特点为广、深结合,理论、实践结合。课程覆盖计算机理论、设计和应用等领域[3]。
伊利诺伊理工学院(IIT)始创于1890年,坐落于芝加哥,是一所同时重视科学和工程学的学府,是美国知名的三大理工院校之一,下设7个学院和1个研究中心,即阿默工程学院(Armour College of Engineering)、芝加哥肯特法学院(Chicago-Kent College of Law)、建筑学院、文理学院、设计学院、心理学院、斯图尔特商学院(Stuart School of Business)和职业发展中心[4]。IIT的CS系目前有16位教员,承担着计算机本科教学和科研工作。
1计算机专业基础教学的特点
分类的计算机基础课是美国大学基础教学的主要特色,不同类型的计算机基础课分别面向计算机专业、理工科专业和非理工专业。其中,根据美国本科教育的特点,计算机专业的基础课有非常显著的针对性。非计算机专业的计算机基础课设计也很耐人寻味。
美国的计算机基础课一般有两门,在UIUC分别是CS100 Freshman Orientation(新生指导,1学分)和CS 125 Intro to Computer Science(计算机科学导论,4学分) [5]。在IIT分别是CS100 Introduction to Professions (职业生涯介绍,2学分)和CS201- Accelerated Introduction to Computer Science(简明计算机科学导论,4学分)[6]。
面向新生开设的CS100类课程不仅课时较少,内容也比较简单,在国内高校中较为少见。例如,IIT的CS100课程“作为一种(从事计算机)科学和工程职业介绍,阐述应用(计算机)工程和科学解决问题的过程,强调跨学科和国际化解决问题并需要评估计算、金融和社会制约因素下的解决方案[7]。”学习目标定位在使学生“理解计算机科学基本概念,包括计算历史、二进制计算/逻辑/程序转换、算法、计算机体系结构、操作系统等;展示使用伪代码解决基本问题,如排序和递归;与计算机科学职业生涯有关的职业操守(ACM Ethics Code);利用图书馆资源研究和撰写计算机科学技术的研究论文;创建并进行计算机科学理论的教学演示或计算机科学技术销售演示[7]。”
这类课程在美国大学是非常有意义的。许多选择计算机为职业方向的本科新生对计算机专业的培养目标、专业课程和职业生涯并没有真正了解,而这门课程就可以帮助这些学生了解计算机专业的培养目标和就业前景,然后再作决定。不少学生学完这门课后,发现现实与自己想象的完全不同,就可以尽快转到其他专业。另一种情况则相反,一些没有专业方向的本科生(美国大学允许大学生没有专业方向,但需要辅修若干小专业)在选修了这门课程后,可能将计算机作为自己的主修或辅修专业。
UIUC的CS125计算机科学导论是以Java语言为主的编程入门课,涵盖了一些算法的内容,介绍与解决计算问题有关的基本概念和基本技术,此外还有与之配套的实验课[2],拟作为计算机科学专业的第一门课程。该课程与我们国内多计算机专业开设的第一门计算机课程有共同之处。
2非计算机专业计算机基础指导方针
美国大学的非计算机专业计算机基础的指导方针出自美国国家科学研究委员会 (National Research Council,NRC)1999年出版的报告《Being Fluent with Information Technology》[8]。在报告中,该委员会将现代高等教育中受教育者的计算机或信息技术应用能力分别定义为智力性能力、信息技术的概念和信息技术技能3个方面,每个方面包含10项内容,共30项。
这3个方面的具体内容如下:
1)Intellectual capabilities(智力性能力,指在复杂和支撑性环境中应用信息技术)。
(1)Engage in sustained reasoning(持续运用推理能力)。
(2)Manage complexity(管理复杂性)。
(3)Test a solution(测试解决方案)。
(4)Manage problems in faulty solutions(在失败的解决方案中寻找并解决问题)。
(5)Organize and navigate information structures and evaluate information(组织和导出信息结构并评估信息)。
(6)Collaborate(合作)。
(7)Communicate to other audiences(与他人沟通)。
(8)Expect the unexpected(准备好应对预料之外、情理之中的情况)。
(9)Anticipate changing technologies(预见技术的变化)。
(10)Thinking about information technology abstractly (关于信息技术的抽象思维)。
2)Information technology concepts(信息技术的概念)。
(1)Computers(计算机)。
(2)Information systems(信息系统)。
(3)Networks(网络)。
中图分类号:G642文献标识码:A文章编号:1009-3044(2012)16-3910-02
The Research of Training Computational Thinking in Teaching Algorithm Design and Analysis
SUN Ya-hong
(Xi’an Fanyi University, Xi’an 710105,China)
Abstract: Computational thinking has become the hot issue in current international education. How to develop students’habit of using the computational thinking in real life, this article discusses a computational thinking training model based on variety practice in teaching al gorithm design and analysis. And give a lot of examples to illustrate the training model.
Key words: computational thinking; variety practice; algorithm design and analysis
自2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communica tions of the ACM》上发表《Computational Thinking》一文以来,国际国内计算机教育界掀起了研究计算思维的热潮。2008年6月,美国计算机科学技术教师协会(CSTA)发表文章《Computational Thinking:A problem solving tool for every classroom》,在该文章中,作者给出了计算思维的定义,并分类归纳了社会科学、计算机科学、自然科学、数学、生命科学等学科领域中关于计算思维的经典论文;2008年美国国家科学基金会NSF通过了一项计算使能的科学发现和技术创新CDI(Cyber-Enabled Discovery and Innovation)计划,该计划进一步强调了“计算思维”领域的创新对自然科学和工程技术领域发展的推动作用。同时,计算思维在国内也得到了广泛的讨论。2008年11月,由全国计算机教育研究会主持的“计算思维与计算机导论专题学术研讨会”在广西桂林召开,参加会议的学者总结了当前计算思维的研究进展状况,并讨论了计算思维对计算机教育的影响。2009年7月,在NOI2009开幕式和NOI 25周年纪念会上,中科院计算技术研究所所长李国杰院士进一步阐述了计算思维的定义,他指出“计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它选择合适的方式去陈述一个问题,对问题的相关方面建模并用最有效的办法实现问题求解”;2009年12月,王亚东等人在《计算与计算思维》一文中讨论了计算思维对各门学科产生的影响,并提出应该在计算机专业的各门课程中渗透“计算思维”的设想;2010年12月,张晓茹等人在《再谈计算思维》一文中通过对计算机科学思维,计算思维和计算机思维概念进行一致性分析,从不同方面分析和阐述了计算思维的特征,并对计算思维研究的基本问题进行了初步探索。尽管如此,如何在具体的课程教学中培养学生的计算思维能力仍处于起步阶段,还没有形成一套成熟的教学指导体系。那么,如何在课堂上结合课本的知识点培养学生的计算思维能力,使得计算思维成为学生的一种思维习惯;如何在学生的四年大学学习,持续不断地培养学生的计算思维,使学生能够运用计算思维的方法进行问题的分析和思考,是一个重要且值得探讨的问题。基于此,该文依据计算思维的方法,在《算法设计与分析》课程的教学中,提出一种基于算法多样化训练的计算思维培养方法。经实践验证,该方法有利于帮助教师提高教学效率,挖掘学生潜能,有利于提高学生分析问题,解决问题的能力。
1计算思维
什么是计算思维?计算思维同我们的阅读、写作能力一样,是人类的基本思维方式。这种思维方式运用计算机科学的基础概念和方法对问题进行描述,建模,求解。它是一种具有普适性的科学思维方法。为了更加具体的、详细的说明这一概念,周教授将计算思维的概念进一步定义为以下几个方面内容:
1)通过约简、嵌人、转化和仿真等方法,把一个看来困难的问题阐释成一个我们知道问题怎样解决的思维方法。
2)是一种递归思维是一种并行处理能把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法。
3)是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是一种基于关注点分离的方法。
4)是一种选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法。
5)是按照预防、保护,通过冗余、容错、纠错方式,并从最坏情况进行系统恢复的一种思维方法。
1引言
随着经济和信息技术的发展,计算机科学与技术专业已经发展成为我国招生规模最大,培养学生最多的专业之一,计算机专业不仅需要高层次的计算机科学家和研究员,更多需要的是系统掌握计算机科学理论、计算机软、硬件及网络知识的应用型人才,计算机专业教育应以人才市场为的导向,融合在相关学科的知识,满足经济社会发展的对新型复合型人才的需求。在社会对计算机人才的需求呈现多元化的今天,对基础扎实,具有过硬的技术背景,又有较强实践能力和有较强市场意识的应用型计算机人才的需求旺盛。因此,从商科类院校的实际特点出发,探索商科类院校的计算机科学与技术专业人才培养及特色,突出特色和优势,是值得认真研究和需要亟待解决的问题。
2明确人才培养目标,满足人才市场需求
国家信息化的发展步伐在加快,信息产业对人才的需求在进一步增加,从人才就业形势来看,一方面用人单位急需实践能力强,学有所长的计算机人才,另一方面又存在计算机专业的毕业生找不到理想工作的问题。究其原因,主要是计算机专业毕业生的知识结构与用人单位的需求存在一定的距离。计算机专业培养的人才应该是熟练掌握计算机软件开发技术,精通计算机程序设计;掌握计算机网络软硬件技术,能够从事计算机网络应用技术开发和网络编程技术;掌握计算机硬件技术基础,具备计算机硬件或产品开发的潜力;并且通过对上述三个方面知识的选修课程模块使学生在某一个方面学有所长。商科类院校计算机科学与技术专业应该结合现代商科特色,与经济、管理等学科结合,渗透和交叉,培养出特色鲜明并且有竞争优势的学生。
3培养目标与专业特色
商科类院校计算机科学与技术专业要坚持为经济建设和社会发展服务。人才培养目标可以确定为:本专业培养德、智、体、美全面发展,系统掌握计算机科学理论、计算机软硬件及网络理论及应用知识;基础扎实,综合素质高,实践能力强,具有市场意识和创新精神,能够在企事业、政府部门、学校等单位从事计算机软件、硬件、网络系统的研究、开发和管理等工作的应用型高级技术人才。
商科类院校的计算机专业,培养的是“应用型”人才,通过自身已经存在的商科人文环境,着重培养学生的学习、分析与解决问题、开展创新活动的能力,使学生不仅有计算机软、硬件及网络应用知识,又有经济和管理的知识背景,使学生既懂计算机技术,又懂得一些经济和管理方面的知识;当然,培养出来的学生首先应该符合计算机专业人才培养规格要求,学生学有所长;同时,和其他院校相比又应具有商科知识背景,能够在相关专业领域从事信息技术服务、技术管理和市场开拓工作。使学生既懂技术,又会经营管理。
4商科特色的应用型计算机人才培养目标的实现
商科特色的应用型人才培养是由教师教学、学生学习、培养目标、培养模式、教学管理、教学计划、教学内容、教学方法、教学手段等多个方面共同作用来实现的。2006年9月,教育部高等学校计算机科学与技术教学指导委员会编制了《高等学校计算机科学与技术专业战略研究报告暨专业规范(试行)》,由高等教育出版社出版,其中提出了4个参考的专业方向,即计算机科学、计算机工程、软件工程以及信息技术。商科类院校计算机科学与技术专业适合信息技术方向。
4.1课程体系的设置原则
在培养方案和教学内容安排时,即要注重基础理论、基本知识、基本技能的培养,又要突出商科特色,还要注重实用技术与工程开发能力的培养。计算机科学与技术专业培养的学生首先应该满足人才培养规格要求,在计算机软硬件和网络方面有较扎实的基础和较宽的知识面;学生要熟练掌握软件编程技术、计算机网络及网络设备的配置和使用和计算机硬件系统或产品的开发潜力,能够解决生产、生活中的实际问题的能力;课程设置可以从计算机软、硬件及网络三类课程入手,构成课程体系和课程模块。在商科特色的培养方面,要注重学生经管、管理知识和理念的培育。通过教学计划设置商科课程,让学生了解企业经营和管理的实际问题,通过讲座或案例,让学生了解现代企业经营管理模式,通过成功IT企业的案例作为现实教材,使学生在经营、管理和创业等方面能够学以致用。通过实践教学使学生具有较强的解决问题能力,获得一技之长,能够结合企业的实际情况,解决生产中的实际问题,缩短企业对人才需求的距离。
4.1.1专业的核心课程设置
为了满足计算机科学与技术专业人才培养规格,在专业核心课程的设置方面要满足人才培养规格的需要,开展与各有关课程配套的教学大纲、教材建设工作,把本学科领域前沿的优秀学术成果增加到教学内容中去。如下表所示。
4.1.2商科特色的建设
商科类院校计算机科学与技术专业,在培养方案中要体现商科背景的培养。主要通过六个层次的教学实现,首先,在公共基础课中开设经济学通论、管理学通论二门课程;第二,在人文科技选修课中,限制学生选修6个学分的经济管理类课程;第三,在专业选修课中开设财税实务、项目分析与策划、行业营销、企业登记运行等专题讲座;第四,在独立实践教学环节中,设置计算机市场调研、电子及计算机产品营销实践等实习环节;第五,在专业课中,结合学科建设的优势,开设电子商务技术、信息管理等方面的课程;第六,鼓励学生参加经济、管理类学术交流活动,辅修经济管理类第二专业;发挥商科类院校的特色。
4.1.3实践教学体系建设
实践教学通过课程内实验、独立开课实验、实习、课程设计、毕业设计、第二课堂、创新学分设置等实现。独立的实践教学环节,如计算机导论实验、C语言程序设计实验、大学物理实验、面向对象程序设计实验、计算机网络工程实验、大型数据库系统实验、计算机市场调研、电子及计算机产品营销实践、专业实习、毕业实习、面向对象程序课程设计、数据结构课程设计、网络工程课程设计、软件综合课程设计、毕业设计等。实验场地可以建设计算机专业软件和计算机网络实验室,建立软件技术校内实习基地,如建立软件技术创新实验室,程序设计基地等。利用社会资源,建设校外实习基地,满足学生的实习、实践需要。构建立体的实践教学体系。
5综述
商科类院校计算机科学与技术专业特色,通过培养方案开设商科类课程、实践教学环节、第二课堂、学术交流活动、辅修专业、开设计算机在经济管理学科领域的应用课程等方法,具体落实学生商科背景、经济管理的知识培育,发挥商科院校专业教学、科研优势。
通过建立稳定的校外实习基地,使学生尽早接触社会,了解当地经济建设和生产实际需求;提高学生实践能力。建立软件技术创新校内实习基地,鼓励学生积极参加课外科技创新活动,形成良好的科技创新和专业学习氛围,培养高水平的应用型人才。组织学生参加“大学生程序设计大赛”,全国“挑战杯”课外学术科技作品竞赛等活动,为学生提供更多的科技创新活动机会,提高学生专业学习的主动性和积极性,形成良好的科技创新和专业学习氛围,促进专业建设和实践教学工作,培养出高水平的具有商科特色的应用型高级技术人才。
参考文献
[1]蒋宗礼,王志英,李晓明,孙吉贵,樊晓桠.构建计算机科学与技术专业公共核心课程[J].中国大学教学,2007,(11).
中图分类号:G642文献标识码:B
1引言
软件学院软件工程硕士的培养目标是培养高层次、应用型人才,针对这个目标,其教学实施应着重体现出以下两个差异性:
(1) 软件工程学科领域和计算机学科领域间专业设置的差异性,这个差异应能够很好地体现培养应用型人才的目的;
(2) 工程硕士课程和软件学院本科课程的差异性,这个差异应能够很好地体现培养高层次人才的目的。
目前国内软件学院软件工程学科和传统的计算机科学学科在课程设置上差异还不显著,工程硕士的培养方案中甚至部分课程只是本科阶段的重复。虽然大都开始强调学生的软件项目实践,但普遍缺乏过程管理。本文在对IEEE的软件工程知识体系进行深入学习的基础上,针对软件学院软件工程硕士提出了实现开放式教学体系的教学改革方案。
2软件工程知识体系
2004版SWEBOK将整个软件工程知识体系分为11个知识领域(Knowledge Area,KA),其中前5个知识领域是按软件开发的生命期诸阶段排列的,即软件需求、软件设计、软件构造、软件测试和软件维护;后6个知识领域是软件开发中的支撑性或者辅的方面,可能覆盖软件开发的多个阶段,包括软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量、相关学科知识领域。这些知识领域SWEBOK并没有重新系统规定,而是直接套用已经成型的各领域知识体系,因此不可避免地存在重叠和不匹配。
在SWEBOK的基础上,IEEE与ACM又共同拟定了CCSE。其中的核心部分是软件工程教育知识(SEEK)。SEEK由十个知识领域组成,包括:计算机基础(CMP)、数学和工程学基础(FND)、职业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证(VAV)、软件演化(EVL)、软件过程(PRO)、软件质量(QUA)、软件管理(MGT)。
可以看出,SEEK和SWEBOK基本内容是相近的。总的来说,二者都是包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。
3高等教育教学改革研究状况
目前国内关于高等教育教学改革的论文很多,如翁敬农、刘云等在软件学院实践教学体系的内容与规划中提出了“一个目标”、“两种途径”、“三大环节”、以及“四级台阶”的具体步骤。王移芝、林艳琴提出基于“两段教学”的计算机基础课程的教学体系框架。谢芳清、闫大顺提出了以素质教育为目标的实践教学体系。王浩、胡学钢等提出计算机科学与技术专业实践教学体系的总体研究与建设。王志英以国家实验教学示范中心为例,提出实践是综合能力培养的基础,并以此构建计算机科学与技术专业实践教学体系。董玮、邱建华等以专业课“程序设计基础(C语言)”为例给出了建设实践教学体系的实践探索。然而目前还没有检索到专门研究软件学院工程硕士教学改革的论文。无论是从传统计算机科学与技术专业与软件学院软件工程专业的区别,还是本科生与研究生的区别来看,针对软件学院工程硕士的教学改革研究都是十分有必要的,同时也是迫切的。
4工程硕士的课程体系设计策略
我们以IEEE SWEBOK和CC2004SE的知识体系为主体,结合中国软件产业以及本院的具体实际情况,设计了中国科学技术大学软件学院软件工程专业的知识体系,作为我院工程硕士课程设置和教学计划实施的依据。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置可以分为三个层次,即导论性课程、软件工程核心课程和其他课程。如图1所示,该知识体系定义了7个知识体系子类。计算机基础和数学和工程学基础属于导论性课程、其他课程包含了职业实践、领域课程、软件工具、工程实践等四个子类。
其中计算机基础定义了软件工程作为计算学科所必需包含的计算科学基础以支持软件产品的设计与建设;数学与工程学基础提供了软件产品获得所需属性的理论和科学基础;职业实践则聚焦于软件工程师以职业行为从事软件工程实践所必需具备的知识、技能和态度;软件工程核心课程应该包含软件开发生命周期所涉及到的主要知识领域;领域课程包含了对于某个特定领域软件工程师应该接受的特定教育或经验;软件工具定义了从事软件工作所必需掌握的当前主流工具与软件产品等;工程实践则是学生使用所学到的知识从事实际开发活动,提供动手能力的重要环节。
对于工程硕士来说,大部分同学经过计算机本科专业的学习,已经具备了初步的计算机基础以及数学与工程学基础,因此目前其课程体系建设如图2所示,重点是完成软件工程核心课程教学,并结合IT界的最新技术趋势设计相关领域课程。教学改革的核心是如何设计软件工程的核心课程,并指导学生熟练掌握相应的软件工具,强化他们的实践动手能力。
5工程硕士开放式教学体系建设
对于如何设计软件工程的核心课程,我们的主要思路是打破原先各子知识体系间的界线,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,实现一个完整的开放式教学体系。如图3所示,整个开放式学习体系包含三个部分:
(1) 设计课程组:在理论环节采用课程组的概念,集中讲授较高层次的、符合硕士生水平的软件工程的某些重要环节;
(2) 开设实践教学环节:在实践教学中采用做中学(Learning by Doing或LBD)理念,由指导教师讲述软件工具的具体操作过程,同学实际动手学习;
(3) 强化工程实践:在工程实践中由学生自主选题,并将LBD中讲述的工具在项目整个生命周期中贯穿使用。
5.1设计 课程组
目前我院开设的高级软件工程和本科的软件工程课程内容并没有太大差别,对于软件工程的各个环节面面俱到,但又都比较浅显,对于工程硕士的培养显然是不合适的。因此我们设计了软件工程课程组的理念,初步设计了以下课程:
(1)“软件开发管理”(Managing Software Development)
(2)“软件系统架构”(Architectures for Software Systems)
第一门课程主要针对以后立志从事软件工程管理方向的同学,课程针对IT项目集中阐述如何实现风险、资金、工期等各方面的管理;第二门课程主要针对以后立志从事软件高级开发方向的同学,课程主要讲述复杂软件系统架构层上的设计,介绍目前通用的软件系统结构、设计技术以及实现这些结构的模型、表述方法等。这两门课程对于软件工程硕士应该至少必修一门。除了这两门课程,其他软件工程类的课程包括了设计模式、软件测试、语言类课程如J2EE、.NET等等,学生可根据自己的实际情况进行选修。
5.2开设实践教学
针对该课程组,我们开设了实践教学环节,采用做中学理念,由指导教师(可以由助教担任)根据事先确定的主题,选用具体工具讲述如何使用该工具完成项目开发的某具体环节,工具涵盖了项目管理、架构设计文档化以及测试等软件项目开发的主要方面。
对于软件工具的选择,有两种思路。一种方法是对软件工程的不同环节分别选择不同工具,例如项目管理选Project、开发文档化选Rational、测试再选别的工具这样来做,但结构分散,不利于整体化考虑。另一种是采用套件,完成项目开发全程的所有操作,目前我们选择了两种套件,一是微软的VSTS,该套件和微软的Visual Studio开发平台绑定,适合学习.net开发框架的同学;另一种是IBM的RSA,该套件和Eclipse开发平台绑定,适合选择开源J2EE开发框架的同学。
5.3强化工程实践
大多数的软件学院目前都开设了专门的工程实践环节,但实际的效果并不尽如人意。因此我们将工程实践环节也纳入到开放式学习体系中,以前面所说的理论以及实践教学环节来指导学生更好地高质量完成整个工程实践。
从教学方法上,工程实践应尽可能地贴近现实项目,除了常见的软件工程文档,我们还要求学生提交过程管理类文档(软件开发合同、会议记录、工作日程记录、合同执行报告:财务报告和开发过程报告、个人总结、小组总结等)。
从技术上,学生可以自由选题,也可参考工程实践题库中的选题。选题涉及所有领域课程包含的内容。要求学生必须采用实践教学环节中介绍的工具全程介入项目开发的各个阶段。学院设立专门的工程实践网站提供学生选题及交流,以及指导教师的监督。
从教学形式上,则注重如何实现应用型软件人才的核心能力分析与培养,要求学生运用职业实践子知识体系中的相应内容,锻炼学生的口头表达能力、书面表达能力等。通过学生的开题演讲、采用各种工具完成相应的项目文档、结题答辩等环节来实现学生职业素质的培养。
从实践效果评价上,我们制定了一系列的成绩考核方法、管理考核信息、分析考核结果、评价教学质量等措施,实现完整的考核体系。
6结论
软件工程专业学生的培养,在学科教育与培养面向市场需求的人才方面有着事实上的矛盾。软件学院现有的实践教学体系存在着专业课程设置定位不准确、课程实验师资不足、实验教学内容质量不高、实验指导和管理落后等问题。根据软件工程专业教学所面临的挑战,在充分调研IEEE SWEBOK和CC2004SE知识体系的基础上,针对软件学院的工程硕士,我们提出了软件工程硕士开放式教学体系的建设,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,制定了一套较为完整的开放式实践教学实施计划。
参考文献 :
[1] Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering [EB/OL]. [2004-08-25]. /ccse/SE2004Volume.pdf.
[2] 翁敬农,刘云. 北航软件学院本科生实践教学体系的研究与实践[J]. 计算机教育,2007(11).
[3] 王移芝,林艳琴.“计算机基础课程”实践教学体系的研究与实践[J]. 实践教学,2008(8).
[4] 谢芳清,闫大顺. 计算机工程专业实践教学体系的研究[J]. 中国科技信息,2008(9).
Mathematica
Bertrand Russell’s Manuscripts and Notes for the 2nd Edition
2011,407pp
Hardback
ISBN9781107003279
B. Linsky著
本书是对哲学家、逻辑学家、数学家、历史学家、社会评论家勃兰特·罗素(1872-1970)关于《数学原理》第2版的手稿和笔记的整理和解读。
1910年罗素的《数学原理》第1版出版,该书促使了数理逻辑和计算机科学的发展,从而推动了信息科学的进步。它成为现代分析哲学的模型,至今仍然占据着重要的地位。1925-1927年间,A. N.怀特黑德(Whitehead)和罗素出版了该书的第2版。第2版分为三卷,由剑桥大学出版社出版,其中包含了第1版的内容,同时增加了由罗素独立撰写的新导论、三个附录(附录A,B和C)和一个定义列表。虽然新增的这些内容只有短短66页的篇幅,但是它却完全改变了《数学原理》的体系结构,有些地方甚至需要深层次地重新思考逻辑的本质。在20世纪60年代后期,加拿大麦克马斯特大学(McMaster)的勃兰特·罗素档案馆得到了罗素的论文,信件及藏书。这些档案里面包含了罗素在1925年向第2版新增的新导论和三个附录的手稿,还有关于《命题和功能的层次结构》一文的手稿,该文是最后修改《数学原理》第2版的主要内容。这些文档展示出罗素非凡的洞察力,如附录B中罗素尝试求解有问题的理论“归纳法”。
本书共8章:1.导论;2.关于第2版的写作;3.第1版的逻辑;4.记号和逻辑;5.新版本的改进;6.在附录B中的归纳法和类型;7.第2版收到的评价;8.罗素写给卡尔纳普(Carnap)的定义列表。
本书作者B. Linsky是加拿大阿尔伯塔大学的哲学系教授,研究有关形而上学的哲学逻辑领域,出版专著4部,40余篇。2003年开始访问罗素档案馆,研究罗素手稿和书信,编辑整理罗素关于《数学原理》第2版的笔记和手稿,并写出一系列的研究论文。
本书适合于研究哲学、逻辑学、逻辑数学等相关领域的人员阅读。
陈涛,
博士生
一、计算思维与离散数学
根据周以真教授的定义,[1]计算思维是运用计算机科学的基本概念来求解问题、设计系统和理解人类行为,包括了一系列广泛的计算机科学的思维方法。比如,在解释一个看起来比较复杂的事物时,计算思维通常会采用约简、转化、仿真等思维方法;在处理复杂的问题时,通常会采用抽象以及分而治之的思维方法。计算思维采用多视角、最适合的表示方式来表述一个问题,或者对问题的某个特定方面进行建模,从而使问题易于理解和处理。周以真教授认为一个人具备计算思维能力体现在如下几个方面:给定一个问题,能够理解其哪些方面是可以计算的;能够对计算工具或技术与需要解决的问题之间的匹配程度进行评估,能够理解计算工具和技术所具备的能力以及其局限性;能够识别出使用新的计算方法的机会;能够在任何领域应用诸如分而治之等计算策略。
离散数学作为计算机相关专业的一门重要基础课,它所研究的对象是离散量的结构以及相互间的关系,其内容对后续的数据结构、编译原理、数据库原理、人工智能等计算机核心课程都具有非常重要的作用。通过学习离散数学,可以培养和提高学生的抽象思维和逻辑推理能力。而抽象思维和逻辑推理恰恰是计算机科学最常用的思维方法,也可以说是计算思维的核心所在。因此,离散数学教学内容所蕴含的思维方法恰恰体现了计算思维,另一方面,也可以从计算思维所包括的思维方法角度重新审视和梳理离散数学的教学内容,从培养计算思维和解决实际问题两个角度展开教学内容和教学方法方面的研究,更好地进行离散数学的教学,从根本上解决传统离散数学教学中所面临的问题。
二、基于计算思维培养的离散数学教学内容改革
在离散数学的教学中,讲授的具体知识点基本都涵盖了计算思维中其它基本概念和思维方法。比如数理逻辑部分就涵盖了归结推理、约简等常用的思维方法,等价关系涵盖了软件测试中常用的样本点选取的思维方法;代数结构涵盖了抽象的思维方法。为了更好地展开教学,针对离散数学的教学内容进行了基本概念和思维方法的抽取,并在实际教学过程中将这些计算思维中的方法传输给学生。例如,在讲解数理逻辑中的归结推理方法后,将以伪代码的形式表达其算法,并且鼓励学生利用LISP语言完成命题逻辑的归结推理算法。同时,在给出归结推理算法后,对算法的复杂度、完备性、可终止性等问题进行简单论述,从而告知学生谓词逻辑本身是不可判定的。下面两个表格(见表1、表2)列出了在教学过程中整理出来的部分教学知识点与计算思维的对应关系。限于篇幅,在此不一一阐述。
三、基于计算思维培养的离散数学教学手段改革
在对教学内容进行改革的基础上,采用何种有效的教学手段展开教学,是能否培养学生计算思维能力的关键。在教学过程中,主要采用两种方法:归纳学习法和案例驱动法。
所谓归纳学习法是通过归纳思维,形成 对知识的特点、中心、性质的认识、理解与运用。在教学过程中,讲解完具体的教学内容后,都会将其蕴含的计算思维方法进行归纳总结,并利用其蕴含的计算思维方法去解决一个实际生活中的问题,比如:在讲解完代数系统部分的内容后,其蕴含的主要计算思维方法就是抽象,从而可以将有理数四则混合运算、实数运算和复数运算等抽象为代数系统。然后,就可以引入面向对象程序语言中的抽象概念,包括类、对象等,很好地将离散数学中的教学内容与学生所熟悉的编程语言有效地结合起来。一方面,加深学生对教学内容的理解,另一方面,学生能够灵活运用所学的计算思维解释现实问题。
归纳学习法是从教学内容出发,提炼计算思维,解决现实问题的过程。而案例驱动教学法则是根据现实问题,使用计算思维引出教学内容的过程。在教学过程中,如果突兀地引入具体的教学内容,而不对其应用场景进行阐述,大部分学生都会感觉无法理解。为此,引入了案例驱动教学法。例如,在介绍最短路径算法时,一般先引入旅行商问题,然后利用抽象的思维方法将一些无关的因素去掉,进而构建出一个抽象图的形式呈现出来的模型,自然地引入了最短路径算法。同时在算法介绍过程中,可以对权值所表示的含义进行解释,既可以表示时间也可以表示路长,从而产生两种不同的路径。最后可以让学生把这一问题推广到软件项目管理中关键路径的处理,激发更深层次的思考。在讲述欧拉图的时候,可以类似地展开案例教学法。首先,给出著名的哥尼斯堡七桥问题,然后利用抽象的计算思维方法忽略桥的宽度、距离等无关的因素,从而对哥尼斯堡七桥问题进行建模,自然地得出欧拉图的定义。
四、结束语
作为计算机相关专业的核心基础课程,离散数学为计算思维能力的培养提供了一个很好的平台,也为更好地展开离散数学教学内容的组织和教学方法的改革提供了思路。本文在分析离散数学教学内容和计算思维的内在关系基础上,从教学内容和教学手段两个方面进行了一定的探索,将计算思维的培养有机地结合到离散数学的教学过程中。从教学效果和学生反馈来说,都取得了显著的成效。然而,在加强了计算思维的培养之后,还要求能够应用新的思维方法解决具体的专业问题,能够推陈出新,提出新的思维方法。这些方面仅仅依靠离散数学的教学还远远不够,需要将计算思维的培养理念贯穿于各个专业课程的教学过程中。
参考文献:
.Communications of ACM,2006,49 (3):33-35.
[2]周以真.计算思维[J].中国计算机学会通讯,2007,3(11).
[3]李国杰.计算思维不仅仅属于计算机科学家[N].大众科技报,2009-08-02(B01).
[4]孙家广.计算机科学的变革[J].中国计算机学会通讯,2009,2.
姓名: 专业: 所属系别:
学号 指导教师姓名 职 称:
开题报告时间: 年 月 日
论 文 题 目 :小型医院业务管理系统设计
1、拟选课题国内、外的研究动态、水平、存在问题,与本人实习、社会实践、调研的关系,并附主要参考文献:
医院的医疗水平和服务质量一直是国内外关注的焦点,仅靠增加基础设施投入和脱离信息化的管理方法的改进,是不能从根本上提高医院的工作效率、服务质量和管理水平的。医院业务管理系统的目的就是减轻业务劳动强度,减少了差错,科学管理药品,节省人力,提高医院的财、物管理水平,增加经济效益,改善患者的就医环境,方便患者就医和查询,提高医院的服务效率和服务质量,提高医院的医疗质量和管理水平。所以,一个现代化的适应社会发展需要的医院,除了具备一流的医疗队伍、一流的服务设施之外,还应具备一流的业务管理系统。
医院业务管理系统不仅能提高医务人员的工作效率和医疗水平,而且能提高医院的服务质量。因此,医院对业务管理系统有着强烈的需求。本文介绍了医院出入院处、病区、药房、药库的业务流程,在整体分析医院各部门以及部门之间的实际工作业务的基础之上,结合管理系统开发的理念,用VB 6.0作为前端开发工具,开发了医院业务管理系统。目的就是利用计算机软硬件技术、 网络通讯技术等现代化手段,对医院及其所属各部门的业务进行综合管理。从而为医院的整体运行提供全面的、自动化服务的业务信息系统。全文通过对业务流程的分析以及对系统的模块设计、实体-联系图(E-R图)设计、关系模式设计、数据库设计、代码设计、人机界面设计等,详细地阐明了本系统开发的目的、过程及预期效果。
业务管理系统是一门集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是管理活动的全过程,以便有效的管理医院。
参考文献
[1]张莉 王强 赵文方 董莉 《SQL Server 数据库原理及应用教程》清华大学出版社,2002
[2] 萨师煊、王珊.数据库系统概论(第三版).北京:高等教育出版社,2000
[3] 张海藩.软件工程导论(第四版).北京:清华大学出版社,2003
[4] 催五子、于宁。界面设计与Visual Bbasic.北京:清华大学出版社,2004
2、课题拟解决的主要问题,在理论和应用方面的意义,完成课题的条件(包括实习单位情况)和设计(论文)的主要内容:
意义:1、为病人提供更好更快、更快的服务,提高医院在医疗市场的竞争力以及吸引更多的病人到本医院就医;
2、人力工资昂贵,迫使医院采用计算机以提高劳动效率;
功能:1、门诊挂号:为病人提供就医卡方便病人;
2、住院病人管理系统:是医院可以随时了解病人情况;
3、药房管理系统:提高了药品管理的质量,和工作效率;
4、门诊医生工作站、住院费用的管理、病历管理系统、以及外部接口等。
3、指导教师对学生选题报告的评语:
指导教师签字: 年 月 日
4、选题报告会评议组意见:
组长(签字): 年 月 日
5、学院审查意见:
1.引言
随着计算机技术、通信技术和数字广播等技术不断发展,以互联网、无线通信为传播载体,以传统媒体内容与创新内容模式为核心的数字媒体产业在全球范围快速崛起,并正在改变着人们的信息获取方式和休闲娱乐的形式。
我国的数字媒体业近几年正处于高速发展时期,对于具有较高人文素养、掌握数字媒体核心技术并具有艺术创意能力的复合型数字媒体技术开发与设计人才需求旺盛。四川理工学院软件工程专业是与IT企业合作办学、实行“3+1”人才培养模式,即学生前3年在校学习,第4年在软件企业实习并完成毕业设计(论文)。为使培养的学生既有较扎实的理论基础,又有适应人才市场需求的职业技能,在软件工程专业大框架下设置了数字媒体技术方向。
数字媒体技术作为一个宽口径、以技术为主、艺术为辅、技术与艺术相结合的新的专业方向,涉及到不同的学科知识,因此,我们有必要通过探索与改革人才培养模式、课程体系以及实践教学体系的研讨,搭建科学的创新人才培养平台,促进软件工程专业人才培养整体水平的提升。
2.人才培养目标
培养目标是制定教学计划、设计课程结构、选择知识发展方式以及确定教学组织形式的依据,也是教学内容、教学方法、教学组织与管理、教学手段、教学评价等方面改革的基础和前提。软件工程专业数字媒体技术方向具有软件工程与数字媒体技术相结合的特色,注重对学生软件开发、应用能力的培养,实践性强。结合我们自身办学特色和办学条件,我校软件工程数字媒体方向人才培养目标是:“培养具备计算机科学、多媒体网络、软件工程技术、信息安全等方面的专业知识与技能,具有扎实的软件工程和数字媒体技术基础理论、宽厚的专业基础知识、较强的实践能力,能够从事包括新媒体应用以及虚拟现实等在内的多媒体技术开发、数字媒体设计与创作、计算机游戏设计、网页设计与网站维护、信息服务及数字媒体管理等工作的创新性技术人才。”
3.核心课程体系
数字媒体方向课程体系的建设以创新性复合型人才培养为基本指导思想,重视实践课程的开设,使学生所学习掌握的方法具有充分的实效性,真正做到学有所用,以适应未来的工作岗位,成为本行业和企业所欢迎的有用人才。课程体系分为软件工程专业核心课程模块、数字媒体方向核心课程模块、专业实训、毕业实习和毕业设计(论文)等模块。
3.1 核心课程
软件工程专业数字媒体技术方以软件工程专业为主线构成专业基础和专业主干课程。其中,计算机与软件基础课程有:计算机导论、程序设计入门、面向对象程序设计、数据结构与算法、Java程序设计、计算机组成原理、数据库原理、计算机网络、操作系统、编译原理、信息安全技术、计算机体系结构以及J2EE与中间件技术;软件工程专业课程有:软件工程导论、软件测试技术、需求分析与UML设计、软件项目管理与过程控制;数字媒体技术专业课程有:数字媒体技术导论、计算机图形学、数字图像处理、网络流媒体技术、用户界面设计、视频音频制作与处理、数字影视特技应用、高级游戏特性与游戏引擎、人机交互技术、虚拟现实技术与应用、高级脚本与插件技术等。对于实践性较强的课程开始单独的实验课程和配套的课程设计。
3.2 特色课程
计算机网络游戏由计算机技术、艺术设计学和计算机动画以及计算机图形图像技术高度交叉结合,目的是培养具有扎实的游戏编程功底和良好的逻辑思维习惯,具备较强的审美能力和一定的艺术素养,熟悉游戏产品开发流程,具有一定的策划能力,能在游戏公司、门户网站、手机运营企业、动画公司等单位从事游戏设计、游戏开发、游戏制作、游戏策划、游戏运营等方面工作的富于竞争力与创新精神的高级复合型人才。
计算机游戏程序设计。课程目标:本课程主要学习普及游戏开发理念,培养游戏开发氛围,挑选有潜力的学生组成开发团队;传授游戏开发中的程序设计要素,特别是游戏引擎开发的基本知识。通过本课程的学习,学生能够掌握游戏开发的基本理念,熟悉游戏开发的基本技巧和流程,并具备从事游戏程序设计工作的基本技能。
虚拟现实与数字娱乐。课程目标:本课程主要介绍虚拟现实的基本概念及其系统组成、相关的软件技术及虚拟现实的应用,并介绍了当前数字娱乐的现状,发展和一些关键技术。内容包括:虚拟现实的定义、特性和组成,虚拟世界的创建和管理,虚拟现实中的视觉计算,虚拟现实中的交互技术,虚拟现实中的声觉计算,增强现实,分布式虚拟现实,虚拟现实应用,与虚拟现实相关的数字娱乐技术。
4.实践教学体系
培养符合时代需要的创新性人才,就要强化实验教学的开放性和多层次化。基于创新性原则和以生为本原则,结合培养目标和自身教学特点,数字媒体技术方向实践教学体系分为课程实验,专业实训、毕业实习和毕业设计三个方面,各实践环节之问相互协调、相互衔接、循序渐进。
4.1 课程实验
依照实践能力培养循序渐进的原则,根据实现数字媒体技术专业基本能力培养的系列课程,并按照系列课程的复杂度和规模设计实践环节,开展了多层次课程实验教学,根据学生的需要和实践能力培养的渐进规则,将实验课安排大学四年的各个环节。
多层次实验教学是指在实验大纲与目标的规范基础上,将实验项目设计成基础型、综合设计型、研究创新型不同层次的实验。同一学生从基础规范一综合设计一研究创新这样难度递增的实验项目中逐渐进行训练,实现系统培养学生综合实践能力。课程实验主要包括:手绘训练、视频特技与非线性编辑、多媒体网页设计、移动娱乐软件开发、网络娱乐软件开发、界面设计课程设计、虚拟现实开发课程设计等。
4.2 专业实训
专业实训作为知识、能力、综合素质教育的结合点,成为数字媒体技术专业实践教学的重点之一。专业实训是对课堂教学具有延伸作用,是学生培训职业能力、熟悉职业环境、了解实际知识的重要渠道。通过专业实训,学生不仅可以把所学转化为所用,还能使学生在学习操作过程中通过不断调整自己的知识结构来慢慢适应相应职业岗位,锻炼职业的能力,为实习以及今后走向社会积累经验、打下基础。
我校软件工程专业是校级专业综合改革试点专业,以争建微软IT学院、HP软件学院为契机,与知名IT企业开展深度合作,联合培养具有国际视野的软件开发、软件测试和服务外包人才。与中软国际、Tarena(达内)科技等十多家IT企业联合建立了实习实训基地、就业基地。
4.3 毕业实习和毕业设计
毕业实习是学生将前期学习到的知识运用到生产实践中,真正了解、感受未来的工作,锻炼自己各方面的综合能力。真正实现与行业需求的专业实践能力对接。能胜任相应岗位的工作,从而积累工作经验,为就业做准备。为了增强学生和指导老师对毕业设计(论文)及毕业实习的重视,提高毕业设计(论文)的质量和提高学生在毕业设计(论文)及毕业实习实践环节获得的实践能力,也为缓解毕业设计时间(论文)不足,笔者将毕业实习与毕业设计(论文)有机结合,实行“毕业实习+毕业设计”相结合的模式,学生毕业设计的内容来自于毕业实习,并且毕业设计的内容要将毕业实习的内容进行一定的升华,除体现学生四年来所学知识综合之外,还要体现出学生的创新能力与科研能力,达到培养创新型、复合型人才的标准。
5.结束语
通过对国内外数字媒体技术相关专业及方向的调研,基于创新性人才培养目标,建立了相关的核心课程和多层次实践教学体系,融合专业技术、实践教学、校企合作共同培养为一体的软件工程数字媒体特色专业方向的知识体系,着力培养学生的艺术与技术交叉结合的数字媒体制作与开发能力和职业素质,进而使得学生的基础知识、科学素养、艺术感悟、专业知识、创新能力、工程能力和职业素质都得到全面均衡的发展,以增强他们在数字媒体行业就业的竞争能力。
参考文献
[1]沈琦,于学军,张丽,等.软件工程(数字媒体技术)特色专业复合型创新型人才培养模式研究[J].中国校外教育,2010,16:162-163.
[2]蔡建平,沈琦,于学军等.软件工程(数字媒体技术)特色专业的特色建设[J].软件,2012,33(4):108-111.
[3]耿卫东等.面向数字媒体技术专业的数字化学习平台建设[J].计算机教育,2010(16):99-101.
[4]向辉.数字媒体技术专业课程体系探讨[J].计算机教育,2008(15):28-30.
中图分类号:G642 文献标识码:A
文章编号:1672-5913 (2007) 24-0062-03
1引言
“离散数学课程”是介绍“离散数学”各分支的基本概念、基本理论和基本研究方法、研究工具的基础课程,现已成为计算机科学与技术专业的核心基础课程,IEEE&ACM的CC2001教程更是以十分显著的方式强调了这一点。离散数学课程所涉及的概念、方法和理论,大量地应用在"数字电路"、"编译原理"、"数据结构"、"操作系统"、"数据库系统"、"算法的分析与设计"、"软件工程"、"人工智能"、"多媒体技术"、"计算机网络"等专业课程以及"信息管理"、"信号处理"、"模式识别"、"数据加密"等相关课程中;它所提供的训练,十分有益于学生概括抽象能力、逻辑思维能力、归纳构造能力的提高,十分有益于学生严谨、完整、规范的科学态度的培养。这些能力与态度是一切软、硬件计算机科学工作者所不可缺少的。离散数学课程所传授的思想和方法,广泛地体现在计算机科学技术及相关专业的诸领域,从科学计算到信息处理,从理论计算机科学到计算机应用技术,从计算机软件到计算机硬件,从人工智能到分布式系统,无不与离散数学密切相关。
2离散数学的教学内容
由于计算机无论多么先进,都只能处理有限的离散数据,正因为如此,才使得离散数学和计算机有了莫大的联系。那么,是不是所有研究离散结构的数学都归于离散数学呢?基于各种原因,许多具有离散结构的数学,并不一定属于离散数学。离散数学可以说是和计算机一起发展起来的学科,是一门新兴的学科,对于究竟什么属于离散数学,人们也没有完全一致的看法。如同我们的教材,把数理逻辑、集合论、群论、图论都归为离散数学。另外,不少学者把组合学、计数、排列也归为离散数学。其实,数学本一家,精确划分没有必要。但我认为,离散数学的核心应是组合数学和图论。只可惜,我们的教材中几乎没有组合数学,这一点,实在是一大缺憾。
离散数学包括的教学内容,对每一个从事计算机技术的人都要求掌握和了解。因为在形式证明、验证、密码学的研究与学习中要有理解形式证明的能力;图论的概念被用于计算机网络、操作系统和程序设计语言的编译系统等领域;集合论的概念、关系代数等在软件工程和数据库中也会用到。总之,为了适应计算技术的要求及将来的发展,学生需要对离散结构有比较深入的理解。
3离散数学的教学方法
离散数学作为一门计算机专业的核心基础课,往往开设的比较早,所以很多同学在学习这门课的时侯还缺乏对其价值的认识。再加上对数学的敏感性,所以很排斥它。如何教好这门课,除了让学生对这些内容感兴趣外,还要让他们对其在计算机中的应用有些感性认识。因此,在介绍离散数学的每一分支时,都要分三步走:
第一,先要了解这一分支的悠久历史;
第二,学习它的基本概念、基本理论和基本研究方法;
第三,了解它在计算机科学中的应用。
(1) 各分支的悠久历史
数学推理与逻辑之间,有着密切的联系,早在两千多年前的古希腊,就有了逻辑学的萌芽。不过那时的逻辑称为古典逻辑,属于哲学的范畴。数理逻辑诞生于十九世纪中叶,源于古典逻辑。
群论诞生于十九世纪二十年代,由法国天才数学家伽罗华创立。有趣的是,他创立群论的目的是为了解决高次方程求根问题,如果他知道群论与现代的计算机学科联系如此紧密,一定会惊叹不已。
图论最早起源于一些数学游戏,相信对数学感兴趣的同学一定都听说过哥尼斯堡的七桥问题。图论与几何不同,几何讨论图的长短大小,而图论是讨论图的边和顶点之间的位置关系,正因为如此,莱布尼兹把她称为“位置几何学”。图论的问题非常有趣,往往答案很简单,但却非常非常难以想到。尤其是其分支拓扑学,更是如此。你知道九联环也是图论问题吗?
集合论起源于十六世纪末期,开始是为了追寻微积分的坚实基础,后来,德国的数学家康托教授发表了一系列有关集合论的文章,奠定了集合论的基础,集合论也从此发展起来。现在,集合论已经渗透到泛函、概率、函数论等各门学科。
(2) 各分支的基本概念、基本理论和基本研究方法
数理逻辑又名符号逻辑,是一门用数学方法研究推理过程的科学。主要目的在于探索出一套完整的规则,按照这些规则,就可以确定任何特定论证是否有效。这些规则,通常称为推理规则。在逻辑学中,与其说注重的是论证本身,不如说注重的是论证形式。
集合论主要研究了集合的基本概念和运算,关系的基本概念以及全序、偏序等概念,函数的定义与性质。重点研究了关系矩阵和关系图的表示,关系的性质及判别方法;复合关系和逆关系的概念及其求法,关系的自反、对称、传递闭包的概念及其求法;等价关系的判定与相关等价类的求法、偏序关系的判定以及哈斯图的表示法。
代数系统部分需要了解代数系统以及同态、同构的概念,掌握代数系统运算的性质及各种特殊元素,几种特殊代数系统的判定及其性质和简单运算。
图论部分了解有关图的基本概念、图的同构,掌握图的表示方法,欧拉图及哈密顿图的判别方法,最小生成树的求解方法。
(3) 各分支在计算机科学中的应用
数理逻辑的学习,可以在形式证明、验证、密码学的研究与学习中增强理解形式证明的能力;用关系代数、谓词逻辑研究数据库等。
集合论的概念、关系代数等在软件工程和数据库中也会用到。
图论的概念被用于计算机网络、操作系统和程序设计语言的编译系统等领域;近期,还研究用图论研究数据结构、操作系统的结构和死锁问题。
在计算机发展初期,利用命题逻辑,布尔代数理论研究开关电路,从而建立起一门完整的数字逻辑理论,对计算机的逻辑设计起了很大作用。在近期,利用代数结构研究编码理论,利用谓词逻辑研究程序正确性问题,利用能行性理论(如递归函数论)研究计算机中的可计算性理论。
4离散数学的学习
作为计算机系的一门课程,离散数学有与其它课程相通相似的部分,当然也有它自身的特点,现在我们就这门课的特点做一个简要的分析。
(1) 定义和定理多
离散数学是建立在大量定义上面的逻辑推理学科。因而对概念的理解是我们学习这门学科的核心。在这些概念的基础上,特别要注意概念之间的联系,而描述这些联系的实体则是大量的定理和性质。
离散数学的定义主要分布在集合论的关系和函数部分,还有代数系统的群、环、域、格和布尔代数中。一定要很好地识记和理解。
(2) 方法性强
离散数学的证明题中,方法性是非常强的,如果知道一道题用怎样的方法证明,很轻易就可以证出来,反之则事倍功半。所以在平常复习中,要善于总结,那么遇到比较陌生的题也可以游刃有余了。
(3) 有穷性
由于离散数学较为“呆板”,出新题比较困难,不管什么考试,许多题目是陈题,或者稍作变化得来的。“熟读唐诗三百首,不会做诗也会吟。”因此,要学好离散数学,就应该在平时多做些题目,强化对知识的理解。
5 结束语
以上是我关于离散数学这门课的一点教学心得,几轮的教学下来,我深深觉得我们要注意培养学生掌握获取知识、科学研究和发现新知识三种方法。在传授知识的过程中,要教会学生学习的方法和研究问题的方法,同时还要通过课内课外的各种教学活动来提高学生的能力,培养学生的素质。关于离散数学这门课程,可以让学生完成离散数学在计算机科学中的应用的相关论文,内容选择
• 可以是下列应用介绍之一:
C 群与编码.
C 鸽笼原理(pigeonhole principle)
C 传递闭包和Warshall 算法
C 布尔代数和电路设计
C 图和运输网
C 半群与机器简化
C 使用数论理论解释公共密钥技术(public key cryptography)
• 可以是离散数学难题, 如: 较难的思考题的解答
• 可以是与离散数学有关的趣味问题的考察
• 可以是任何您高兴研究的离散数学相关问题
这样,才能将僵化的知识与实践结合起来,才能激发学生的创造力,从而使学生真正认识到它的重要意义。
Talk About Discrete mathematical Teach And Study
Abstract: This paper discusses the important of Discrete Mathematics mainly from there aspects: teaching methods
teaching content and how to study. Based on this, Author proposes combine knowledge and ability, stimulating students' interest in learning and improves student’s creativity.
Keyboard:Discrete mathematics, base, study
参考文献
[1] 徐洁磐,惠永涛编著. 离散数学及其在计算机中的应用[M]. 北京:人民邮电出版社,1988.
[2] 徐洁磐. 离散数学导论[M]. 北京:人民教育出版社,1982.