本书假设你是一位先前没有任何程序设计经验的程序员新手。那么,什么是程序设计呢?程序设计是指使用程序设计语言编写程序以解决问题。不论你使用的是哪种程序设计语言,解决问题和程序设计的根本都是一致的。你可以使用任何一种像Python、Java、C++或C#这样的高级程序设计语言来学习程序设计。一旦知道如何使用其中一门语言编写程序,那么如何使用其他语言编写程序就很容易,因为编写程序的基本技能都是一样的。

那么,使用Python学习程序设计的优势在哪里呢?Python易于学习,且编程有趣。Python代码简单、短小,易读、直观,而且功能强大,这样对初学者而言,用它来介绍计算和解决问题是非常有效的。

鼓励初学者通过创建图形学习程序设计。使用Python学习程序设计的一个很大原因在于可以从一开始就使用图形来学习程序设计。我们在第1~6章使用Python内嵌的Turtle图形模块,它是一个介绍程序设计基本概念和技术的很好的教学工具。我们在第9章介绍Python内嵌的Tkinter,它是开发复杂图形用户界面以及学习面向对象程序设计的一个重要工具。

Turtle和Tkinter都相当简单且易于使用。更重要的是,它们都是教授程序设计和面向对象程序设计基础的非常有价值的教学工具。

为了方便教师更灵活地使用本书,我们在第1~6章的末尾会讲到Turtle,所以,可以将它们作为选讲内容跳过去。

本书以问题驱动的方式讲授如何解决问题,这种方式的重点放在问题的解决而不是语法上。我们使用一些涉及范围很广的有趣例子来激发学生学习程序设计的兴趣。鉴于本书的主线是解决问题,这里会介绍解决问题中用到的Python语法和库。为了支持问题驱动方式的程序设计教学,本书提供了大量难易程度各异的问题来激发学生的兴趣。为适用于各个专业的学生,这些问题涉及很多应用领域,例如数学、科学、商业、金融管理、游戏、动画和多媒体等。

Python中的所有数据都是对象。我们从第3章开始介绍和使用对象,但是如何定义类将从第7章开始。本书首先将重点放在基础上:在编写自定制类之前介绍像选择、循环和函数这样的基本程序设计概念和技术。

教授程序设计的最佳方式是通过实例,而学习程序设计的唯一方法就是通过实践。本书用实例解释基本概念,同时提供了大量不同难度的习题供学生练习。我们的目标是使用大量有趣的例子和习题来教授学生如何解决问题以及如何进行程序设计。

教学特色

本书使用了下面的模块:

学习目标 列出学生应该学会的内容,这样在学完这章之后,学生能够判断自己是否达到这个目标。

引言 提出一个代表性问题,以便学生对该章内容有一个概括了解。

关键点 强调每节中的重要概念。

检查点 提供复习题帮助学生复习相关内容并评估掌握的程度。

问题 通过精心挑选,以一种容易掌握的形式教授问题求解和程序设计的概念。本书使用许多短小的、简单的以及令人兴奋的例子来演示重要的想法。

关键术语 提供对本章重要术语的快速参考。

本章总结 回顾学生应该理解和记住的重要主题,帮助他们加强对该章所学关键概念的理解。

测试题 测试题是在线的,用于学生自我测试对程序设计概念和技术的掌握程度。

编程题 为学生提供应用新技巧的机会。题目的难度等级分为容易(无星号)、适度(*)、困难(**)或具有挑战性(***)。学习程序设计的秘诀就在于练习,练习,再练习。为了达到这个目标,本书提供了大量的练习题。

注意、提示和警告 穿插在整本书中,提供了有价值的建议以及程序开发要点。

注意:提供关于主题的附加信息并强化重要概念。

提示:教授好的程序设计风格和实践。

警告:帮助学生避免程序设计错误。

灵活的章节顺序

图形是学习程序设计的一个非常有价值的教学工具。本书在第1~6章使用Turtle图形,而在书中其他部分使用Tkinter。但是,教师可以根据需要跳过关于图形的章节或者以后再讨论。下图给出章节之间的相互关系。

注意:第16~23章是配套网站提供的附加章节。

第10章可以在第6章之后讲解。第14章可以在第10章之后讲解。

本书的组织结构

全书共分三部分,循序渐进地介绍用Python语言进行程序设计的基本知识。前面的章节提供理解程序设计概念的基础知识,并通过简单实例和习题对学生进行指导,随后的章节逐步详细介绍Python程序设计,一直到开发复杂的应用程序。

