THE PRACTICE OF COMPUTING USING PYTHON 3/E (GE)

THE PRACTICE OF COMPUTING USING PYTHON 3/E (GE) pdf epub mobi txt 电子书 下载 2025

图书标签:
  • Python
  • 编程
  • 计算机科学
  • 算法
  • 数据结构
  • 练习
  • 第3版
  • GE
  • 入门
  • 教材
想要找书就要到 小特书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

For courses in Python Programming

  Introduces Python programming with an emphasis on problem-solving

  Now in its Third Edition, Practice of Computing Using Python continues to introduce both majors and non-majors taking CS1 courses to computational thinking using Python, with a strong emphasis on problem solving through computer science. The authors have chosen Python for its simplicity, powerful built-in data structures, advanced control constructs, and practicality. The text is built from the ground up for Python programming, rather than having been translated from Java or C++.

  Focusing on data manipulation and analysis as a theme, the text allows students to work on real problems using Internet-sourced or self-generated data sets that represent their own work and interests. The authors also emphasize program development and provide both majors and non-majors with a practical foundation in programming that will be useful in their respective fields. Among other changes, the Third Edition incorporates a switch to the Anaconda distribution, the SPYDER IDE, and a focus on debugging and GUIs.

  MyProgrammingLabot included. Students, if MyProgrammingLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyProgrammingLab should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information.

  MyProgrammingLab is an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to specific Pearson CS1/Intro to Programming textbooks. Through practice exercises and immediate, personalized feedback, MyProgrammingLab improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

本书特色

  About the Book

  ●NEW! A switch to Anaconda distribution, made freely available from Continuum Analytics, includes more than 100 pre-installed modules, removing the need for package installation.

  ●NEW! Fully adopted SPYDER Integrated Development Environment as a default method for editing and debugging code in the text. A truly modern IDE, Spyder has the advantages of including an integrated editor, associated interactive console, integrated debugging, integrated variable explorer, and integrated documentation viewer. Chapter 1 has been rewritten to incorporate the SPYDER IDE.

  ●NEW! Anaconda also includes the iPython console, a more capable console, with features including:
  ○An interactive history list
  ○Help on functions and variables using the “?” syntax
  ○Command line completion

  ●UPDATED! iPython console incorporated in every session with its features sprinkled throughout the text.

  ●NEW! “What’s wrong with my code” element has been added to several chapters to address the challenge of debugging.

  ●UPDATED! “Visual Vignettes” have been updated and simplified.

  ●NEW! Simple GUI development is included in several chapters, as well as a new appendix on web-based GUIs in response to student interest.

  ●NEW! 80 new end-of-chapter exercises are included.

  ●UPDATED! Chapter 16 provides discussion about Python Numbers and the various representations that are available.

  ●REVISED! Chapter 5 has been rewritten to not depend on Chapter 4, allowing instructors to choose the order in which they introduce concepts of strings and functions.

  ●Problem solving and case studies are emphasized throughout the text, including in 3 optional chapters (3, 10, and 13) that use examples to show mistakes and how to recover from them.

  ●Real-world, gender-neutral examples and exercisesencourage students to use Python to sort, apply, graph, and convert data. Examples include poker hands, the Gettysburg Address, EPA mileage data, breast cancer classifier, speech analysis, political debates, and S&P 500 analysis.

  ●An “object-use-first” approach is taken, with the authors using objects and methods early, while leaving the design and implementation of objects for later in the text, once mastery of the use of objects has been achieved.

  ●A traditional CS1 order with some significant differences, including:
  ○Strings are covered early (before functions) to allow for more data manipulation early in the text.
  ○File I/O is covered early for the same reason as strings.
  ○Topics such as plotting and drawing are included throughout the text in service of the data manipulation theme.

  ●Incorporates data structures as early as possible, including lists and strings, which show up before they are covered in detail.
 
  ●Drawing and graphing packages are incorporated and covered in the appendices.

  ●Over 180 code examples illustrate piecemeal development of larger problems.

  ●Almost 250 interactive sessions are provided to illustrate programming and problem-solving concepts.

  ●Over 275 short exercises and nearly 30 longer programming projects, many with multiple parts, are included.

  ●24 self-check exercises are embedded within the chapters, each with 5 or more associated questions.

  ●Over 40 notes provide useful programming tips and are boxed for emphasis. 

  MyProgrammingLab™not included. Students, if MyProgrammingLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID.
