1 / 13

程序设计思想与方法

程序设计思想与方法. 绪论. 教师信息. 主讲 陆朝俊 ( 电信学院计算机科学与工程系 ) 邮箱 : lu-cj@cs.sjtu.edu.cn 资料: ftp://ftp.cs.sjtu.edu.cn:990/lu-cj ftp://public.sjtu.edu.cn 登录用户/口令: lucj/public 办公室 : 电院楼群 3-525 助教. 2. 2. Lu Chaojun, SJTU. 教材和参考书. 教材 很遗憾 , 暂无合适的中文版教材

lou
Download Presentation

程序设计思想与方法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 程序设计思想与方法 绪论

  2. 教师信息 • 主讲 陆朝俊(电信学院计算机科学与工程系) 邮箱: lu-cj@cs.sjtu.edu.cn 资料: ftp://ftp.cs.sjtu.edu.cn:990/lu-cj ftp://public.sjtu.edu.cn 登录用户/口令:lucj/public 办公室: 电院楼群3-525 • 助教 2 2 Lu Chaojun, SJTU Lu Chaojun, SJTU

  3. 教材和参考书 • 教材 • 很遗憾,暂无合适的中文版教材 • 目前使用: Python Programming: An Introduction to Computer Science. (电子版) • 参考书 • How to Think Like a Computer Scientist—Learning with Python.(电子版) 3 Lu Chaojun, SJTU Lu Chaojun, SJTU Lu Chaojun, SJTU

  4. 关于课程名称 “程序设计思想与方法”:对应于近年来国外提出的新课程—“计算思维”. 计算思维(computational thinking)是计算机科学家利用计算机(计算过程)解决问题时的思想和方法. 计算机科学(CS)是关于“计算”的学问. 计算:并非大家平时所说的数学计算! CS提供了一套思想工具,可用来建立问题的解法和科学过程的模型. 4 4 4 Lu Chaojun, SJTU Lu Chaojun, SJTU

  5. 真的有计算思维吗? • 人们在解决不同问题时有不同的思考方式 • 数学思维:解数学问题 • 工程思维:工程设计 • 形象思维:创作诗词 • ...... • 计算思维建立在由计算机执行的计算过程的能力和限制之上. • 由于计算机的广泛应用,计算思维应成为人们的基本能力. • 与阅读,书写,算术能力一样! 5 5 Lu Chaojun, SJTU Lu Chaojun, SJTU

  6. 计算思维的特点 • 是概念化思考,而非编程 • 是基本思考能力,而非机械的套用 • 是人在思考,而非计算机 • 与数学思维和工程思维相结合 • 是思想,而非人造物品 • 人人皆有,处处皆是 Lu Chaojun, SJTU

  7. 计算思维的例子 • 问题的抽象,表示,建模 • 化难为易:分解,约简,嵌入,转换,模拟... • 问题解法的效率,近似解,失误率… • 结构化与模块化的思考 • 递归地思考 • 并行地处理,同步 • 问题难度与机器的能力 • 程序美学,系统设计的简洁与优雅 Lu Chaojun, SJTU

  8. 计算思维的例子(续) • 预取和缓存 • 对最坏情况的预防,保护,恢复 • 启发式推理 • 规划,学习,调度 • 时空等不可兼得要素的权衡 • …… Lu Chaojun, SJTU

  9. 日常生活中的计算思维 • 小学算术:长除法,最大公约数 • 查字典:线性,二分 • 排队:先来先处理 • 整理扑克牌:插入排序 • 书包:预取与缓存 • 邮递员投递路线:尽可能只经过一次 • 烧菜:并行处理 • 工厂:流水线并行 • …… Lu Chaojun, SJTU

  10. 计算思维对其他学科的影响 • 计算数学,计算几何,自动定理证明 • 计算生物学,生物信息学 • 算法博弈论 • 计算化学 • 计算物理学 • 人工智能,机器学习 • 医学影像技术 • 电子商务 • 计算机艺术:电影特效,计算机作曲绘画书法 • …… Lu Chaojun, SJTU

  11. 本课程的定位 • 学习利用计算机解决问题的思想方法,应用于其他专业领域 • 不是程序设计语言课程! • 编程是计算思维的实践 • 坏消息:学习编程语言需要掌握非常繁琐的细节 • 好消息:Python语言非常简单,易学易用 • 不是算法和数据结构课程! • 会学习一些基本的知识 Lu Chaojun, SJTU

  12. 本课程的定位(续) 数学 计算思维 理,化,生... 计算机科学 经,管,金融... 工程 可计算性理论 程序设计语言 算法设计与分析 数据结构 艺术 12 Lu Chaojun, SJTU

  13. End 13 Lu Chaojun, SJTU Lu Chaojun, SJTU

More Related