计算机工程和计算机科学(6篇)
来源:收集
计算机工程和计算机科学篇1
关键词:应用导向;新工科;计算机课程
引言
“互联网+教育”建设背景下,新工科大学建设应运而生,这一人才培养的新模式,主动应对新一轮科技革命和产业变革,其超智能学科专业建设,日渐当前工程教育领域的热点话题[1]。计算机课程建设是超智能学科专业建设的基础,而具有高素质的“新工科”计算机人才,应具备较强的应用能力,才能胜任企业的实际工作需求。新工科大学计算机课程建设中越来越重视对学生应用能力的培养,因此,研究基于应用导向下的新工科大学计算机课程建设具有十分重要的现实意义。鉴于此,本文进行了初步探讨。
2应用导向的新工科计算机课程中存在的问题
“应用导向”在新工科大学建设中尚未充分发挥作用,计算机课程建设中还存在诸多问题,如实践性明显不足、考核方式较为单一、校企合作缺乏深度、就业指导理论为主等,使得新工科大学计算机课程建设陷入困境:(1)新工科大学计算机课程的实践性不足。实践性明显不足是基于应用导向的新工科大学计算机课程建设普遍存在的问题。现如今,在新工科大学计算机课程建设中,计算机专业课程设置方面还难以满足学生的应用需求,实践性明显不足是迫切需要解决的问题[2]。新工科大学的理论教学课时比重较大,软件技术、网络技术、嵌入式技术等教学内容,在日常教学中实践部分的课时较少,“实践性教学”停留在形式上,计算机课程建设忽视了对实验和课程设计,目前计算机核心课程教学过程中存在的关键问题是不能让学生很好地建立计算机系统的完整概念,缺乏系统观,学生对于计算机系统的核心内容掌握不够,没有很好地建立课程之间内容的关联,使得学生综合分析、设计、应用能力以及实践动手能力较差。(2)新工科大学计算机课程考核方式较为单一。考核方式较为单一制约着基于应用导向的新工科大学计算机课程建设。近年来,虽然很多学校提出要考核形式多样化,也在积极采取计算机课程考核方式的转型发展,新增写报告、无纸化考试、撰写论文等考核方式,但目前来说,以试卷考试的方式仍然占据主导地位,实际操作中,绝大多数的教师都采用试卷考试的方式考察学生的学习效果和能力,这一考核方式较为单一,尤其是无法全面考查学生对计算机专业知识的应用能力,具有较大的局限性和片面性,削弱了学生应用型能力的培养。(3)新工科大学计算机课程校企合作缺乏深度。校企合作缺乏深度是基于应用导向的新工科大学计算机课程建设的发展,这一问题在本科类的高校十分普遍。校企缺乏长期深度合作,就目前而言,新工科大学计算机课程建设在校企合作过程中,层次不高、亮点不够、形式不够丰富,以教师评价为主体,缺乏企业参与,又或者是企业参与动力不足等问题较为突出,学生与岗位不适应,教学与岗位不接轨,校企组织目标分歧,导致的最直接问题是很难培养出符合企业要求的人才。(4)新工科大学计算机课程就业指导理论为主。就业指导理论为主致使基于应用导向的新工科大学计算机课程建设缺乏实践性的指导。目前,很多学校的普遍做法是开设就业指导课,在指导学生就业的过程中以理论讲述为主,有些教师自身缺乏计算机课程就业的相关经验,往往不能结合时代和技术的发展调整教学内容,使得理论指导课的教学效果大打折扣,特别是在“万众创新,大众创业”的背景下,学生在就业指导课中学不到实质性的东西,不足以解决实际的就业问题,就业难的问题依然存在。因此,探索基于应用导向的新工科大学计算机课程建设的策略势在必行。
3教学策略
为进一步发挥应用导向的作用,在了解新工科大学计算机课程建设的问题的基础上,优化新工科大学计算机课程建设的策略,可以从以下几个方面入手,下文将逐一进行分析:(1)突出新工科大学计算机课程的实践教学环节。突出新工科大学计算机课程的实践教学环节,是基于应用导向的新工科大学计算机课程建设的关键。将“实践教学”摆在突出位置,充分发挥应用导向作用,从课程体系建设上做好对计算机课程的统筹规划,增强计算机课程教学的综合分析、设计、应用能力以及实践动手能力内容,增加实践课程课时。在具体做法上,应建立历届学生的成绩基础数据库,利用关联性分析技术,分析课程之间的关联关系,然后利用关联性分析的结果,预测学生学习某门课程的能力,从而制定适合学生的学习计划。需要注意的是,计算机课程建设在实践环节减少验证型题目,让学生掌握实际所需的知识,增加设计型题目,同时教师要突出引导,并根据学生的差异和需求提供有针对性的辅导,引导学生进行研发、制作和测试,不是直接给出答案。(2)侧重新工科大学计算机课程的应用能力考核。应用导向下的新工科计算机课程建设,应采取形式多样的考核方式,侧重新工科大学计算机课程的应用能力考核,力求突出学生应用型能力的检测,在考核过程中考察学生的实践应用能力,便于后期学生的学以致用。在一门课程刚开始的时候就让学生选好题目和团队,鼓励学生网络教学资料对教学内容进行自学,发挥学生的主观能动性,自主探究计算机课程的学习内容,然后在教师的指导下帮助学生理解和深化所学知识,完成课程学习。后期课程考核的过程中,多注重学生的自主探究能力的考察,可以让学生自己讲解并展示系统,在考评方式上细化考核目标,综合考察学生的应用能力,考核人员可根据作品的创意、完成度、学生的表现等因素综合给出他的评分。这种评价模式主要突出实际效果,对应用型课程的教学特别适用,如《单片机原理》《物联网应用》《创业培训》等。同时,对《科技论文写作》这类课程,我们主要采用论文写作与讲解相结合的方式来考核。(3)加强新工科大学计算机课程的校企合作深度。加强新工科大学计算机课程的校企合作深度,是于应用导向的新工科大学计算机课程建设的重要环节。校企合作由浅入深地发展,加强新工科大学计算机课程建设与企业之间的联系和沟通,使校企合作有机融合,走向深层次的发展,在具体做法上,可以采用集科学研究、项目研发、项目实施为一体的综合实践教学环境,进一步加强与校外实训机构的合作,加快校内实验室、实训室和校外实践基地建设。如对应用型课程的考核,要提高企业的参与度,可以采取以业界为主体的考评方式,接受企业的考核,由任课教师和3~4名企业人员组成考评组,学生讲解并展示项目,考评人员独立打分,然后综合评出成绩。(4)提升新工科大学计算机课程的就业教育实效。就业教育的目的是让学生更好地就业或创业,以应用为基础的就业教育可以提升新工科大学计算机课程的就业教育实效。在就业教育过程中,新工科大学应引进“双师型”专任教师和稳定的企业兼职教师,积极开展“以实践为主体,校企合作为辅”的就业教育。一方面,对新工科大学计算机专业课程教师而言,应考虑到在就业教育中增加学生与企业岗位的匹配度,采用以剖析真实实例为基础的课堂教学,用实实在在的教学案例,有针对性地进行剖析和讲解适应学生今后发展的需要。另一方面,学校和企业合作开展创新创业实践教育,学校提供创业孵化园,并发挥“以赛促学”的作用,通过组织学生参加“创青春”大学生创新创业大赛、互联网+比赛等为学生提供免费的办公环境,也让学生了解到以后就业的具体情况,了解企业对计算机人才的技能和方向需求,从而有针对性地提升学生的实际创业能力。
计算机工程和计算机科学篇2
引言
随着计算机现代智能的高速发展,计算机已经完全融入我们的生活,甚至占据了重要领域,从国家核心科技到每个人生活的小细节,都离不开计算机的覆盖和使用。我们简单的在键盘上操作几个键,打出一系列符号命令,就能使计算机按照人类的要求,高速运行和进展,从而达到人力所不能达到的速度和正确率。
我们从小学习数学,数学是什么呢?数学是利用符号语言研究数量、结构、变化以及空间模型等概念的一门学科。数学,作为人类思维的表达形式,反映了人们积极进取的意志、缜密周详的逻辑推理及对完美境界的追求。数学更多的是一种抽象的概念,是一门重要的工具学科。人类利用抽象的概念及一些固定的定律形成理论,而脱离实际应用的概念并不是人类发展学习的初衷,而是利用它们来指导实际,化抽象为实体。而计算机就由此演化。1946年2月15日界上的第一台计算机诞生在宾西法尼亚大学,主要运用于高倍数的数学运算。时至今日,计算机直接能识别的语言仍然是1、0二进制代码。
1计算机中所需要的数学理论
计算机学科最初是来源于数学学科本文由收集整理和电子学学科,计算机硬件制造的基础是电子科学和技术,计算机系统设计、算法设计的基础是数学,所以数学和电子学知识是计算机学科重要的基础知识。计算机学科在基本的定义、公理、定理和证明技巧等很多方面都要依赖数学知识和数学方法。计算机数学基础是计算机应用技术专业必修并且首先要学习的一门课程。它大概可分类为:
1.1高等数学高等数学主要包含函数与极限、导数与微分、微分中值定理与导数的应用、不定积分、定积分及应用、空间解析几何与向量代数、多元函数微分法及其应用、重积分、曲线积分与曲面积分、无穷级数、微分方程等。各种微积分的运算正是计算机运算的基础。
1.2线性代数线性代数主要包含行列式、矩阵、线性方程组、向量空间与线性变换、特征值与特征向量、二次型等。在计算机广泛应用的今天,计算机图形学、计算机辅助设计、密码学、虚拟现实等技术无不以线性代数为其理论和算法基础的一部分。
1.3概率论与数理统计概率统计与数理统计包含随机事件与概率、随机变量的分布和数学特征、随机向量、抽样分布、统计估计、假设检验、回归分析等。概率论与数理统计是研究随机现象客观规律并付诸应用的数学学科,通过学习概率论与数理统计,使我们掌握概率论与数理统计的基本概念和基本理论,初步学会处理随机现象的基本思想和方法,培养解决实际问题的能力。这些都是计算机编程过程中不可或缺的基础理论知识和技能。
2计算机编程中数学理论的应用
计算机的主要专业知识包括计算机组成原理、操作系统、计算机网络、高级语言程序设计、数据结构、编译原理、数据库原理、软件工程等。计算机程序设计主要包括如:c语言、c++、java、编译语言、汇编语言等编程语言的基本概念、顺序结构程序设计、分支结构程序设计、循环结构设计、函数、指针、数组、结构、联合以及枚举类型、编译预处理、位运算、文件等内容,掌握利用各种编程语言进行程序设计的基本方法,以及编程技巧。算法是编程的核心,算法的运用离不开数学,数学运算正是编程的基础。
计算机科学是对计算机体系,软件和应用进行探索性、理论性研究的技术科学。由于计算机与数学有其特殊的关系,故计算机科学一直在不断地从数学的概念、方法和理论中吸取营养;反过来,计算机科学的发展也为数学研究提供新的问题、领域、方法和工具。近年来不少人讨论过数学与计算机科学的关系问题,都强调其间的密切联系。同时,人们也都承认,计算机科学仍有其自己的特性,它并非数学的一个分支,而有自身的独立性。正确说法应该是:由于计算机及程序的特殊性,计算机科学是与数学有特殊关系的一门新兴的技术科学。这种特殊关系使得计算机科学与数学之间有一公共的交界领域,它范围相当广,内容相当丰富,很富有生命力。这一领域既是理论计算机科学的一部分,也是应用数学的一部分。
2.1计算理论是关于计算和计算机械的数学理论。主要内容包括:
①算法:解题过程的精确描述。②算法学:系统的研究算法的设计,分析与验证的学科。③计算复杂性理论:用数学方法研究各类问题的计算复杂性学科。④可计算性理论:研究计算的一般性质的数学理论。⑤自动机理论:以研究离散数字系统的功能和结构以及两者之关系为主要内容的数学理论。⑥形式语言理论:用数学方法研究自然语言和人工语言的语法理论。
2.2计算几何学是研究几何外形信息的计算机表示,分析和综合的新兴边缘学科,它是计算机辅助几何设计的数学基础。主要内容如:贝塞尔曲线和曲面、b样条曲线和曲面、孔斯曲面。
2.3并行计算问题是同时执行”多个计算问题。他的延伸学科有:并行编译程序、并行程序设计语言、并行处理系统、并行数据库、并行算法。
2.4形式化方法是建立在严格数学基础上的软件开发方法。软件开发的全过程中,从需求分析,规约,设计,编程,系统集成,测试,文档生成,直至维护各个阶段,凡是采用严格的数学语言,具有精确的数学语义的方法,都称为形式化方法。
2.5程序设计语言理论是研究书写计算机程序语言的学科。主要内容如:研究语法、语义、语用以及程序设计语言的优劣。
计算机工程和计算机科学篇3
关键词:计算机科学;课程体系
一、引言
随着信息技术的飞跃发展和更新,计算机科学已经成为一门支撑众多其他学科发展的独立学科,这对于技工院校计算机科学学科来说既是机遇也是挑战。计算机科学更新和发展速度快且融合越来越多其余学科,因而计算机科学的课程体系的构建显然十分重要。本文通过阐释当前计算机科学课程体系争论的主要内容和分析课程体系中的问题来探讨计算机科学教育的课程体系构建。
二、计算机科学课程体系争论的主要内容
从计算机课程体系的发展历史来看其一直是推陈出新、吐故纳新的,这意味着虽然计算机科学课程体系的形式都是统一的但是却不意味着对计算机科学的研究和实践就可以到此为止。随着时代的发展和技术的进步,面对瞬息万变的社会环境,受教育者应当保持一种终身学习的态度,通过终身学习来应变未来新模式。因而计算机科学课程体系的核心理论课程与应用实践课程之间要保持一种动态平衡。关于对计算机科学课程体系争论主要有三方面:第一,教育学课程论点。教育学的课程内容焦点是针对样板课程,但大众认为给计算机科学课程留有一定的实验空间是很有必要的。因为所定义的样板课程核心有限,是否能够涵盖计算机科学的全部内涵还是不确定的[1]。目前计算机科学课程体系确定了很多可供选择的课程,教师也被鼓励从可供选择的知识结合课程来进行实验。但目前还存在一些主题的争论:需要优先、算法优先、对象优先以及功能优先等。第二,技术应用课程论点。计算机应用指应用程序,应用程序能把理论结果应用到用户所在领域的实践中去。一方面,有学者专家从科学研究角度出发,认为在应用程序上花时间等于在科研方面也失去了相同的时间,因而是没有任何回报的。而另外一方面,某些商人认为应用就是他们能在市场上提供的产品,他们希望计算机技术人员能够开发出更多应用程序。第三,教育改革课程论点。这主要有两方面论点,一方面是合作,而另一方面则是分离。合作意味着要让所有计算机学科都在一个统一构架内且让各学科之间相辅相成,因而全校要开设基础计算机课程,尽可能覆盖到别的学科。分离则意味着计算机科学要成为附属于电子工程学科的子集。
三、计算机科学课程体系中存在的问题
第一,偏重核心学科。计算机科学课程体系偏重核心学科已经成为一个大问题,大多技工院校的计算机科学课程体系设置专业的时候会先设置核心学科然后以此核心学科为焦点呈发散状继续设置其他学科。偏重核心学科会让学生的思维僵化,因为课程应当在适应社会发展的基础上设置的,这会造成学生适应社会能力变弱。第二,课程设置比例不当。目前很多技工院校计算机科学课程设置比例不当,其中主要是专业课与基础课设置比例不当;必修课与选修课设置比例不十分协调;理论课与实践课设置比例失调等[2]。计算机科学课程中的基础课主要是为了学生学习专业课程打下基础的,而很多技工院校计算机科学专业所设置的基础课太少且课时短,这并不利于学生掌握专业基础;根据调查发现很多技工院校计算机科学专业的必修课占据学生大部分课时,而选修课只有寥寥几节,这不利于学生提高学习兴趣和掌握多方面理论知识和实践能力;此外,实践对于计算机科学专业的学生来说是十分重要的,但是目前很多技工院校都存在着只重理论而轻实践的问题。第三,课程标准不清晰明确。计算机科学专业教学水平受到限制的一个重要原因就是大多数技工院校计算机科学专业课程标准尚未明确清晰。主要表现有两个方面:一是计算机科学专业的教材没有以明确清晰的目标为基础来编写,且大多数技工院校都使用性质内容相同的综合性教材,少数技工院校使用自主编写的教材与综合性专业教材也相差无几;第二个方面是计算机科学专业的教学目标和人才培养方向不明确清晰,对于学生理论和实践能力的培养都缺少明确目标[3]。计算机科学专业的教材落后、教学目标和培养目标的不明确都导致学生的掌握的理论知识和实践操作能力都与社会脱节。
四、计算机科学教育的课程体系构建
第一,明确计算机科学教育的定位,科学培养人才。计算机科学专业课程的设置应当适应社会对人才的各方面要求,因此计算机科学教育要明确定位,制定出科学培养人才的模式。在课程的设置上应该体现出“强调核心、加强基础、注重实践”的特点,因此计算机科学专业或学科的课程体系应该科学涵盖公共课、学科基础课、专业课、实践课四大部分。第二,课程体系的构建需考虑教育环境。在知识传播迅猛的今日,老师一板一眼地向学生灌输大量理论知识的“填鸭式”教育已经不值得提倡了。在知识日新月异的时代里,每个人都必须是学生又是老师,通过一个连接世界所有智慧与知识的网络才能迎接学习的挑战。因而计算机科学教育课程体系的构建除了要明确定位外还要考虑教育环境的影响。第三,课程体系的构建需对教学内容进行创新。信息时展需要传统的计算机科学课程体系实现对教学内容、教学风格的创新。比如技工院校要为教师和学生提供先进的科技设备,让学生和教师都运用现代化和技术化的教学手段参与课堂教学,以此让学生更好地适应未来科学技术的变化。
五、结束语
综上所述,计算机学科更新发展快,因而这门学科具有动态性的特点,为适应社会的发展这门学科的课程体系也要与时偕行,注重突出灵活性和弹性,实现教学计划和专业课程体系的多样化,凸显这门学科的个性化教育。只有这样,才能更加科学更有效率地提高学生的学习和实践能力。
参考文献:
[1]闫魁颖,谭辉.浅谈计算机专业课程体系的构建[J].技术与市场,2010,17(4).
[2]李玉荣.浅谈计算机科学与技术课程体系的构建[J].东方教育,2015(4).
计算机工程和计算机科学篇4
关键词:计算机大师;创新;成才;因素
电子计算机是人类20世纪的伟大发明,是迅速发展并广泛应用的重大科技成果。它给人类带来了快速、便捷、强大、廉价、可靠、丰富多彩的计算工具;它扩展了计算的方式和内涵,将计算渗透到人类社会的各个领域;它带来了崭新的计算机文化、计算机产业、计算机学科和数以千万计的从业人员。进入21世纪,用高密度廉价芯片和各种软件“武装”起来的计算机与网络、多媒体、多种传感器连接,逐步构成了与现实世界对应的世界范围的网络计算环境,使人类社会进入了知识经济和信息化的新时代。2012年是图灵诞辰100周年,回顾计算机发展成就,缅怀计算机大师们的创新和创业历程,从中找出规律和启迪,对于深化计算机教育教学改革、培养创新性人才具有深远的现实意义。
一、荣获图灵奖和先驱奖的大师们
为表彰对计算机事业作出重大贡献的科学家和工程师,1966年ACM设ACM图灵奖,1966-2011年共有58人获图灵奖。1980年IEEE/CS设计算机先驱奖,1980-2000年共有108人获计算机先驱奖。
仔细分析获奖的内容和获奖者名单可以明显感到,ACM图灵奖的范围是计算机科学,侧重理论、概念、软件、算法、方法学;IEEE/CS计算机先驱奖的范围是计算机工程,侧重计算机系统、实现技术、设备、产品。计算机科学为计算机工程提供理论基础,计算机工程和应用技术深深地影响着计算机科学的发展。计算机科学与计算机工程的领域范围可参照CC2004报告提供的示意图,如图1所示[1,2]。
图1(a)计算机科学学科范围
图1(b)计算机工程学科范围
ACM图灵奖涉及的主要内容有:程序设计语言概念、操作系统原理、算法设计和复杂性、人工智能、数据库、图形学、数值和符号计算等。其奖励对象主要是计算机科学家,如:从事ALGOL60语言的佩利、诺尔,FORTRAN语言、巴克斯范式BNF和函数式程序设计语言FP的发明人巴克斯,PASCAL语言和结构化程序设计的发明人沃思,C/UNIX的发明人丹尼斯·里奇和汤普森,面向对象语言SMALLTAK80的发明人艾伦等程
序设计语言大师;从事计算机科学理论的狄克斯特拉、克努特、库克、卡普布卢姆、伯努利、姚期智等;从事人工智能和数据库的明斯基、麦卡锡、西蒙、费根鲍姆、巴赫曼、科德、格雷等。
IEEE/CS计算机先驱奖涉及的主要内容有:具体的计算机系统、具体的器件和外设;具体的程序设计语言及编译器、应用广泛的数据编码和算法等。其奖励对象主要是计算机工程师,如:研制第一台程序自动计算机的艾肯,研制第一台电子计算机ENIVAC的埃克特、莫奇利,研制第一台存储程序计算机的威尔克斯,研制第一台存储程序并行计算机Whirlwind的艾弗莱特,发明集成电路的基尔比、诺伊斯,提出RISK体系结构的科克,研制IBM360通用系列计算机的布鲁克斯、伊万斯,研制PDP和VAX系列小型机的贝尔,研制面向大规模科学计算超级计算机的克雷,鼠标器发明者恩格尔巴特,研制个人计算机和视窗系统的霍夫、兰普森、萨克尔,Internet基础通信协议TCP/IP发明者凯恩,等等。
在这些计算机大师中,佩利、巴克斯、狄克斯特拉、克努特、沃思、里奇、汤普森等人既获得图灵奖又获得先驱奖,表明他们的工作在理论和工程两方面都具有重要意义。
其实,还有一类计算机大师对计算机事业发展功不可没,即计算机企业家,如IBM公司的沃森、Intel公司的莫尔、微软公司的比尔·盖茨、Apple公司的乔布斯等。如果没有他们的创新与创业,计算机的发展不会有今天的成就。他们了解市场需求和计算机发展的最新成就,根据社会各种需求发展计算机技术,知人善任组织开发团队,开发各类用户想要的或还没有想到的计算机产品。他们熟悉市场运作和相关的法律法规、善于企业经营和管理,为企业和计算机的发展筹集资金、招募人员、购置设备、开展科学研究和营造工作环境。他们靠良好的产品质量和信誉为客户服务,并在此过程中不断壮大自身企业的实力、扩大业务范围,同时还承担发展过程带来的各种风险,为社会提供就业机会和创造财富。Apple公司、IBM公司、微软公司、Intel公司已成为和石油、汽车、电信、银行等传统大型企业并驾齐驱的新兴企业,2012年分别列为“财富”500强企业排名的第55位、57位、119位、173位。计算机企业家理应是计算机大师的重要组成部分,培养计算机企业家也是计算机及相关学科的一项重要任务。
计算机大师可能是科学家、工程师、教授、企业家,他们的分工如图2所示。需要指出的是,同一位计算机大师可能身兼数职,承担一种或几种“角色”,他们可能既是科学家又是工程师,又是教授;或既是工程师,又是教授;或既是工程师,又是企业家,等等。这为人才的流动、理论与实践结合、产学研结合提供了人力资源,创造了基本条件。
图2计算机大师的工作领域
二、计算机大师的创新
创新是计算机大师共有的品质和追求,是计算机大师成才的重要途径。创新给人类社会带来了新兴的计算机学科、巨大的计算机产业、丰富的计算机产品、广泛的计算机应用,同时也造就了一代又一代的计算机大师。计算机领域的创新可分为理论创新、技术创新、产品创新和学科创新。
计算机理论创新为计算机的发展和应用指明方向,提供新理论、新方法和新工具。其成果的主要形式是论文、专著,主要“角色”是科学家,如前面提到的计算机语言大师佩利、巴克斯、沃思,计算机理论大师狄克斯特拉、克努特,人工智能大师麦卡锡、西蒙、费根鲍姆等。
计算机技术创新为计算机的发展和应用提供新技术、新材料、新器件、新的系统架构、高效的方法和实用的工具,开发新的产品。其成果的主要形式是产品、专利、论文,主要“角色”是工程师,如著名计算机设计师埃克特、莫奇利、威尔克斯、布鲁克斯、贝尔、克雷、萨克尔、凯恩等。
计算机产品创新为社会提供丰富多彩的、质优价廉的、用户满意的各种类型、各种层次的计算机产品。其成果的主要形式是产品和服务,主要“角色”是企业家、工程师。例如,莫尔领导的Intel公司按照莫尔定律的预测不断提供各种类型的计算机CPU芯片,沃森领导的IBM公司半个多世纪以来不断提供先进的系列计算机和多种外部设备,比尔·盖茨领导的微软公司不断提供的Windows操作系统和Office办公软件等,乔布斯领导的Apple公司为全球广大用户提供人见人爱的Macintosh、iPAD等系列产品。财富杂志评选20世纪最后25年具有划时代意义的40项发明,Intel公司的微处理器芯片和Apple公司的Macintosh两项电子产品榜上有名。
计算机学科建设和创新主要在大学的计算机系(所)进行。从莫克利1946年夏在莫尔学院举办为期6周的“电子数字计算机设计理论与技术”培训班,到1956年佩利在卡内基理工学院建立计算中心、为大学生讲授程序设计课程,计算机科学教育逐步形成,计算机课程体系逐步完善。进而卡内基理工学院、麻省理工学院、斯坦福大学等陆续成立计算机系,到20世纪60年代初计算机学科已经形成。ACM和IEEE/CS分别建立计算机科学和计算机工程的教育委员会,组织制订推荐教育计划。计算机科学研究、人才培养、师资队伍建设、实验环境建设等迅速发展。50多年来计算机学科范围不断扩展、内容不断丰富,逐步由一个新兴的学科发展成为一个拥有计算机科学、计算机工程、软件工程、信息系统、信息技术等子学科的成熟学科。计算机学科在计算机科研、人才培养、社会服务等方面做出了巨大贡献,产生了广泛的影响。计算机学科成果的主要形式是人才、论文、专利、新设备等,主要“角色”是教授。卡内基·梅隆大学、麻省理工学院、斯坦福大学等著名大学的计算机系在学科建设上已形成自身的传统和优势。
理论创新、技术创新、产品创新和学科创新相互依赖,相互促进,共同发展成就了计算机事业的辉煌,造就了一代又一代的计算机大师。准确把握四类计算机创新的特点和规律是计算机学科与企业创新、发展和评估的基础。
三、计算机大师成才的主要因素
我们常说做好一件事,内因(主观因素)是根据,外因(客观因素)是条件,外因通过内因起作用。大师们的创新成果取决于内因和外因,取决于主观和客观两方面的因素及主观因素与客观因素的结合。学师们的创新、创业历程发现,主观因素主要包括勤奋、兴趣、能力;客观因素主要包括学术环境、社会环境等。主观因素与客观因素结合往往产生创新的激情、创新的过程和创新的成果。
1.成才的主观因素
天才出于勤奋,任何创新都需要勤奋的学习和工作。佩利有一名言“一切名词都可以变为动词”,即通过自身的努力,一定能实现自己的目标。勤奋是做好一切工作的基础,计算机大师们都有勤奋好学、基础厚、能力强的共同特点。
兴趣是人们对某项事物或实现某个“创意”、“梦想”的态度。创新源于兴趣,源于对新事物的敏锐,需要探索的欲望。兴趣的养成是长期形成的,20世纪40年代从事计算机硬件的计算机科学家,少年时代几乎都喜爱物理或电气,多数都有组装收音机或无线电收发报机的兴趣和经历;从事计算机软件和算法的科学家,少年时代几乎都喜欢数学。大师们对某一事物或创意产生浓厚兴趣会激发出巨大的动力,去追求、去奋斗,必要时甚至做出巨大的牺牲。埃克特24岁放弃攻读博士学位的机会转而担任ENIAC总设计师的故事,里奇和汤普森利用业余时间使用陈旧的PDP计算机开发UNIX操作系统和C语言的故事,乔布斯在车库中艰苦创业开发Apple的故事等,早已成为人们广为流传的佳话。
实现一个创意、一个梦想只有兴趣是不够的,还需要掌握和运用求解问题的知识、经验和技能,具备必要的获取信息和学习的能力,语言和口头的表达、交流能力,必要的组织、协调和社会活动能力等。善于不断提出问题和解决问题的能力是计算机大师们成功的关键。能力源于理论学习和实践经验。计算机大师们不论在学校或在工作岗位都十分勤奋好学,从事计算机理论研究的科学家和教授大多在国际名牌大学接受过良好的高等教育,并获得博士学位。如佩利是麻省理工学院数学博士,威尔克斯是剑桥大学物理学博士,明斯基和麦卡锡是普林斯顿大学数学博士,沃思是美国加州大学伯克利分校博士,艾伦·凯是犹他大学博士,等等。从事计算机开发(无论是硬件还是软件)的学者们,几乎都有在企业开发计算机的实际经验。如佩利在MIT、CMU从事计算机教育之前,曾在世界第一台存储程序并行计算机“旋风”上,从事三年多半自动地面防空系统SAGE的程序设计和数据处理的工作,后到普渡大学建立计算中心并开发计算机语言的内部变换器IT,在此基础上开发代数语言Algol;贝尔既是DEC公司PDP和VAX系列小型机的总设计师,又是CMU计算机系的教授,等等。
由于计算机大师们科研和教学、理论和实践结合紧密解决问题能力强,因此一人可胜任多种“行当”。程序设计语言大师不仅能设计程序设计语言,还能组织编写编译器。这样的人到高等学校教课自然既可以讲程序设计语言又可以讲编译原理和技术;计算机系统设计师不仅能设计计算机系统,熟悉计算机器件和电路设计,而且数学、物理功底深厚,到高等学校授课、带实验、编写教材、指导研究生得心应手。
创新需要不怕失败的毅力,需要有敢于挑战权威和传统观念的勇气,否则创新的“梦想”是不可能实现的。如巴克斯在IBM公司提出FORTRAN语言和编译器的创意时,招到IBM公司顾问、著名计算机专家冯·诺依曼的反对。冯·诺依曼认为,巴克斯的想法不现实,没有实际意义。但巴克斯在IBM公司赫德的支持下顽强地坚持下来,发明了FORTRAN语言,并于1957年研制出IBM704计算机FORTRAN语言编译器。
2.成才的客观因素
成才的客观因素包括学术环境和社会环境。
学术环境包括科学技术水平、研究试验条件、学术带头人和团队、研究经费等。高水平的学术环境应处于科技前沿,遇到和需要解决的学术问题具有重大的理论或实践价值,这样才能激起人们的创新欲望和兴趣。计算机发展不同时期从事的不同类型的创新活动对学术环境的要求有很大差异。一般说来,处于理论概念阶段的创新对资源的要求低一些,一个人或几个人在继承和借鉴前人工作成果的基础上即可完成,这样的创新有一定的风险,可能成功也可能失败,比较适合大学或小型公司。如早期的计算机研制多在大学,其中概念创新、科学试验是主要工作。而计算机产品创新、标准化、系列化、质量保证、售后服务对资源的要求就比较高了。
创新的社会环境包括支持创新、鼓励创新,尊重知识、尊重人才、尊重知识产权。要营造学术自由、包容的氛围,这里关键是注重真才实学、重视实际效果,评价机制要务实、不求全责备,要适应创新人才的成长规律。计算机创新成果的价值最终应体现在计算机产品和服务上,必须接受社会和市场检验。学术成果的评价和市场检验的结果最终应该一致。只有这样计算机创新才能有生命力,才能推动技术和社会进步,得到社会的广泛支持。
社会应为企业和学校之间的人才流动创造条件,使学校、研究机构、企业间的人员自由流动形成常态,自然形成产学研相结合的局面。
计算机大师们的共同特点是国际化。他们有国际化的视野,能广泛进行国际合作和交流,大多数人都有在几个国际一流大学、一流企业学习工作的经历。他们积极参与国际一流课题或计算机项目的研发,与国际一流的计算机大师们合作,站在巨人的肩膀上进行科技创新。取得的成果广为人知,在国际学术界快速取得反响,及时得到推广和应用。20世纪60年代前后由ACM程序设计语言专家组与欧洲专家组联合开发程序设计算法语言Algol60的过程就是很好的例证。参加Algol60研究工作的科学家后来都成为程序设计语言领域的知名专家。
四、计算机大师的成才路
1972年佩利在北京中美计算机学术交流时曾经讲过:“知识不是宝贝,把他藏起来怕被人偷去。知识是种子,播到各处发芽、生长、开花、结果。”因此,计算机大师们十分重视学术交流和人员流动。
一个大型项目的成功往往培养出一批计算机大师。ENIAC研制成功后涌现出埃克特、莫奇利、儒科夫、赫斯基、杰弗里·朱、伯克斯等。他们后来分别成为研制UNIVAC计算机、SWAC计算机、AVIDAC计算机的总设计师。人才流动为这些计算机的研制成功发挥了重要作用,也为人才的成长创造了条件。
1946年在莫尔学院举办的计算机培训班,开启了计算机培训的先河。威尔克斯、阿里克山等参加了培训,冯·诺依曼等人也到莫尔学院调研和交流。他们结合自身的工作将ENIAC的成功经验和改进意见用于UNIVAC、EDSAC、MARK1、IAS、Whirlwind等计算机的开发,不仅促进了计算机性能的提高,也促进了剑桥大学、曼彻斯特大学、麻省理工学院、普林斯顿大学的计算机人才培养和科学研究,为计算机课程建设、专业建设打下了基础,促进了兰德公司等企业的计算机业务的发展,如图3所示。
发挥优势,“只做只有你才能做的事”,这是狄克斯特拉给年轻科技工作者的忠告,也是他从事科学研究的切身体会。计算机大师们为了实现自己的“创意”和“梦想”,往往主动适时地调整工作岗位。他们在一项工作完成时,便立即到企业、学校和科研机构寻找适合自己下一步的工作,有时甚至自己开一个小公司,发挥自身的最大潜能。
利用显示屏和鼠标开发新型人机交互界面的Alto系统在施乐公司研制成功后,施乐公司没能把这一重大技术创新成果转化为产品。研制Alto系统的技术骨干艾伦·凯到Apple公司工作,萨克尔、兰普森先后到DEC公司、微软公司工作。通过人才流动,把人机交互的视窗技术普及到Apple、Windows等产品中,推动了视窗技术、个人计算机的创新与发展。
计算机科学家、计算机工程师和企业家的成才路如图4和5所示。
图3ENIAC项目的辐射作用
图4计算机科学家的成才路图5计算机工程师和企业家的成才路
五、信息时代我国培养计算(机)创新性人才的机遇和挑战
计算机工程和计算机科学篇5
高等学校的计算机教育,特别是广大非计算机专业的计算机基础教育,在很大程度上决定着未来社会人们应用计算机和信息化技术,解决来自自身领域问题的能力高低,所以计算机基础教学备受社会各方面的关注。本文结合作者在海外数所著名院校执教十年的工作经历,介绍海外高校关于非计算机专业计算机课程设置的研究与实践经验。
1非计算机专业学生对计算机课程的需求特点
在学习计算机知识的过程中,非计算机专业学生的思维方式不同于计算机专业的学生。非计算机专业学生对计算机课程学习有其自身的需求,我们必须根据现代教育思想和教学理论,针对非计算机专业学生对计算机课程的需求特点,选择正确的教学内容,设立相应的课程体系,运用恰当的教学模式与方法,将理论与实践紧密结合,以提高非计算机专业计算机基础教学的效果和质量。
通过与计算机专业学生的需求对比,Kapland就非计算机专业对计算机课程的需求特点作出如下归纳总结[1]:
1)(1)非计算机专业学生通常与诸如信号、图像、方程、表格等实体打交道比较多。为了能够对非计算机专业的学生有所帮助,计算机基础课程须教会他们如何表示这些工作中会用到的数据,以及如何操作这些数据,而对学生不太会感兴趣的,诸如AVL树和B树之类的复杂数据,则可以略去不讲。
2)(2)非计算机专业学生往往将计算机看成是一种工具而非自身的兴趣所在,更非其职业追求的目标。他们通常对计算机已有所接触,能够在家里轻松自如地使用计算机进行一些图像编辑、音乐合成等简单的操作。一旦转到课堂,让他们学习如何打印从1到10的数时,计算机知识则变得复杂得多。强烈的对比很容易让他们产生一种错觉:大学的计算机课程过时了,没有实际应用价值。
3)(3)非计算机专业学生有着不同的专业背景,将来也会从事各行各业不同种类的工作。课堂上引用的例子必须是不同专业的学生都可通过直觉所接受的。
4)(4)非计算机专业学生的导师往往自身也不具备很强的计算机使用能力,不可能去很好地帮助学生改善其计算机使用能力。学生从导师那里得到的帮助十分有限。
5)(5)非计算机专业学生用在计算机课程上的学习时间十分有限,他们不太可能系统地学习计算机课程。有相关统计数据表明,一个计算机专业的学生在计算机课程上所花的时间通常是非计算机专业学生的十倍。
6)(6)非计算机专业学生会频繁地使用各类标准的图表,如点线图、直方图、散点图、轮廓图、投影图,等,即便是在一个很初级的阶段也是如此。
7)(7)非计算机专业学生大都不常写软件包,但是会经常使用它们。他们写程序往往是为某一特定用途,而不是写给别人使用。
8)(8)非计算机专业学生通常不用设计二进制格式的文件,而是直接采用现成的电子表格、图像、声音等形式来进行操作。他们迫切需要知道如何组织和操作存储在各类表格和数据库中的数据,但可惜的是,这些知识在大多数计算机基础课程中并未涉及。课堂上,教师们常常教给他们线性表、栈、队列、树、集合和图,但并没有教会他们如何进行数据库的选择、投影和连接等典型操作。
9)(9)如今用于科学计算的软件包非常多。我们很难预测非计算机专业学生在将来的科研工作中会需要哪些具体的计算机知识。与此相反,计算机专业的学生会非常确定地使用计算机程序语言,如C++和Java。
2非计算机专业计算机课程的典型设置
应非计算机专业对计算机基础知识的迫切需求,当前,海内外高校为非计算机专业开设了多种不同类型的课程,大体上可分为三种:(1)计算机导论课程(着重计算机文化基础);(2)计算机应用课程(着重案例解答);(3)计算机编程课程(着重程序语言与软件包使用技巧)。具体讲授方式也依照学校规模、教师队伍与学生分布的不同而各具特色,总体上有如下三种授课方式:(1)同时面向计算机专业和非计算机专业,统一授课;(2)计算机专业和非计算机专业分开授课;(3)面向某一特定的非计算机专业(如医学),专一授课。这样,可根据不同专业需要的侧重点不同,传授相应的计算机基础知识。下面,我们通过具体的案例,分别就海外非计算机专业计算机课程的设置经验作进一步介绍。
案例一:荷兰蒂尔堡大学(UniversityvanTilburg,theNetherlands)
笔者曾经在荷兰蒂尔堡大学信息系统与管理系任教3年。蒂尔堡大学为非综合性院校,共设置有五个学院――经济商学院、法律学院、社会与行为科学学院、人文(艺术、哲学、神学、宗教学)学院和天主教神学院。该校的经济商学院是最早、最大的学院,其经济学科居世界前列。信息系统与管理系附属于经济商学院,所开设的课程面向本系信息管理专业的学生,同时对校其他专业的学生开放,属上述统一授课类型。该系开设的主要课程包括商业工程(BusinessEngineering)、计算机与因特网技术、计算逻辑、计算机体系机构、数据库、e-商业(e-Business)、电子商务、信息技术、商务信息技术、计算与通信技术、经济与计算通信技术、运筹学与计算通信技术、信息管理、信息系统的质量管理、Linux、面向对象程序设计、面向对象模型、信息技术讲座、软件工程、系统与程序开发、网络资讯,等。
2.1计算机导论课程的设置
该类课程的目的在于让不同系科的学生懂得计算机科学的基本原理,教给学生计算机科学中一些伟大的思想与发明,通过这些预备知识,让学生能够最大限度地为将来理解计算机的能力和局限性打好基础,使之能在所从事的行业中学以致用。与此同时,在不要求学生今后从事计算机方面工作的前提下,教给学生很多计算机方面实用的知识,培养一些实用(如软件包的操作及其在实际情况下的应用)。那种只有通过学院式计算机课程的学习才达到的对计算机科学的深入理解并不是此类课程的目的。根据参考文献[3],对计算的深刻理解是可以通过非编程的教育手段获得的。
案例二:美国卡耐基梅隆大学(CarnegieMellonUniversity,USA)
美国卡耐基梅隆大学的Cortina认为现在的非计算机专业计算机课程为了让学生能写出正确的程序,过分强调了程序设计中的细节及其严谨性。很多时候,学生修这类课程并不是因为他们在实际工作中会用到编程,而是因为这是必修课[2]。为此,他提出计算机导论课应教给学生计算机科学的原理而非编程,课程应着重强调从计算角度看计算机科学中的主要贡献,学生着重对计算能力的理解以及在计算机科学中会遇到的可能影响其他学科的问题。在设计课程的过程中,教师不应该通过某一门程序设计语言或者某一个特定的应用领域贯穿始终地讲授,而应该从计算的角度,讲述计算机科学的主要贡献和事件。学生学习算法以及建立计算机科学的思维方式,可以通过使用流程图、模拟器来演示一些简短算法的流程,使得能够在不涉及程序设计语言语法的情况下,就可写出一个简单的小游戏。Cortina在其所讲授的计算机导论课程里,覆盖了如下几方面的内容[2]:
(1)计算机科学的发展史。例如:早期的设备,欧洲中世纪计算机科学的缓慢发展进程,Babbage和Hollerith在19世纪的贡献,以及战争(二战、冷战)对计算机科学飞速发展的影响和促进,等。
(2)用算法表达计算程序。例如:采用伪代码表示算法,用Raptor工具模拟计算过程可视化流程图,等。
(3)数据的组织。例如:基本数据结构(数组、链表、栈、队列、树和图)、数据库和算法的典型构成(赋值、条件语句、循环和子过程,等)。
(4)用计算机可执行的程序表达算法(即计算自动化)。例如:程序设计泛型(命令式、面向对象式、函数式和逻辑式)、编译器与解释器。
(5)算法设计的技巧。包括递归、分而治之(如归并排序、汉诺塔)、贪心算法(如Huffman编码、最小生成树)和动态规划(如Fibonacci函数、所有顶点的最短路径)。
(6)优化,让计算更完美。包括正确性(常量的使用,用数学归纳法证明算法的正确性)以及有效性(算法复杂度)。
(7)计算的极限。例如:难解性、不可判定性和通用计算模型(图灵机和计数器程序)。
(8)并发性。包括多处理器(同步、最大加速比和负载)、流水线技术和多任务(操作系统、死锁与饿死)。
(9)应用。例如公钥密码学、人工智能(图灵测试和博弈树),等。
(10)计算的未来。包括量子计算、纳米科技等客座讲座。
2007学年,共65人选修该课,分别来自人文与社会学院、商学院、工程学院、计算机学院和理学院。根据学生的反馈[2],80%的学生赞同客座讲座,55%的学生期望继续启用但应使用更多的图例进行讲解,85%的学生会将这门课推荐给朋友。
案例三:香港理工大学(HongKongPolytechnicUniversity,China)
考虑到医务人员通常需要使用计算机工作者开发的远程临床设备。很多时候,这些临床设备启用了一段时间,但使用者却经常因为基础电脑知识的缺乏而遇到各式各样的问题。为解决此问题,香港理工大学计算机系专门为医务工作者开设了一门名为“计算机开明”(computerliteracy)的课程,听课者包括医生、管理人员、市场销售人员以及经理,等。课程教案几经修改,每次修改均安排在实战训练课程后或者研讨会之后进行。该课程旨在概述计算机的基本运作、资讯科技在医疗系统中的应用,以及计算机的基本操作常识。授课内容包括:
1)(1)计算机系统导论,包括计算机系统的基本组成(CPU、存储设备、媒体和I/O设备)和工作原理。
2)(2)系统软件,包括系统软件的功能和操作,MSWindows的基本特点和命令,等。
3)(3)汉字的输入方法。
4)(4)数据库,包括数据库系统的体系结构,数据库系统的操作,等。
5)(5)资讯科技的应用,根据计算机组织结构,介绍计算机的应用。
案例四:美国波士顿大学(BostonCollege,USA)
美国波士顿大学ParkerandSchneider认为非计算机专业课程应该超越计算机语言的语法讲授,重点介绍计算机学科的整体情况,让学生明白计算机编程只是整个计算机学科的一部分。课程所要达成的目标在于向学生传递一种计算机“感觉”,在讲解计算机的一些主要概念及其相互联系的同时,让学生真正地在实验室里操作实践[4]。他们所设计的课程内容涵盖了计算机理论、硬件与逻辑设计、计算机组成、算法与数据结构、程序设计语言、操作系统与虚拟机、应用以及社会等诸方面。其教学风格是在每一个层次上,介绍重要的原理并引出在这个层次上学习的关键问题,然后,迈向下一个层次在一个新的抽象层次上对新问题展开讨论,同时和前一个层次的内容相结合。
2.2计算机应用课程的设置
由于上述计算机导论课程依然着重于计算机系统本身而非计算机应用,或多或少地强调计算机编程,就好像教一个想学开车的孩子如何修汽车,因而,那些受好奇心驱动的非计算机专业学生往往觉得此类计算机导论课程困难且乏味。为解决此问题,另一大类偏重于实际应用的计算机基础课程孕育而生,即计算机应用课程。
案例五:美国哈佛大学(HarvardUniversity,USA)
美国哈佛大学Leitner等人提倡在非计算机专业的计算机基础教学中,讲授计算机应用而非计算机本身,强调计算机应用程序的使用而不是单调的程序设计练习[5]。课程的目标在于让学生学会用软件系统刻画和解决实际问题,以加强对相应计算机概念的理解与认识。课程设计应围绕计算机科学中最让人感兴趣的应用领域(如人工智能、计算机图形学、计算机视觉、信息检索、人机交互,等)来组织。在授课的过程中,每一种应用可从两方面来讲授:首先,给出计算机科学概念的一个直觉性概观;其次,强调应用的特定细节,务必每一个实例都和一个特定的软件系统联系在一起。学生不需要程序设计的基础,在课堂上也不讲授程序设计。在选择具体的应用案例时,注意选题必须覆盖计算机应用的关键领域并提供这些领域特点概念的代表性举例;需用到的软件必须易学、易用、易引起学生的兴趣,适合新手使用和实验,需假定学生除了用过Word或浏览器这类的基础软件之外没用过其他软件。这些系统既可以是商业软件、自由软件,也可以是自己开发的。参考文献[5]中给出了几个案例及其分析说明。
(1)光线跟踪。运用计算机图形学原理(几何建模和光线传输与反射)、计算几何(计算交叉、几何搜索)等计算机知识。
(2)动画粒子系统。涉及离散时间系统驱动(随机数)、数值方法(数值积分)等计算知识。
(3)交互优化。涉及计算复杂性(算法与问题的复杂度、旅行商问题和NP完全)、人工智能(启发式搜索和优化)、概率论和统计(算法的经验分析)、人机交互(协同用户界面的设计)等计算技术。
(4)图像增强。涉及电子成像(图像感知与表示)、图像处理(点操作、图像过滤、噪音去除)等计算技术。
(5)人脸识别。涉及计算机视觉(形状识别、图形跟踪和运动分析)、人机交互(基于照相设备的界面)等计算技术。
(6)万维网上的信息检索。涉及经典数据处理(关系数据库和有效排序和查找)、信息检索(名词集合的向量空间模型、倒排索引、链接分析法、语义网和协同过滤)等计算技术。
案例六:美国坦普大学(TempleUniversity,USA)
美国坦普大学Aiken等人为非计算机专业学生设计了一门计算机案例课程,期望通过具体案例,结合特定领域的知识和逻辑,运用解决科学问题的一般性计算和数学方法,借助信息工具,引导学生解决关键的科学问题,达到让学生了解不同领域专家如何使用信息技术解决问题的目的[6]。在选择案例时,所考虑的依据为:①案例所表述的问题必须能激发不同专业学生的兴趣;②案例必须是一些实际工作中可能会遇到的;③通过案例阅读和分析,学生能迅速把精力集中到解决问题的策略和信息技术上,而不会被其他一些困难所牵制;④案例所表达的问题必须涉及计算机科学的主要概念和相关工具。参考文献[6]中详细地绘出了案例分析的模板,包括如下八个组成部分:
1)(1)任务描述。包括问题陈述、动机、背景、研究与验证所采用的模型、边界条件、作为一般性问题解决策略的解题过程、学习目标、陷阱与失败的范例,等。每一个案例应代表某一类问题以及与其相关的解决方案。
2)(2)课程计划和讲义。包括课程内容、特定目标、讲解与实验、独立活动、讨论专题和小组活动,等。
3)(3)试验计划、活动与讲稿。描述学生在实验前应该作哪些思考、应该在实验室里做些什么工作以及这些工作的目的。
4)(4)作业、课程项目、考试题和讨论问题。应留有足够的各类问题,用于自我评估并可供学生进一步自学。
5)(5)数据。应有与案例分析相关的数据(如文件、数据库、图像、动画和演示)。
6)(6)程序与工具。在案例分析中所用到的每一个程序和工具,在网上都应该有足够的文档,以及为什么选择这种工具的陈述。
7)(7)额外的资源,供进一步学习之用。包括参考文献、信息网站、相关项目,以及项目完善的建议。
8)(8)评价体系。对于案例分析中的每一种活动,指出学生应达到的程度。
参考文献[6]给出了如下几个案例供参考。①模拟时空下人类的行为,通过GIS模拟,跟踪2000年前到9000年前巴拿马中部热带森林里农民的扩张和随之而来的巴拿马森林的减少。②工业发展对职业年龄等造成的一系列影响,自1980到现在,审查、评价和解释美国职业分布的变化。③用计算方法探秘有机分子的结构,教给学生简单有机分子的物理性质和结构之间的关系,让学生利用物理定律和特定的计算方法预测简单分子的结构和性质。
2.3计算机编程课程的设置
在鼓励向非计算机专业开设计算机导论课和计算机应用课的同时,当前仍然有很多高校认同计算机程序设计课程的必需性。这是因为科学计算普遍存在于当今绝大多数的科学领域中,科学家们倾向于使用应用软件包而非程序开发环境。掌握基本的计算机程序设计概念、学习一般性程序设计技巧对使用这些软件包非常有帮助。如今,越来越多的科学软件包采用脚本语言、或更为完善的程序设计语言(如Matlab,Mathematica,等)。另外,教给学生一门程序设计语言对于将来想从事计算机科学工作的学生也是有用的。
一般意义上,计算机编程课的目的在于培养学生清晰思考的能力、通过编程解决实际问题的能力、以及感知计算机可以解决哪类问题的直觉能力(如计算机的最大能力以及计算的极限)。程序设计课程的讲授一般需遵循下列准则:①因时间有限,所讲授的程序设计语言必须容易学习和掌握;②程序设计语言必须能清晰反映计算机编程概念;③程序设计语言必须提供科学工作者常用的基本运算,例如将程序设计语言与图形集成在一起,学生就可以较为容易地学会画统计图表;④程序设计语言必须具有一般性,可以通过程序设计语言来解释计算机科学中遇到的重要概念,如语言必须可以用自然而简单的形式去表达树,也可以支持递归;⑤应用程序和例子必须经过认真、仔细地挑选,向学生展示这些例子与所学知识的内在关联,教给他们将来从事科学工作的技巧,且所选应用对于每个理工科学生来说都应是有趣、易掌握的。
案例七:美国杜克大学(DukeUniversity,USA)
美国杜克大学Biermann在讲授计算机编程课程时,兼顾了两大部分的内容:计算机硬件/软件部分和高级专题部分[7]。计算机硬件/软件部分着重让学生理解计算是一个机械的过程,从开关电路和机器基本部件的连接开始,讲授晶体管和超大规模集成电路技术,以及如何将大规模电路集成到小芯片上,然后展示一个典型的机器系统结构,机器的运转以及如何用它编程,最后,解释一个小的编译器如何把高级语言翻译成机器可以执行的语言。在高级专题方面,主要介绍一些当今热门研究问题,让学生认识到计算机科学的局限性,包括计算机程序的时间复杂度、并行结构、不可计算性和人工智能,等。
案例八:美国马可雷斯特大学(MacalesterCollege,USA)
美国马可雷斯特大学Kaplan在讲授Matlab程序设计课程中,一半用来介绍Matlab编程,包括数据类型、函数的参数传递、索引、读取标准文件的操作(如文本文件,电子表格)、构造函数、条件和函数;一半用来介绍理工科的实例,如声音(音乐合成、降噪音、速度变化,等)、图像(颜色调整、图像分片、边缘检测,等)、与数学的联系(公式的运用)、计算机科学(Fibonacci函数、汉诺塔、最优匹配、生物信息,等),以及图形用户界面(识别图像上的点),等[1]。
3结束语
一门优秀的非计算机专业计算机课程带给学生的影响与作用力将超过一个学期。纵观海外各大高校关于非计算机专业计算机课程的研究与实践经历,我们认为在设计一门非计算机专业计算机课程时,应遵循如下五大方面的设计准则:
1)(1)设定目标。根据学校教学大纲的要求,同时参考ACM推荐的课程(/sigcse/cc2001),达到以下的目标。
目标1:让课程内容更相关,所有课程内容和作业都和学生的职业目标相关;
目标2:为启发学生的创造力提供机会,提供机会引导学生把计算看作是有趣而又富有创造性的活动;
目标3:让理论更为实践化,让学生把计算机科学看作是一项社会活动,而不是把它看作一项如进行黑客活动一样的非社会活动。
(2)选择上下文。许多有力证据表明,如果不讲授一些抽象的概念,如某一具体领域内的程序设计,学生根本学不会。因此选择特定上下文是改进学习的一个关键点。如果以深度代替广度,我们可以教授更多的可转化的知识,同时,使得学生在某门课程结束后仍然可以应用这门课程所学到的知识。最好的方法就是在某些可以实际应用的特定环境中教他们编程。
(3)设定反馈渠道。不仅从授课教师中取得反馈,而且也应通过多种论坛渠道,获取学生的反馈。
(4)制定课程的基本结构。选择语言和编程环境是关键的问题,甚至在有些时候是非常谨慎的问题。对非专业课程中所使用语言的选择过程,与社会、文化极其相关,这种相关性甚至不亚于教法的相关性。
(5)定义课程。确定课程讲授内容、作业和实践操练的详细内容。
参考文献
[1]D.Kaplan.TeachingComputationtoUndergraduateScientists.InProc.oftheSIGCSE2004,Virginia,USA,2004,PP358-362.
[2]T.Cortina.AnIntroductiontoComputerScienceforNon-majorsUsingPrinciplesofCmputation.InProc.oftheSIGCSE2007,Kentucky,USA,2007,PP218-222.
[3]MarkUrban-LurainandDonaldJ.Weinshank,“Istherearoleforprogramminginnon-majorCScourses?”,MichiganStateUniversity,USA,inProc.ofFrontiersinEducationConference,2000.
[4]J.ParkerandG.Schneider.ProblemswithandProposalsforServiceCoursesinComputerScience.InProc.oftheSIGCSE1987,MO,USA,1987,PP423-427.
[5]L.Marks,W.Freeman,andH.Leitner.TeachingAppliedComputingWithoutProgramming:ACase-BasedIntroductoryCourseforGeneralEducation.InProc.oftheSIGCSE2001,NC,USA,2001,PP80-84.
计算机工程和计算机科学篇6
关键词:计算机应用技术;应用现状;分析
计算机技术经过接近70年的发展历程,从传统计算机的数值计算功能,发展到计算机多方面应用领域。尤其最近10年计算机技术、计算机网络技术、数据库技术及通信技术的快速发展,计算机技术应用领域越来越广,取得成绩越来越多。尤其Internet网络的快速发展与应用,改变了人们的生活方式,提升了人们的工作效率。计算机的应用的未来发展方向,越来越专业化、智能化。这是提高计算机应用技术的应用成果基本保障。
1计算机技术应用的现状与分析
1.1数据管理。
计算机技术早期应用数据管理与科学计算。数据管理主要是通过数据库的系统软件对一些大型数据进行有效的管理,提高数据管理的科学性,有效性,提升数据管理的规律性,应用的价值性。数据管理主要是根据数据库管理系统为管理者提供相应的决策依据,并提高决策者的管理水平,并改善管理策略的一种计算机技术。数据库软件的有效应用是提升数据管理的基本方法之一,数据库的发展经历了多年的历程,现有的数据库软件都是网络版本,在企业应用比较多的现在是Oracle数据库,其特色是应用大型的网络数据库,其应用具有一定的现实应用意义。在对数据进行管理过程中,主要的流程包括了数据采集、数据储存、数据加工分类、数据排序以及数据检索和等过程。数据库管理主要通过采集、储存、加工进行有效的管理,方便数据的共享等管理机制,减少代码的冗余性。数据管理已经成为当今计算机技术应用的一个主要方向,是现代化科学管理的主要基础。数据管理是软件开发中的重要组成部分,科学的应用数据库管理,是提高软件开发的基础,也是有效软件开发的基本保障。据不完全的统计数据显示,有超过80%以上的计算机应用主要是对数据进行管理,这足以说明计算机技术应用的主导方向就是数据管理。计算机中数据管理是计算机主要工作方式之一,也是计算机基本功能之一。目前,计算机技术应用到数据管理已经十分的普遍,其主要应用到现代办公自动化技术,企事业单位计算机辅助管理和决策、情报检索、图书馆等公共场所以及电影、动画设计和会计电算自动化等各个领域中。计算机技术的广泛应用,是我国科学技术水平提升的标志,计算机字长是衡量一个国家科学技术水平的重要指标。
1.2科学计算。
科学计算是计算机的主要功能之一,也是最早计算机唯一功能。世界第一台计算机1946年2月诞生,无论其有很多不完善的地方,但也是一个划时代的改革,其具有计算功能。计算机经过近70年的发展,其不仅是计算功能,而具有其它很多功能,计算机从开始的简单计算,现在能完成很多复杂计算,其应用领域比较广泛,比如天气预报、数学计算等。这些领域都需要复杂数学计算,用人工计算是非常难的,也是比较容易出现错误,利用计算机进行计算,准确无误,还节省了大量时间。利用一些固化的程序进行计算,完全可以取代人工计算,其具有一定应用前景。
1.3计算机过程控制。
自动化工程领域应用计算机技术比较多,主要应用与计算机过程控制。利用计算机对一些大型仪器进行过程控制,机器在工作过程中,人不直接进行控制机器,而是在利用计算机进行过程控制,节省了人力资源,利用计算机控制准确,出错概率低。过程控制主要是利用计算机技术对数据进行采集、分析并按照预定的目标对控制对象进行自我控制的过程。计算机进行过程控制,其应用技术比较成型,利用人工进行控制,控制工人需要经过专业培训,其工作错误率高,还有一定的风险。过程控制技术的应用可以明显提高自动化和智能化的水平,切实提高控制的准确定和真实性,从而提高控制的效率,切实提高工作能力。计算机过程控制是科学技术水平发展标志,也是现代化企业发展的需要。目前,计算机过程控制主要应用到是由生产开发、机械制造、交通运输和电力企业等行业中,其应用范围将会进一步得到扩展。计算机过程控制的应用领域的广泛应用,是我国工业快速发展标志,对企业提高最高利润的主要方法之一,也是社会发展的需要。
1.4计算机辅助技术。
计算机辅助技术主要是计算机辅助设计、计算机辅助制造、计算机辅助教学三方面。这三方面广泛应用,提升了其领域的应用成果。比如计算机辅助教学在教学中的引用,提升了课堂的教学效果,利用先进的科学技术,增加了教师教学手段,在课堂上利用,图文并茂,音频视频相结合的教学方法,提高了学生学习兴趣,对提高学生的学习成绩有一定的帮助。现在我国各个领域的学校,基本都应用计算机辅助教学,在一定程度上对提高学生的学习成绩提供了强有力的保障,丰富了学生的教学手段,完善了教学内容,也是学生课外学习的一个很好补充。
2计算机未来发展趋势分析
2.1微型化。
微信化是计算机未来发展的主要方向之一,微信化是计算机体积越来越小,其功能越来越完善,这也是科学技术发展到一定水平的标志。计算机经历了大致4个发展阶段,每个阶段计算机的元器件都发生变化,其体积越来越小,功能越来越强,现阶段发展水平促使计算机向智能化方向发展。
2.2专业化。
嵌入式设备和工业计算机在专业领域和工业领域有着广阔的前景,如各种终端设备、车载电脑等。随着信息化不断向前发展,很多特殊行业对计算机的性能提出了更高的要求,这也就要求了计算机在未来发展过程中要更加的专业化。
2.3智能化。
智能化是计算机未来主要发展方向之一,使其能够专门从事各种人类行为的计算,使得计算机处理更加的人性化和智能化。这些计算机技术的出现势必将会对现在计算机存在的某种弊端进行全面的改进,从而进一步的加快社会文明的发展和进步。
参考文献
[1]梁宏,许南山,卢罡.新浪微博用户及其微博特征分析[J].计算机工程与应用.
[2]王子成,豆根生,叶盟盟.基于DNA链置换反应的编码器逻辑运算模型研究[J].河南师范大学学报(自然科学版),2015(4).
[3]韩哲欣,谷国太,肖汉.量子计算机的研究与应用[J].河南科学,2015(9).
[4]孙海波,王丽敏,韩旭明.引入趋势因子的BP模型在股市预测中应用[J].统计与决策,2015(19).

植树节的作文范文(整理16篇)
- 阅0植树节的作文范文篇1今天是植树节,阳光灿烂,老师安排我们一起去植树,我们开开心心地拿起水桶,抗起铁铲,带上树苗地去植树了。我们兴高采烈地来到路边,我和小明一组,我挖坑,小明提水.....

3年级日记范文300字400字(精选10篇
- 阅03年级日记范文300字篇120__年_月_日星期_天气_今天,天蓝得像一张蓝纸,几多轻柔的白云飘在空中,雪白雪白的,像棉絮一般,随风缓缓浮游着。我的心情如同今天的天气似的。于是,我拉着.....

老师个人工作总结范文(精选29篇)
- 阅0老师个人工作总结篇1本学年,我园在上级的正确领导和亲切关怀指导下,全体教职工齐心协力,团结合作,坚持“预防为主、防治结合、加强教育”的原则,通过安全教育,增强了幼儿自我防护.....

妇产科新护士心得体会优秀范文,妇产
- 阅02022妇产科新护士心得体会精选篇1>转眼间,一年的时间又过去了,在这短短的一年时间里,我学到了很多也收获了很多,在科室领导与同事的支持和帮助下,我也成长了很多,在为人处事方面.....