计算科学导论三.ppt
《计算科学导论三.ppt》由会员分享,可在线阅读,更多相关《计算科学导论三.ppt(40页珍藏版)》请在三一文库上搜索。
1、2019/4/25,1,计算科学导论(三) 计算机与信息学院 蒋川群 13002187038 2012年10月,2019/4/25,2,计算科学各主领域及其基本问题,离散结构 程序设计基础 算法与复杂性 体系结构 操作系统 网络计算 程序设计语言,人机交互 图形学和可视化计算 智能系统 信息系统 软件工程 社会和职业问题 科学计算,2019/4/25,3,离散结构 计算学科的根本问题是“能行性”的问题。而凡是与“能行性”有关的讨论,都是处理离散对象的 许多领域的工作都要用到离散结构的概念 包含:集合论、数理逻辑、代数系统、图论和组合数学等重要内容,计算科学各主领域及其基本问题,2019/4/
2、25,4,离散结构 离散结构的内容在数据结构、算法有广泛的应用 在形式规约、验证以及密码学的研究和学习中,需要有生成并理解形式证明的能力 在计算机网络、操作系统、编译系统等领域要用到图论的概念 在软件工程和数据库等领域需要使用集合论的概念,计算科学各主领域及其基本问题,2019/4/25,5,程序设计基础 程序设计实践中所需要的基本技能和概念组成 包含:基本程序设计概念、基本数据结构、算法程序等 基本问题: 对给定的问题,如何进行有效的描述并给出算法 如何正确选择数据结构? 如何进行设计、编码、测试和调试程序?,计算科学各主领域及其基本问题,2019/4/25,6,算法与复杂性 算法是计算机科
3、学与软件工程的基础 现实世界中任何软件系统的性能仅依赖于两个方面: 所选择的算法 在各不同层次实现的效率,计算科学各主领域及其基本问题,2019/4/25,7,算法与复杂性 算法研究能够深刻理解问题的本质和可能的求解技术,而不依赖于具体的程序设计语言、程序设计模式、计算机硬件或其他任何与实现有关的内容 计算的一个重要内容就是根据特定目的选择适当的算法并加以运用,同时认识到可能存在不合适的算法,计算科学各主领域及其基本问题,2019/4/25,8,算法与复杂性 依赖于对那些具有良好定义的重要问题求解算法的理解,以及认识到这些算法的优缺点和它们在特定环境中的适宜性 效率是贯穿该领域的核心概念,计算
4、科学各主领域及其基本问题,2019/4/25,9,算法与复杂度 基本问题: 对于给定的问题类,最好的算法是什么?要求的存储空间和计算时间有多少?空间和时间如何折中? 访问数据的最好方法是什么? 算法最好和最坏的情况是什么? 算法的平均性能如何? 算法的通用性如何?,计算科学各主领域及其基本问题,2019/4/25,10,体系结构 对计算机系统的功能部件、功能特定、性能和相互作用有一定的理解 为了构造程序,需要理解计算机体系结构,从而使该程序在一台真正的机器上更有效地运行 在选择用于应用的系统时,应该理解各种部件之间的折中,如CPU、时钟频率与内存大小的折中,7.4计算科学各主领域及其基本问题,
5、2019/4/25,11,体系结构 基本问题: 实现处理器、内存和机内通信的方法是什么? 如何设计和控制大型计算系统,而且使其令人相信,尽管存在错误和失败,但它仍然是按照我们的意图工作的? 哪种类型的体系结构能有效地包含许多在一个计算中能并行工作的处理元素? 如何度量性能?,7.4计算科学各主领域及其基本问题,2019/4/25,12,操作系统 操作系统是对计算机硬件行为的抽象,程序员用它来对硬件进行控制 操作系统还负责管理计算机用户间的共享资源(如文件等) 操作系统及其抽象机制相对于应用软件更加复杂,要求学生在系统学习操作系统内部算法实现和数据结构之前,对操作系统有深入的理解,计算科学各主领
6、域及其基本问题,2019/4/25,13,操作系统 操作系统的课程不仅要强调操作系统的使用(外部特征),还要强调它的设计和实现(内部特征) 操作系统中的许多思想在其他计算科学领域用广泛的应用,例如:并行程序设计、算法设计与实现、虚拟环境的创建、网络高速缓存、安全系统的创建、网络管理等,计算科学各主领域及其基本问题,2019/4/25,14,操作系统 基本问题: 在计算机系统操作的每一个级别上,可见的对象和允许进行的操作各是什么? 对每一类资源,能够对其进行有效利用的最小操作集是什么? 如何组织接口才能使得用户只需与抽象的资源而非硬件的物理细节打交道?,计算科学各主领域及其基本问题,2019/4
7、/25,15,操作系统 基本问题: 作业调度、内存管理、通信、软件资源访问、并发任务间的通信以及可靠性与安全的控制策略是什么? 通过少数构造规则的重复使用进行系统功能扩展的原则是什么?,计算科学各主领域及其基本问题,2019/4/25,16,网络计算 包括:计算机通信协议的概念和协议、多媒体系统、Web标准和技术、网络安全、移动计算以及分布式系统等 要精通这个领域,必须有理论和实践两方面的知识 实践教学包括:数据收集和综合、建模、源代码级的协议分析、网络数据包的监控、软件构造以及对备选设计模型的评估等,计算科学各主领域及其基本问题,2019/4/25,17,算法与复杂度 基本问题: 网络中的数
8、据如何进行交换? 网络协议如何验证? 如何保证网络的安全? 分布式计算的性能如何评价? 分布式计算如何组织才能够使通过通信网连接在一起的自主计算机参加到一项计算中,而网络协议、主机地址、带宽和资源则具有透明性?,计算科学各主领域及其基本问题,2019/4/25,18,程序设计语言 是程序员与计算机交流的主要工具 一个程序员不仅要至少掌握一种程序设计语言,更要了解各种程序设计语言的不同风格 为了迅速掌握一门新语言,程序员必须理解程序设计语言的语义以及在不同的程序设计范式之间设计上的折中 为了理解程序设计语言实用的一面,还要求具有程序设计语言翻译和诸如存储分配等方面的基础知识,计算科学各主领域及其
9、基本问题,2019/4/25,19,程序设计语言 基本问题: 语言(数据类型、操作、控制结构、引进类型和操作的机制)表示的虚拟机的可能组织结构是什么? 语言如何定义机器?机器如何定义语言? 什么样的表示法(语义)可以有效地用于描述计算机应该做什么?,7.4计算科学各主领域及其基本问题,2019/4/25,20,人机交互 重点在于理解作为交互式对象的人的行为,知道怎样使用以人为中心的方法来开发和评价交互式软件系统 基本问题: 表示物体和自动产生供阅览的照片的有效方法是什么? 接收输入和给出输出的有效方法是什么? 怎样才能减少产生误解和由此产生的人为错误的风险? 图表和其他工具怎样才能通过存储在数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 科学 导论
链接地址:https://www.31doc.com/p-2635221.html