- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
0-程序设计方法与技巧-绪论.pptx
程序设计方法与技巧
郭东伟
Skywind.guo@
什么是计算科学
计算科学是对描述和变换信息的算法过程,包括其理论、分析、设计、效率分析、实现和应用的系统的研究。
全部计算科学的基本问题是,什么能(有效地)自动进行,什么不能(有效地)自动进行。
计算已成为继理论、实验之后的第三种科学形态。
3/15/2010
2
计算科学的根本问题
计算的平台与环境问题
硬件平台
软件平台
计算过程的能行操作与效率问题
数值与非数值计算方法
算法设计与分析
人工智能的逻辑基础
计算的正确性问题
算法理论
程序理论
3/15/2010
3
三个层次和三个方面
3/15/2010
4
计算机科学、技术与工程
科学是关于自然、社会和思维的发展与变化规律的知识体系。
技术是泛指根据生产实践经验和科学原理而发展形成的各种工艺操作方法、技能和技巧。
工程是指将科学原理应用到工农业生产部门中去而形成的各门学科的总称。
计算机科学的核心问题是可行性和算法。
计算机技术的核心能力是程序设计能力。
计算机工程的核心问题是软硬件实现。
3/15/2010
5
计算机应用
计算机已经应用到社会经济的各个领域,主要包括科学计算和信息管理两方面。计算机是人类智力的延伸工具。
计算机科学发展的终极目标就是不但让计算机具有超强的计算能力,还让计算机具有像人一样的智能,最终使计算机能够做人类所做的一切事情,并且可能有比人类更强的能力。这是人类的一个梦想。
各种计算机能力的获得都要通过程序设计来实现。
3/15/2010
6
程序设计方法学
程序设计方法学是讨论程序的性质以及程序设计过程的理论和方法的一门学科;研究关于问题的分析,环境的模拟,概念的获取,需求定义的描述,以及把这种描述变换细化和编码成机器可以接受的表示的一般的方法。
程序设计方法学的目标是能设计出可靠、易读而且代价合理的程序。使程序设计更加科学化和工程化。
3/15/2010
7
程序设计方法学与软件工程
程序设计方法学也与软件工程关系密切。方法学对软件的研制和维护起指导作用。软件工程要求程序设计规范化,建立新的原则和技术。而一种新的方法的出现,又要求制订出相应的规范。方法和工具是同一问题的两个侧面。工具的研究以方法学为基础,而工具的研制成功又会影响程序设计。
3/15/2010
8
大学教育与就业需求
计算机原理
程序设计语言
数据结构
计算机算法
软件工程
不同的软硬件平台
熟练使用开发环境
掌握所需的库、SDK
写出可以工作的代码
团队合作的工具、流程
软件测试流程
文档写作能力
大学教育-基础课程
就业需求-实战技能
3/15/2010
9
不同的计算科学技术成果物
算法
能够解决一个特定问题、可行的、可终止的流程。
程序
使用某种计算机语言,能够正确执行,具有输入和输出结果的一段代码。
软件
能够正确、完整地完成某个任务,对各种输入情况进行响应的一个可执行体。
产品
全面、完整地完成一系列复杂功能,对各种输入情况进行及时正确响应,具有一定的鲁棒性的软件集合。可以作为单独一个商品销售,能够得到相应的服务支持。
3/15/2010
10
不同形式的对比
复杂程度
不同特性要求
正确性
效率
鲁棒性
可读性
可维护性
算法
★
5
4
1
2
/
程序
★★
4
4
2
3
3
软件
★★★★
2
2
3
4
4
产品
★★★★★
2
1
4
5
4
3/15/2010
11
小规模编程
程序设计方法与技巧
大规模程序设计
3/15/2010
12
从学校到岗位
3/15/2010
13
工具
大规模编程
小规模编程
技术
知识
计算机算法
数据结构、
程序设计语言、
编程、调试
小型IDE
软件工程
系统分析与设计
团队管理、
计划管理
大型IDE
团队级管理工具
结构化软件、
面向对象、
数据库设计、
编程规范
模块化设计、
约束编程、
设计模式、
组件管理…
版本控制工具、
测试工具、
文档工具
软件之道
术
法
道
3/15/2010
14
几个例子
程序优化,如字符串比较
术:知道具体哪个函数快
法:知道快的原因,并且能够适时选用
道:知道该优化哪里
程序设计语言
术:背下来全部语法,照着别人的例子写程序
法:所有规则熟烂于心
道:可以很快地学会一门新语言并应用
3/15/2010
15
教学内容
绪论
计算机语言
算法与数据结构
面向结构编程
面向对象编程
大规模程序设计
3/15/2010
16
主要参考书
Robert W. Sebesta著,张勤译:程序设计语言原理,机械工业出版社,2004。
(英文原版: Concepts of Programming Languages, Addison Wesley, 2002.)
裘宗燕 编著:从问题到程序,机械工业出版社,2005。
Bruno
文档评论(0)