出版时间:2012-7 出版社:机械工业出版社 作者:(美)Mark Guzdial,(美)Barbara Ericson 页数:312 译者:王江平
Tag标签:无
内容概要
《计算机科学丛书:Python计算与编程实践·多媒体方法(原书第2版)》是一本别出心裁的程序设计入门教程,以Python数字多媒体编程为主线,依次讲解了图像、声音、文本和电影的处理,其中穿插介绍了大量的计算机程序设计基础知识。方法独到,示例通俗易懂,条理清晰,将趣味性和实用性融于讲解之中。
《计算机科学丛书:Python计算与编程实践·多媒体方法(原书第2版)》适合用做计算机专业导论课或非计算机专业编程课程的教材,也可用做软件开发人员学习计算机数字多媒体处理知识和Python语言的专业参考书。
作者简介
作者:(美国)古兹迪阿尔(Mark Guzdial) (美国)埃里克森(Barbara Ericson) 译者:王江平 古兹迪阿尔(Mark Guzdial),是佐治亚理工学院计算机学院交互式计算专业的教授。他是ACM国际计算机教育研究系列研讨会的创立者之一。ACM教育委员会副主席, “Journal of the Learning Sciences”和“Communications of the ACM”编委会委员。Guzdial博士主要关注计算机教育方面的研究。他的第一本著作论述Squeak语言及其在教育中的应用。他是Swiki(Squeak Wiki)的早期开发者。Swiki是第一个专门用于学校的wiki。他出版了多本关于利用多媒体编程环境学习计算机编程的著作。影响了世界各地的计算机本科生教学。 埃里克森(Barbara Ericson),是佐治亚理工学院计算机学院“计算机普及”课程的主管和研究人员。她从2004年开始就致力于改善计算机基础教育,现在是计算机科学教师协会的师范教育代表,美国女性信息技术中心K-12联盟的合作主席,计算机科学AP考试开发委员会成员。她的研究兴趣涉及计算机图形学、人工智能和面向对象编程等多个领域。
书籍目录
出版者的话
译者序
第2版前言
第1版前言
第一部分 导论
第1章 计算机科学与媒体计算导论
1.1 计算机科学是关于什么的
1.2 编程语言
1.3 计算机理解什么
1.4 媒体计算:为什么要把媒体数字化
1.5 大众的计算机科学
习题
第2章 编程导论
2.1 编程与命名有关
2.2 Python编程
2.3 JES编程
2.4 JES媒体计算
2.5 构建程序
习题
第3章 使用循环修改图片
3.1 图片的编码
3.2 处理图片
3.3 改变颜色值
3.4 制作日落效果
3.5 亮化和暗化
3.6 制作底片
3.7 转换到灰度
习题
第4章 修改区域中的像素
4.1 复制像素
4.2 图片镜像
4.3 复制和转换图片
习题
第5章 高级图片技术
5.1 颜色替换:消除红眼、深褐色调和色调分离
5.2 合并像素:图片模糊化
5.3 比较像素:边缘检测
5.4 图片融合
5.5 背景消减
5.6 色键
5.7 在图像上绘图
5.8 指定绘图过程的程序
习题
第二部分 声音
第6章 使用循环修改声音
第7章 修改一段样本区域
第8章 通过合并片段制作声音
第9章 构建更大的程序
第三部分 文本、文件、网络、数据库和单媒体
第10章 创建和修改文本
第11章 高级文本技术:Web和信息
第12章 产生Web文本
第四部分 电影
第13章 制作和修改电影
第五部分 计算机科学议题
第14章 速度
第15章 函数式编程
第16章 面向对象编程
习题
附录A Python快速参考
参考文献
章节摘录
版权页: 插图: 从所有情况中找出绝对最优的组合永远是极其耗时的任务。对于这样的算法,类似D(2n)这样的时间复杂度并不罕见。但还有其他一些问题,看似可以在合理的时间内完成,实际却不是。 这些问题当中,比较著名的一个就是旅行商问题(Traveling Salesman Problem)。想象自己是一名负责很多客户的售货员——比如说客户数量是30,前面最佳歌曲问题的一半。为提高工作效率,你想在地图上找一条能把每个客户访问一次,且不会重复访问的最短路径。 要求给出旅行商问题的最优解,一种最有名的算法是O(n!)级的。那可是n的阶乘。另外有些耗时较短的算法能给出近似最短,但无法保证绝对最短的路径。对30个城市来说,使用这种O(n!)复杂度的算法需要执行30 !个步骤,或者说265252859812191058636308480000000步。到1.5 GHz的处理器上运行看吧——在你有生之年是运行不完的。 真正严重的问题是:旅行商问题并不是人为搞出来的玩具题目。确实有人需要在全世界范围内规划最短路由。还有一些类似问题,从算法上考虑与旅行商问题如出一辙,比如规划机器人在厂房中的行走路线。这是个又大又难的问题。 计算机科学家把问题归为三大类: 许多问题,比如排序,可以用运行时间为多项式复杂度(比如O(n2))的算法解决,我们把这类问题称为P类问题(P代表“多项式”)。 另一些问题,比如求最优组合,存在已知的算法,但解法太大太难,即使中等规模的数据量都难以在合理的时间内解决。我们把这类问题称为难解型(intractable)问题。 还有另一些问题,如旅行商问题,看似难解,但可能存在P类解法,只是我们尚未发现。 我们把这类问题称为NP类问题。 理论计算机科学领域最大的未解问题之一就是证明要么NP和P完全不同(意味着我们永远不能在多项式时间内解决旅行商最短路径问题),要么P包含NP。 你可能疑惑,有关算法的问题可以“证明”吗?毕竟我们有这么多不同的编程语言和编写算法的不同方式。如何能确定地证明一件事情是可做或不可做的呢?然而,这的确可以。事实上,Alan Turing(阿兰•图灵)甚至证明了某些算法是编写不出来的。 在编写不出来的算法当中,最著名的一个是程序停止问题(Halting Problem)。我们编写过读取或输出其他程序的程序。可以想象,一个程序完全可以读取另一个程序并输出相关信息(比如此程序中有多少print语句)。那么,能否编写一个程序,输入另一个程序(比如通过文件),然后告诉我们那个程序会不会停止呢?考虑这样一种情况:输入程序中有一些复杂的while循环,导致我们难以判定while循环表达式会不会变成false。然后再想象一下这样一组循环相互嵌套的情况。
编辑推荐
《Python计算与编程实践:多媒体方法(原书第2版)》适合用做计算机专业导论课或非计算机专业编程课程的教材,也可用做软件开发人员学习计算机数字多媒体处理知识和Python语言的专业参考书。《Python计算与编程实践:多媒体方法(原书第2版)》是由机械工业出版社出版。
图书封面
图书标签Tags
无
评论、评分、阅读与下载