Learn To Code by Solving Problems
作者: Daniel Zingaro
语言: 英文
出版年份: 2021
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

《Learn to Code by Solving Problems: A Python Programming Primer》是由Daniel Zingaro撰写的一本面向初学者的Python编程入门书籍,旨在通过解决实际问题来教授读者编程技能。本书不仅涵盖了Python语言的基础知识,还通过一系列精心设计的编程问题,引导读者逐步掌握编程思维和算法设计能力。

作者简介

Daniel Zingaro是多伦多大学计算机科学副教授,专注于计算机科学教育研究,尤其关注学生如何学习(或未能学习)计算机科学知识。他还著有《Algorithmic Thinking》一书,帮助读者理解算法和数据结构。

书籍特色

本书以“通过解决问题来学习编程”为核心理念,通过编程竞赛网站(如DMOJ、Timus、USACO等)上的实际问题,引导读者逐步掌握Python编程语言。每个章节都围绕两到三个问题展开,从问题描述开始,逐步引入必要的Python语法和编程概念,最后通过编写完整的Python程序来解决问题。书中还提供了丰富的在线资源,包括代码示例、额外练习题等,帮助读者巩固所学知识。

内容结构

全书共分为10章,每章围绕特定的编程主题展开,逐步深入Python编程的核心概念和高级技巧:

第1章:Getting Started

介绍Python编程的基础知识,包括如何输入代码、处理字符串和数字、使用变量、读取输入和输出结果。通过“Word Count”和“Cone Volume”两个问题,读者将学习到Python的基本语法和操作。

第2章:Making Decisions

通过“Winning Team”和“Telemarketers”两个问题,介绍Python中的条件语句(if语句),帮助读者学习如何根据条件做出决策。

第3章:Repeating Code: Definite Loops

通过“Three Cups”“Occupied Spaces”和“Data Plan”三个问题,学习for循环的使用,掌握如何处理序列数据和重复任务。

第4章:Repeating Code: Indefinite Loops

通过“Slot Machines”“Song Playlist”和“Secret Sentence”三个问题,学习while循环的使用,解决那些无法预知迭代次数的问题。

第5章:Organizing Values Using Lists

通过“Village Neighborhood”“School Trip”和“Baker Bonus”三个问题,学习Python中的列表(list)数据结构,掌握如何组织和操作序列数据。

第6章:Designing Programs with Functions

通过“Card Game”和“Action Figures”两个问题,学习如何使用函数来设计程序,避免代码重复,提高程序的可读性和可维护性。

第7章:Reading and Writing Files

通过“Essay Formatting”和“Farm Seeding”两个问题,学习如何读取和写入文件,处理文件输入输出。

第8章:Organizing Values Using Sets and Dictionaries

通过“Email Addresses”“Common Words”和“Cities and States”三个问题,学习Python中的集合(set)和字典(dictionary)数据结构,掌握如何高效地存储和查找数据。

第9章:Designing Algorithms with Complete Search

通过“Lifeguards”“Ski Hills”和“Cow Baseball”三个问题,学习穷举搜索算法,解决需要尝试所有可能解的问题。

第10章:Big O and Program Efficiency

通过“Longest Scarf”和“Ribbon Painting”两个问题,学习程序效率的分析方法,掌握Big O表示法,了解如何优化代码。

适用人群

本书适合以下几类读者:

  • 想要学习Python编程语言的初学者。
  • 对编程感兴趣,但不知道如何入门的初学者。
  • 已经学习了其他编程语言,想要通过Python进一步提升编程能力的学习者。

通过学习本书,读者不仅能掌握Python语言的语法和操作,还能培养解决复杂问题的编程思维和算法设计能力,为今后的编程学习和实践打下坚实的基础。

期待您的支持
捐助本站