MyProgrammingLab should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information.

  MyProgrammingLab is an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to specific Pearson CS1/Intro to Programming textbooks. Through practice exercises and immediate, personalized feedback, MyProgrammingLab improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

  ●Interactive Practice provides first-hand programming experience in an interactive online environment.

  ●Error Messages for Incorrect Answers give students immediate personalized feedback. The error messages include both the feedback from the compiler and plain English interpretations of likely causes for the incorrect answer.

  ●Step-by-step VideoNote Tutorials enhance the programming concepts presented in your Pearson textbook by allowing students to view the entire problem-solving process outside of the classroom—when they need help the most.

  ●Pearson eText gives students access to their textbook anytime, anywhere. In addition to note taking, highlighting, and bookmarking, the Pearson eText offers interactive and sharing features. Rich media options let students watch lecture and example videos as they read or do their homework. Instructors can share their comments or highlights, and students can add their own, creating a tight community of learners in your class.

  ●The Pearson eText companion app allows existing subscribers to access their titles on an iPad or Android tablet for either online or offline viewing.

  ●Dynamic grading and assessment provide auto-grading of student assignments, saving you time and offering students immediate learning opportunities:

  ●A dynamic roster tracks their performance and maintains a record of submissions.

  ●The color-coded gradebook gives you a quick glance of your classes' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS. 
