Lecture01计算机能做和不能做什么以及如何去做课件_第1页
Lecture01计算机能做和不能做什么以及如何去做课件_第2页
Lecture01计算机能做和不能做什么以及如何去做课件_第3页
Lecture01计算机能做和不能做什么以及如何去做课件_第4页
Lecture01计算机能做和不能做什么以及如何去做课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、计算思维课程简介和学习注意事项课程简介教学目的: 计算思维引导 计算机专业的职业引导 某种程度上的大学学习方式的引导教学内容: 以持续追求更优的算法为主线的算法设计思维引导; 以持续追求全局观、系统观的平台设计思维引导; 体现“计算机科学已经成为基础学科”的计算机专业职业引导和职业道德。大体内容 第一讲:计算机如何利用简单规则的有序使用来解复杂问题的。 计算机为什么能“像人”一样处理问题?计算机解题和人解题有何区别?算法是什么? 第二讲:持续追求更优:计算机科学家的习惯,计算机工作者的习惯 若干范例去解读:如何判断哪个算法更好?算法的复杂度是什么意思? 第三讲:计算如何被计算机支持语言篇 程序

2、语言具备的被计算机识别特征?语言所起到的翻译作用,程序设计的本质是什么?为什么存在不同的设计风格?大致内容 第四讲:计算如何被计算机系统支持经典平台篇 指令集、体系结构、操作系统在不同抽象层面上开展的对计算的支持 集成电路、CPU、总线、计算机。在不同层面上的支持 第五讲:计算如何被计算系统所支持现代平台篇 网络、协议、TheInternetisthecomputer 大数据、云计算等新型计算模式 第六讲:程序设计方法学 结构化、面向对象; 观察世界的视角,模拟的视角,程序的质量和效率;大致内容 第七讲:如何高效、高质量地生产软件系统软件工程 什么是好的程序?什么是好的软件? 解剖一个大软件,

3、观察大软件的结构及其“生产工艺” 第八讲:并行计算 分而治之的朴素的思想,超大规模计算达到的惊人的效果 众人拾柴火焰高?yesorno?其中的困难。 第九篇:计算的神话和现实人工智能大致内容 第十一讲:计算机人的职业专业篇 科学研究、技术创新、系统开发、IT管理 从事工作的特点、工作习惯、思维方式、生活模式 第十二篇:计算机人的职业跨学科 计算在其它理工科学科的作用 生物、电子、气象=算法 计算在其它文科、经济学上的作用 金融、保险、社会学=大数据及其处理 第十三讲:滥用计算,后患无穷 病毒、黑客、职业道德 网络行为、人格养成学习方式 教学内容来源 http:/ 作业要求 严禁抄袭(包括一字不

4、漏地抄袭网站内容) 联系方式: 计算机楼815算思维-论题1:计算机能做什么?不能做什么?Computers are amazing machines. Theyseemtobeabletodoanything.Theyflyaircraftandspaceships,andcontrolpowerstationsandhazardouschemicalplants.Companiescannolongerberunwithoutthem,andagrowingnumberofsophisticatedmedicalprocedurescannotbeperforme

5、dintheirabsence.Theyservelawyersandjudgeswhoseekjudicialprecedentsinscoresofdocumentedtrials,andhelpscientistsinperformingimmenselycomplicatedandinvolvedmathematicalcomputations.Computers are amazing machines. Theyrouteandcontrolmillionsoftelephonecallsinnetworksthatspancontinents.Theyexecutetaskswi

6、thenormousprecisionfrommapreadingandtypesettingtographicalpictureprocessingandintegratedcircuitdesign.Theycanrelieveusofmanyboringchores,suchaskeepingameticuloustrackofhomeexpenses,andatthesametimeprovideuswithdiverseentertainmentsuchascomputergamesorcomputerizedmusic.Moreover,thecomputersoftodayare

7、hardatworkhelpingdesigntheevenmorepowerfulcomputersoftomorrow.有计算机不能干的吗? 还是我们该问:有计算机干不好的吗?计算机到底是干什么的?实际上,计算机是什么?eventhemostsophisticatedcomputerisreallyonlyalarge,well-organizedvolumeofbits,andmoreoveritcannormallycarryoutonlyasmallnumberofextremelysimpleoperationsonthem,suchaszeroing,flipping,andte

8、sting计算机其实很笨!但是,计算机确实很神奇!我们用x0,x1,x31表示x的32个bits,用y0,y1,y31表示y的32个bits一个稍微复杂的例子计算两个1bit的二进制数的和(增加exit和goto操作)add(x,y)1.zeroz02.zeroz13.equalitytest(x,y)4.testeqgoto75.flipz06.exit7.zerot8.flipt9.equalitytest(x,t)10.testeqflipz1问题:如果只用zero、flip、testexit、goto操作,能完成这个任务吗?封装+抽象 用最原子的操作封装成更“高级”的操作 用三个基本操

9、作可以实现“相等”操作 用“相等”操作可以实现一位的加法操作 用一位的加法“间接操作”可以实现普通加法 a:=x+y实际上,现代计算机内部电路能提供的“原子”操作远不止这5个基本操作不同的原子操作=不同的计算机实际上,我们在编写程序时使用“封装”的高级操作可以“随心所欲”不同级别的语言、不同级别的软件库一段等价的汇编和高级语言程序/-计算|x-y|的C代码-intabsdiff(intx,inty)if(xy)returny-x;elsereturnx-y;/-汇编代码-movl8(%ebp),%edx;取x的值movl12(%ebp),%eax;取y的值cmpl%eax,%edx;比较x和y的值jl.L3;如果yx转到.L3subl%eax,%edx;计算y-xmovl%edx,%eax;返回值jmp.L5;跳转到.L5.L3:;yxsubl%edx,%eax;计算x-y.L5:;完成但,本质上都是:结论从如此简单的基本元件和操作来完成不可思议的复杂行

温馨提示

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

评论

0/150

提交评论