计算机科学与技术学科的发展.ppt_第1页
计算机科学与技术学科的发展.ppt_第2页
计算机科学与技术学科的发展.ppt_第3页
计算机科学与技术学科的发展.ppt_第4页
计算机科学与技术学科的发展.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术学科的发展,李师贤lnslsx2007.12.14,内容,一、历史回顾二、计算机科学与技术的定义三、计算机科学与技术学科教育四、计算机科学与技术学科的基本问题五、发展趋势结束语,一、历史回顾,1、人类社会的发展阶段2、工程技术学科发展的三个阶段3、计算机科学与技术的发展4、Internet的发展5、计算机科学的发展,1、人类社会的发展阶段,2、工程技术学科发展的三个阶段,科学萌芽阶段技术成长阶段工程化、产业化成熟阶段科学,3、计算机科学与技术的发展(1/2),计算机科学与技术的发展(2/2),从整机和应用发展的角度划分变革阶段,4、Internet的发展,5、计算机科学的发展,二、计算机科学与技术的定义,1、计算机科学的种种定义2、各发展方向的问题空间3、关于计算机科学定义的启示,1、计算机科学的种种定义,1、计算机科学是研究与计算机有关现象的科学。(Newell,Perlis和Simon,1967)2、计算机科学是研究算法的科学。(Knuth,1968)3、计算机科学是研究信息结构的表示、变换和解释的科学。(Wegner,1968)4、计算机科学是研究和管理复杂性的科学。(Dijkstra,1969)5、计算机科学技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、储存、处理、控制等的理论、原则、方法和技术的学科。,ComputingCurricula2004OverviewReport(2004.6.1),GuidetoUndergraduateDegreeProgramsinComputingForundergraduatedegreeprogramsinComputerEngineeringComputerScienceInformationSystemsInformationTechnologySoftwareEngineeringJointTaskForceforComputingCurricula2004AcooperativeprojectofACM/AIS/IEEE-CSStrawmanDraft1June2004这是在CCCS2001的基础上,根据大家建议提出来的。,2、各发展方向的问题空间,CS,IS,IT,SE,CE,摘自CC2005,3、关于计算机科学定义的启示(1/3),计算机科学定义的内容:-部分是关于经验地研究一类现象的科学;-部分是关于若干类抽象结构的形式性质的数学;-部分是关于价格上经济地设计和构造商业上和社会上有价值产品的工艺学。,3、关于计算机科学定义的启示(2/3),计算机科学研究人员所持的研究态度:-自然科学态度(经验科学态度)-数学态度-工程态度,3、关于计算机科学定义的启示(3/3),计算机科学研究人员应具有的能力:-有经验科学家追根问底的精神;-有数学家建立模型和抽象的能力;-有工程师建造工具和实现的能力。,三、计算机科学与技术学科教育,1、专业方向特点2、人才培养的基本定位3、问题空间4、知识领域的划分与核心学时分配5、能力要求6、课程体系示例7、计算机学科本科生应该具有的通用技能8、教学的三个过程9、实例,1、专业方向特点,专业内容相对突出计算的理论和算法,在计算理论以及相关的数学领域为学生打下较好的基础,要求学生掌握求解计算问题的有效方法,擅长算法分析与设计,对于应用的实际问题具有理性分析的能力。,2、人才培养的基本定位,德、智、体、美全面发展掌握自然科学基础知识注重计算机科学基础理论,兼顾计算机系统及应用,3、问题空间,摘自CC2005,4、知识领域的划分与核心学时分配,CS-AR计算机体系结构与组织(82)CS-AL算法与复杂性(54)CS-HC人机交互(12)CS-OS操作系统(40)CS-PF程序设计基础(69)CS-SP社会与职业问题(11)CS-SE软件工程(54)CS-DS离散结构(72)注:红色为计算机科学特有或者重点知识领域(括弧内为每个领域核心学时数,全部领域共560学时),CS-NC网络计算(48)CS-PL程序设计语言(54)CS-GV图形学与可视化计算(8)CS-IS智能系统(22)CS-IM信息管理(34)CS-CN数值计算详细信息参见计算机科学与技术专业规范3.2.3小节的表3-1,5、能力要求,具备在计算机科学领域里分析问题、解决问题的能力具备实践能力具备良好外语运用能力团队精神与组织才能沟通能力与良好的人际关系表达能力,6、课程体系示例(1/2),6、课程体系示例(2/2),7、计算机学科本科生应该具有的通用技能(毕业生的要求),(1)基本要求数学要求科学方法熟悉应用沟通技能团队工作能力其它(职业道德、知识产权、法律等应有足够的重视和了解),(2)具体要求,系统级的预测能力理论与实践间相互作用的判断熟悉重复出现的概念大项目的经验知识适应变化的能力,(3)能力与技巧,认知CS中的能力和技巧实践CS中的能力和技巧其它能力和技巧(交流、团队协作、数据表达、自我管理、职业开发等),(4)典型标准,对知识体的主领域和科学理论有较深刻的理解对非形式描述的问题能进行准确的分析,并能用相关的概念、理论和准则,还能有效地选择和使用相应的技术和工具能完成一个项目的分析、定义、设计和实现能在极少指导下独立工作,以及作为团队或成员进行工作的能力能从事专业的、合法的、合乎道德的正确的实践活动明确继续专业发展和终身学习的机制能在一个广泛的范围内综合地运用所学知识的能力,8、教学的三个过程,(1)TheoryDefinitionandAxioms,Theorems,Proof,Interpretationofresult(2)AbstractionDatacollectionandHypothesisformation,ModelingandPrediction,Designofanexperiment,Analysisofresults(3)DesignRequirements,Specification,DesignandImplementation,TestingandAnalysis,9、实例,ProgrammingLanguages,(1)理论,形式语言与自动机,包括语法分析和语言翻译理论TuringMachines(过程语言的基础)、PostSystems(串处理语言的基础)、一Calculus(函数语言的基础)形式语义学:定义计算机数学模型的方法,以及模型、语言语法与实现之间的关系。主要方法包括符号、代数、操作和公理的语义学作为支持领域:谓词逻辑、时态逻辑、近世代数、及数学归纳法,(2)抽象,基于语法和动态语义学模型的语言分类:静态类型、动态类型、函数、过程、面向对象、逻辑、规格说明、消息传送和数据流按应用领域的语言分类事务数据处理、模拟、表处理、及图形对程序结构的基本语法和语义模型的分类:过程分层、功能组合、抽象数据类型、通信并行处理各种基本语言类型的抽象实现模型语法分析、编译、解释和代码优化的方法语法分析器、扫描仪、编译器构件和编译器的自动生成方法,(3)设计,具体的语言把个别的抽象机器(语义)装配在一起形成可实现的整体过程式(Fortran、ALGOL、Cobol、Ada、C)函数式(Lisp)数据流(SISAL,VAL)面向对象的(Smalltalk、C+)逻辑式(Prolog)串式(SNOBOL)并发(CSP、OCCAM、ConcurrentPascal、Modula2),特殊语言的具体实现方法:运行期模型、静态和动态执行方法、打印校对、存储器和寄存器的分配、编译器、交叉编译、解释器,及在程序中寻找并行性的系统编程环境语法分析器和扫描生成器(YACC,LEX)、编译生成器用于检查语法和语义错误的程序,程序特征表的产生、调试和跟踪编程语言用于文档处理功能的方法:如建表、图、化学公式、展开方程、I/O及数据处理。其它应用:如统计处理,请仔细阅读并思考下列所示的五个程序段,指出它们的功能,程序段1:maxv=(b+a)/2+abs(a-b)/2);maxv=(maxv+c)/2+abs(maxv-c)/2);,程序段2:,#includevoidmain()inta;intb;intc;intmaxv;coutabc;if(ab)gotoL1;if(bc)gotoL2;maxv=c;gotoL4;L1:if(bc)gotoL3;if(ac)gotoL3;maxv=c;gotoL4;L2:maxv=b;gotoL4;L3:maxv=a;L4:coutThemaxnumberis:maxvc)maxv=a;elsemaxv=c;elseif(bc)maxv=b;elsemaxv=c;,程序段4:,maxv=a;if(bmaxv)maxv=b;if(cmaxv)maxv=c;,程序段5:,maxv=max(max(a,b),c);【思考要点】在程序设计过程中,你觉得可以通过哪些方式提高程序的可理解性?程序的可理解性和编写程序所使用的程序设计语言有关。程序设计语言经历了机器语言、汇编语言、过程式程序设计语言、面向对象程序设计语言的发展阶段,试分析这些语言各自的特点,并解释为什么越是后期出现的语言其编写出来的程序的可理解性会越强。,四、计算机科学与技术学科的基本问题,1、基本问题2、学科发展的主线3、学科形态4、学科基本工作流程方式,1、基本问题,计算的平台和环境问题计算模型问题计算过程的能行操作和效率问题算法与程序问题计算的正确性问题语义学问题,2、学科发展的主线,计算模型与计算机系统计算模型、语言与软件开发方法学应用数学与计算机应用,3、学科形态,理论:关心的是以形式化方式揭示对象的性质和相互之间的关系抽象:关心的是以实验方式揭示对象的性质和相互之间的关系设计:关心的是以生产方式对这些性质和关系的一些特定的实现,完成具体而有用的任务,4、学科基本工作流程方式,对现实世界中被研究的对象进行抽象,建立必要的基本概念,运用数学工具和方法对其进行基础和应用基础研究,研究(对象)概念的基本性质、概念与概念之间的关系,由此揭示对象发展变化的内在规律,为实验设计和工程设计实现提供方法和技术,并开展实验和工程设计与实现工作。其中,抽象(主要指抽象化过程)是理论、抽象和设计三个基本学科形态中最重要的一个形态,它是连接学科科学研究与工程应用开发研究的重要环节。,五、发展趋势,软件是一台计算设备的思维中枢。经过数十年的发展,软件产业已经成为当今世界投资回报比最高的产业之一,而这一产业正在潜移然化地改变着我们赖以生存的这个星救的面貌。新世纪,软件产业的发展趋势:网络化趋势;服务化趋势;全球化趋势。,结束语,学习什么?专业面对的一个现实问题我们应该具有,1.学习什么?,发现未知事物(主要是计算机科学与技术的基础理论和专业知识);发现自己的错误、不足、欠缺、需求和必须充实的东西;发现自己的能与不能;发现别人的智慧、才华、错误、缺点及其对自己的启示;发现美,丑、恶;等等这些都是学习过程的重要领悟.综合地说就是:学做人、学做事、学知识。,20年前:计算机毕业生知道这些差不多了,摘自李晓明的ppt,从10年前开始:似乎还需要知道这些,摘自李晓明的ppt,什么没有变?,4年35-40门课150左右学分2000小时左右的课堂时间20年的进化并没有使人类在20年里变得聪明得很多,大学生在校的时间,摘自李晓明的ppt,学习必然要经历艰苦的操练,“读书、听课不是学习而是了解,只有动手做、进行实践才是学习”.只有把知识提升到实践才有价值.科学探究“是什么”;技术解决“怎么做”;艺术追求怎样“做得好,做得美”。就我们今天学习而言,科学探究“计算机科学与技术专业是什么”;技术解决“怎么学”;艺术追求“怎样学好”,2.专业面对的一个现实问题:软软危机,软软危机:功能不强,性能欠佳,超时,超支OS/360系统的负责人Brooks生动地描述了研制过程中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论