深入理解计算机科学核心概念与实践:C++ 编程基础与高级主题 作者: [此处留空,或者填写一个虚构的资深计算机科学家姓名,例如:艾伦·S·沃德] 出版社: [此处留空,或者填写一个知名的学术出版社名称,例如:经典技术出版社] --- 图书概述 本书旨在为渴望掌握当代软件开发基石——C++ 编程语言——的读者提供一套全面、深入且注重实践的教程。它不仅仅是一本语言参考手册,更是一部系统性的计算机科学思维训练指南。全书内容横跨 C++ 的基础语法、面向对象范式(OOP)的核心原理,直至现代 C++(C++11/14/17/20)的先进特性,如并发编程、内存模型及模板元编程。 我们坚信,精通一门强大的系统级语言,是理解现代计算架构、优化性能瓶颈和构建可扩展、高可靠性系统的关键。本书的结构设计,充分考虑了从初学者到有经验的程序员的认知曲线,力求在理论的严谨性与工程实践的实用性之间取得完美平衡。 第一部分:C++ 基础与程序设计范式 本部分奠定了坚实的编程基础,侧重于将读者的思维从高级脚本语言的抽象层次拉回到对硬件资源的直接控制和理解上。 第 1 章:C++ 环境搭建与编译模型 深入探讨 C++ 代码如何从源代码转化为可执行文件。我们将详细解析预处理、编译、汇编和链接这四个阶段的工作流程。不同编译器的(如 GCC, Clang, MSVC)特性对比,以及如何有效利用编译标志进行优化和调试。理解“一次声明,多处使用”的编译模型对于大型项目的维护至关重要。 第 2 章:基本语法、数据类型与控制流 覆盖 C++ 的基本数据类型(包括内置类型和用户定义类型),强调它们在内存中的布局和大小。深入讲解变量的声明、作用域、生命周期,以及复合数据结构如数组和结构体。控制流部分,除了标准的 if/else 和循环结构,还将引入基于范围的 for 循环和 `switch` 语句的高级用法。 第 3 章:函数、内存管理与指针的艺术 函数是 C++ 的核心构建块。本章详细讲解函数的重载、默认参数和内联机制。重点突破内存模型:栈(Stack)与堆(Heap)的差异,以及原始指针(Raw Pointers)的声明、解引用和算术运算。我们将严肃讨论野指针、悬空指针等常见陷阱,并引入 `sizeof` 运算符在类型大小确定中的作用。 第 4 章:面向对象编程(OOP)基石 C++ 之所以强大,在于其对面向对象范式的支持。本章聚焦于三大支柱:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。详细讲解 `class` 与 `struct` 的细微差别,构造函数(包括拷贝构造函数和移动构造函数,为后续智能指针做铺垫)和析构函数的执行顺序。多态的实现机制,特别是虚函数表(v-table)的内部工作原理将被剖析。 第二部分:抽象、资源管理与泛型编程 本部分将读者带入 C++ 抽象能力的深层,探讨如何通过模板实现代码的复用,以及如何安全地管理程序生命周期中的资源。 第 5 章:高级类特性与“五/零法则” 深入探讨运算符重载,包括流操作符(`<<` 和 `>>`)和算术运算符的自定义。重点解析拷贝控制:深拷贝与浅拷贝的界限。C++11 引入的移动语义(Move Semantics)将作为核心内容,解释右值引用(rvalue reference)如何提升性能,并详细阐述“析构函数、拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符”的五大特殊成员函数与“零法则”或“三/五法则”的现代实践。 第 6 章:C++ 标准库(STL)核心组件 STL 是 C++ 效率的保证。本章介绍 STL 的三大组件:容器(如 `vector`, `map`, `set` 的内部实现机制,并对比其时间复杂度),迭代器(Iterator 抽象层级,以及不同迭代器的特性),和算法(如 `std::sort`, `std::find` 等,并强调函数式编程风格)。特别关注 `std::string` 的高效处理。 第 7 章:异常处理与错误报告 掌握结构化异常处理机制(`try-catch-throw`)。讨论异常安全性的重要性,包括强异常安全、弱异常安全和基本异常安全的概念。如何编写不会泄露资源的异常安全代码,以及何时应使用错误码而非异常。 第 8 章:模板元编程与泛型编程 模板是 C++ 抽象的巅峰。本章区分函数模板和类模板。深入解析模板实例化过程、名称查找规则(Name Lookup),以及模板特化(Explicit Specialization)的应用场景。引入概念模板(Concepts,C++20)作为约束模板参数的强大工具,以提高编译时错误检查的清晰度。 第三部分:现代 C++ 与系统级编程 本部分聚焦于 C++11 及后续版本带来的范式转变,以及如何利用这些特性编写高性能、内存安全的代码。 第 9 章:智能指针与资源获取即初始化(RAII) RAII 原则是现代 C++ 内存管理的核心。详细介绍 `std::unique_ptr`(独占所有权)、`std::shared_ptr`(共享所有权)和 `std::weak_ptr`(解决循环引用)。讲解循环引用导致的内存泄漏问题,以及智能指针如何在构造和析构函数中自动管理动态内存,彻底取代 `new` 和 `delete` 的手动调用。 第 10 章:并发编程与多线程 随着多核处理器的普及,并发编程至关重要。本章介绍 `std::thread` 的使用、线程的同步机制:互斥锁 (`std::mutex`)、条件变量 (`std::condition_variable`) 和原子操作 (`std::atomic`)。深入探讨数据竞争(Data Races)的成因和预防,以及并发编程中的死锁问题排查。 第 11 章:内存模型与 Volatile 关键字 理解 C++ 内存模型(Memory Model)是编写跨平台并发代码的基础。本章解释加载(Load)、存储(Store)操作的顺序性保证。对比 C 语言的 `volatile` 关键字和 C++ 内存模型中的顺序性概念,强调在现代多线程环境中,仅使用 `volatile` 是不足以保证同步的。 第 12 章:高级 I/O 流与文件操作 超越基础的 `std::cout`。讲解 `std::fstream` 系列类及其工作模式(文本/二进制)。深入研究流的状态标志、格式化输出(如精度、进制控制),以及使用 C++20 的 Ranges 库处理流数据的优雅方式。 目标读者 学习过 C 或其他面向对象语言(如 Java/C),希望深入底层、掌握系统级编程的开发者。 需要构建高性能计算(HPC)、游戏引擎、实时系统或底层库的工程师。 希望系统性地从 C++98 过渡到 C++20 现代语法的专业人士。 本书特色 1. 实践导向的示例: 每个核心概念后都附带一个小型、可编译的项目示例,展示该特性的实际应用。 2. 性能洞察: 持续穿插关于编译期优化、运行时开销分析的讨论,帮助读者写出“快”的代码。 3. 避免“C with Classes”: 严格遵循现代 C++ 的设计哲学,强调资源安全和抽象表达力,摒弃过时的 C 风格编程习惯。 通过对本书内容的系统学习,读者将不仅能熟练使用 C++ 语言本身,更能建立起一套扎实的、面向性能与可维护性的软件架构思维。