第一部分:程序设计基础(第1~6章)

第一部分是起点,为你学习程序设计做准备。你可以初步了解Python(第1章),并学习基本程序设计技术,包括数据类型、变量、常量、赋值、表达式、运算符、对象以及简单的函数和字符串操作(第2~3章),选择语句(第4章),循环(第5章),函数(第6章)。

第二部分:面向对象程序设计(第7~13章)

这一部分介绍面向对象程序设计。Python是一种面向对象程序设计语言,它具有抽象、封装、继承和多态等特性,适合编写灵活、模块化和可重用的软件。你将学习面向对象程序设计(第7~8章),使用Tkinter进行GUI程序设计(第9章),列表(第10章),多维列表(第11章),继承、多态和类设计(第12章),以及文件和异常处理(第13章)。

第三部分:数据结构和算法(第14~15章和附加章节第16~23章)

本部分介绍典型数据结构课程的主要主题。第14章介绍Python内嵌的数据结构:元组、集合和字典。第15章介绍用递归来编写函数以解决内在递归问题。第16~23章是配套网站的附加章节。第16章介绍算法效率以及开发高效算法的常用技术。第17章讨论经典的排序算法。第18章介绍如何实现链表、队列以及优先队列。第19章介绍二分查找树。第20章介绍AVL树。第21章介绍哈希技术。第22和23章涵盖图算法及其应用。

学生资源网站

复习题的答案。

偶数编号编程题的答案。

本书例子的源代码。

互动的自测题(每章按节组织)。

关于Python IDE、高级主题等补充材料。

资源链接。

勘误表。

补充材料

本书涵盖了必要的主题,而补充材料则介绍了读者可能感兴趣的主题。本书配套网站中给出下列补充材料:

教师资源网站

带交互式按钮的微软PowerPoint幻灯片,可以查看全彩、语法项高亮显示的源代码,并且可以在幻灯片状态运行程序。

所有复习题和练习题的答案。

基于Web的测试题产生器。(教师可以从一个超过800道题的数据库中选择章节创建测试题。)

模拟考试卷。通常,每份模拟考试卷都有四部分:

多选题或简答题

纠正编程错误

跟踪程序

编写程序

项目。通常,每个项目都会给出描述,要求学生分析、设计和实现该项目。

致谢

感谢阿姆斯特朗亚特兰大州立大学给我机会讲授Python课程,并支持我将授课内容编写成为教材。教学是我写作这本书的源动力。还要感谢使用本书的教师和学生,他们提出了许多宝贵的意见、建议、错误报告和鼓励。

感谢优秀的评阅人,他们是:

Claude Anderson——罗斯霍曼理工学院

Lee Cornell——明尼苏达州立大学曼凯托分校

John Magee——波士顿大学

Shyamal Mitra——得克萨斯大学奥斯汀分校

Yenumula Reddy——关柏林州立大学

David Sullivan——波士顿大学

Hong Wang——托莱多大学

非常荣幸能和Pearson一起工作。感谢组织、生产和推动这个项目的Tracy Dunkelberger、Marcia Horton、Michael Hirsch、Matt Goldstein、Carole Snyder、Tim Huddleston、Yez Alayan、Jeff Holcomb、Gillian Hall、Rebecca Greenberg以及他们的同事。

一如既往,特别感谢来自我的妻子Samantha的爱、支持和鼓励。