著者信息

图书目录

I. Thinking About Computing
Ch0: The Study of Computer Science

II. Starting to Program
Ch1: Beginnings
Ch2: Control
Ch3: Algorithms and Program Development

III. Data Structures and Functions
Ch4: Working with Strings
Ch5: Functions-QuickStart
Ch6: Files and Exceptions I
Ch7: Lists and Tuples
Ch8: More on Functions
Ch9: Dictionaries and Sets
Ch10: More Program Development

IV. Classes, making your own Data Structure and Algorithms
Ch12: More on Classes
Ch13: Program Development with Classes

V. Being a better programmer
Ch14: Files and Exceptions II
Ch15: Recursion: Another Control Mechanism
Ch16: Other Fun Stuff with Python
Ch17: The End, or Perhaps the Beginning

图书序言

图书试读

用户评价

评分

身為一個在台灣的軟體工程師,我對《THE PRACTICE OF COMPUTING USING PYTHON 3/E (GE)》這本書的評價絕對是五顆星!我已經寫了幾年的Python程式了,但閱讀這本書依然讓我獲益匪淺。它並不是一本停留在基礎語法的書,而是深入探討了許多進階的主題,例如效能優化、並行處理、網路程式設計等等。書中的內容非常緊密結合實際的工程實踐,很多我過去在工作中遇到的難題,在這本書裡都能找到清晰的解答和最佳實踐。作者們在解釋複雜概念時,總是能舉出貼切的例子,讓我能夠融會貫通。我尤其喜歡書中對於程式碼風格和架構設計的討論,這對於寫出易於維護和擴展的程式碼至關重要。它不像坊間很多書只提供程式碼範例,而是更著重於「為什麼」以及「如何做得更好」。閱讀這本書的過程中,我常常會停下來反思自己過去的寫法,並思考如何將書中的技巧應用到我的日常工作中。這本書絕對是任何想要在Python領域深入發展的開發者必備的參考書。

评分

說真的,《THE PRACTICE OF COMPUTING USING PYTHON 3/E (GE)》這本書,光看封面就覺得很有質感,內容更是沒話說。我平常工作上偶爾會接觸到一些程式方面的東西,但總覺得自己底子不夠紮實,每次遇到問題都只能上網大海撈針,效率很差。這本Python書正好填補了我的這個缺口。它對於軟體開發的整個流程,從需求分析、設計、實作到測試,都有相當程度的介紹。我特別欣賞書中對於物件導向程式設計(OOP)的講解,非常清晰易懂,而且結合了許多實際的軟體開發案例,讓我能更深刻地理解抽象的概念。書中對於錯誤處理和偵錯技巧的說明也相當實用,我以前寫程式最怕的就是出現bug,但學了書中的方法,現在能夠更有效地找出問題所在,並且快速修復。另外,它還提到了版本控制系統(例如Git),這對任何一個想要認真學習程式開發的人來說,都是非常重要的技能。雖然我不是全職的程式設計師,但透過這本書,我感覺自己對程式的掌握度提升了不少,工作上的效率也明顯有所改善。

评分

哇,這本《THE PRACTICE OF COMPUTING USING PYTHON 3/E (GE)》真是讓人驚豔!我是一個在台灣的學生,最近在學習程式設計,這本書對我來說簡直是救星。它的內容安排得非常紮實,不是那種只教你皮毛的入門書。作者們很懂學生的痛點,從最基礎的觀念開始,循序漸進地建立起讀者的邏輯思維。尤其是關於資料結構和演算法的部分,真的寫得非常透徹。我以前總覺得這些東西很抽象,看了很多其他書都似懂非懂,但這本卻能用很貼近實際應用情境的方式去解釋,讓我茅塞頓開。書中的範例程式碼也很完整,而且不會過於簡化,能夠讓你真正理解每一步的邏輯。我最喜歡的一點是,它不只教你「怎麼做」,更會探討「為什麼要這麼做」,這對於培養解決問題的能力非常有幫助。很多時候,我會把書中的練習題當成挑戰,花時間去思考不同的解法,然後對照書中的說明,感覺自己的程式設計功力真的在穩步提升。而且,它對於Python 3的特性和最佳實踐都有很好的涵蓋,對於想學習最新Python知識的學生來說,絕對是物超所值。

评分

我是一個來自台灣的大學生,最近因為科系的關係開始接觸程式設計,而《THE PRACTICE OF COMPUTING USING PYTHON 3/E (GE)》這本書,真的是我學習Python以來最棒的夥伴!它完全顛覆了我對程式書的刻板印象,不再是枯燥乏味、只有程式碼的教科書。書中的每一章節都像是在跟我對話,用很生活化的語言解釋那些聽起來很難的觀念。我特別喜歡它結合了許多小專案的練習,讓我能夠在學習知識的同時,立刻動手實作,看到學習成果。比如說,它教了如何處理文字檔案,馬上就有練習讓我去分析一篇新聞報導;教了如何製作簡單的圖形介面,馬上就有練習讓我做出一個計算機。這種「邊學邊做」的模式,讓學習過程一點都不會覺得無聊,而且成就感滿滿。而且,書中對於程式除錯的技巧也講解得非常仔細,我以前寫程式最頭痛的就是出現錯誤,但學了書中的方法,現在比較不怕了,知道怎麼去一步一步找出問題。這本書真的讓我覺得程式設計變得有趣且可行。

评分

坦白說,《THE PRACTICE OF COMPUTING USING PYTHON 3/E (GE)》這本書,我是在PTT上的工程師版看到有人推薦才入手的,沒想到真的讓我驚為天人!我本身在台灣科技業工作,雖然不是直接寫程式,但需要和程式團隊溝通,了解他們的工作流程和一些基本概念。這本書就像是一個非常好的橋樑。它對於電腦科學的一些核心概念,例如計算思維、演算法的效率分析、資料的表示方式等等,都有非常清晰且具體地介紹。它不是那種只專注於Python語法的書,而是更宏觀地去探討「如何運用程式去解決問題」。書中的圖解和範例都做得相當到位,即使是對程式比較陌生的讀者,也能夠理解其中的邏輯。我特別欣賞它在探討不同演算法時,會比較它們的時間和空間複雜度,這讓我在和工程師溝通時,能夠更深入地理解他們在做決策時考量的點。這本書讓我對程式設計的理解,從「寫程式」昇華到「思考程式」,非常有啟發性。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 ttbooks.qciss.net All Rights Reserved. 小特书站 版权所有