python设计报告的前言怎么写_前  言_Python语言程序设计_红黑联盟读书频道相关推荐

  1. python设计报告的前言怎么写_2017实习报告前言怎么写

    2017 实习报告前言怎么写 2017 实习报告前言怎么写[一] 古人有云:"纸上得来终觉浅,绝知此事要躬行" . 自从走进了大学,距 离工作就不远了,学校为了拓展我们学生自身的知 ...

  2. python面向对象编程结题报告_中国大学 MOOC_Python语言程序设计_章节测验答案

    中国章节[单选题]一产妇临产10小时,肛查宫口已开全,先露为头,棘下4cm,此时产力组成是下列哪种情况 参考答案如下 大学答案[判断题]草船借箭说明周瑜鲁肃和曹操的才智远远不如诸葛亮.( )程序测验[ ...

  3. python语言应用答案_智慧树_Python语言应用_答案全部

    人际关系建立与发展的过程包括( ). <等你 , 在雨中>的作者是蔡其矫. Although Anne is happy with her success, she wonders ___ ...

  4. 慕课python第五周测试答案_中国大学mooc慕课_Python 语言程序设计_测试题及答案...

    以下关于病毒的描述中,正确的说法是(). A.只要不上网,就不会感染病毒B.只要安装最好的 从发展上看,计算机将向着哪两个方向发展?(). A.系统化和应用化B.网络化和智能化C.巨型 一张软磁盘中已 ...

  5. python语言程序设计实践教程实验七答案_中国大学 MOOC_Python语言程序设计_章节考试选修课答案...

    987乘98等于几 影视广告的画面创作一定要注重创造().A.产品的运动B.画面人物的形象C.产品使用的氛围D.新颖 下列关于音乐的叙述不正确的是().A.音乐由旋律和曲调两个基本要素构成B.音乐传达 ...

  6. 中国大学moocpython_中国大学MOOC(慕课)_Python 语言程序设计_测试题及答案

    中国工程智慧消防电气答案建筑节测树章试题. 大学答案满分中国大学答案件工_软期末程_. 慕课知到智慧单元答案基础医学实验树.梦>知到智慧红楼伟大的<案及答_测树_试题.知到学生_考_大案健 ...

  7. 2020成考C语言答案,2020年_优学院_C语言程序设计_章节答案

    的卡价叙有关食物述,年优的是错误. 学院序设 语言程皮质位于大脑视区.描述的是错误,.描述哪项确的是正,关于构病历电子的医疗机实施.罪行罪行学意刑法学意何区别为与为有的犯的犯义上义上犯罪. 计章节答哪 ...

  8. c语言开发题库管理系统,c语言程序设计_题库管理系统.doc

    c语言程序设计_题库管理系统 程序设计基础课程设计报告 班 级: 计算机科学与技术1103班 姓 名: 杨广宇 指导教师: 胡宏涛 完成日期: 2012年9月6日 (题目) 1. 设计题目与要求 (简 ...

  9. c语言判断s1是否大于s2,C语言程序设计_复习资料一.doc

    C语言程序设计_复习资料一 -- <程序设计基础> 院(系) 班级 学号 姓名 试卷卷面成绩占课程考核成绩 %平时 成绩占 %课程考核成绩题号一二三四五六七八九十小计得分 得 分一.单项选 ...

  10. c语言中,x-y,'105',ab,7f8那个是正确的,C语言程序设计_第三章 数据.ppt

    C语言程序设计_第三章 数据 * 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 学习运算符应注意 * 基本算术运算符: + - * / % 结合方向: ...

最新文章

  1. java 中lock,java中lock获取锁的四种方法
  2. 《算法竞赛中的初等数论》(五)正文 0x50筛法(ACM / OI / MO)(十五万字符数论书)
  3. 云炬随笔20211126(2)
  4. PHP 页面静态化/纯静态化/伪静态化
  5. 「Github」Linux/Ubuntu下终端Github教程与手册
  6. python全排列_全排列算法python实现
  7. Dataphin产品核心功能大图(六)发布中心:生产和开发隔离模式下的保护伞
  8. koa2 mysql增删改查_koa2对mongodb的增删改查
  9. Mysql如何新建一个服务和移除所新建的服务
  10. 计算机循环语句for,计算机for循环语句相关知识.doc
  11. 软件测试与发布,软件测试与发布技术
  12. 读书笔记 摘自:《斯坦福极简经济学》
  13. ims应用服务器,IMS应用
  14. 【JAVA自学笔记 DAY01】Java基础入门
  15. debian系统简单介绍
  16. 西门子PLC1200模拟量功能案例
  17. 【有利可图网】PS实战教程36:巧用PS制作人物破碎消散效果
  18. 正则表达式字符串匹配和字符串提取
  19. python3d旋转相册_3D立体相册,一个可旋转的立体相册
  20. 中文计算机核心期刊目录

热门文章

  1. TreadLocal理解
  2. 互联网大脑加速进化,2018年类脑智能巨系统在中国突然爆发
  3. Lucene.Net+盘古分词器(详细介绍)
  4. htpasswd小工具生成密码
  5. 关于javaweb中的流媒体
  6. 思维导向树6级节点_8种常见的思维导图类型
  7. Java虚拟机之堆空间
  8. java视频文件格式转换,视频文件格式转换器-视频文件格式转换器 2018 官方版
  9. Qt打包程序报错“应用程序无法正常启动(0xc000007b)”
  10. upc 6605 所罗门王的宝藏