Higher Education


Fundamentals of Python : First Programs with MindTap, 2E

Author(s): Kenneth A. Lambert

ISBN: 9789353502898

Edition: 2nd

© Year : 2019


Binding: Paperback

Pages: 496

Trim Size : 241 x 181 mm

Refer Book

Order Inspection Copy

Present the required fundamentals of computer science while preparing students for further study with the unique, appealing approach in Lambert's FUNDAMENTALS OF PYTHON: FIRST PROGRAMS. Students start with simple algorithmic code before they scale into functions, objects, and classes as problems become more complex and require new abstraction mechanisms. Rather than confining students to numeric or text-based applications like other introductory texts, this book builds motivation by presenting graphics, image manipulation, GUIs, and simple networked client/server applications. The author uses Python's standard Turtle graphics module to introduce graphics and provide open source frameworks for easy image processing and GUI application development. Readable, thorough coverage and contemporary content engage your students as they work with applications similar to those they use every day.


  • BOOK PROVIDES EARLY EMPHASIS ON PROBLEM SOLVING AND ALGORITHM DEVELOPMENT. The author begins with simple algorithms to build success and student confidence before progressing to more complex challenges.
  • THOROUGH CONTENT COVERS MULTIPLE DESIGN STRATEGIES. Student learn and practice top-down design and recursive design with functions, object-based programming, and object-oriented design.
  • APPROACH ENGAGES STUDENTS WITH MODERN, FAMILIAR APPLICATIONS. Students remain motivated and excited as they learn to work with graphics, graphical user interfaces (GUIs), networks, and image processing with applications much like those they use every day.
  • NUMEROUS CASE STUDIES WALKS THROUGH THE DEVELOPMENT OF COMPLETE PROGRAMS. Student become familiar with real computer science challenges and accomplishments as they complete engaging case studies.
  • APPROACH COVERS BASIC SOFTWARE DEVELOPMENT TOOLS. Students learn the skills for effective design, testing, and documentation.
  • EXERCISES REINFORCE UNDERSTANDING AND APPLICATIONS. This edition provides a variety of meaningful exercises at the end of each section to ensure students understand and can apply each concept.
  • SETS OF PROGRAMMING PROJECTS OFFER IMPORTANT PRACTICE. Students gain practice in problem solving as they complete challenging programming projects throughout the course.
  • COMPANION WEBSITE PROVIDES COMPLETE SOURCE CODE FOR ALL PROGRAM EXAMPLES. Find the reinforcement and solutions you need with complete source code and other resources at the book's companion Web site.
  • MINDTAP® DIGITAL LEARNING SOLUTION POWER STUDENTS FROM MEMORIZATION TO MASTERY WITH HANDS-ON CODING LABS. With MindTap® students have the opportunity to practice hands-on coding with real-time feedback.
  • AUTHOR'S READER-FRIENDLY PRESENTATION USES A JUST-IN-TIME APPROACH. The author does not introduce any new concept before students need it to solve a problem.
  • UNIQUE EMPHASIS HIGHLIGHTS GRAPHICS AND GUI CONTENT WITH ACTUAL DEPTH OF COVERAGE. While most CS1 textbooks focus on terminal I/O-based applications with an optional chapter on graphics or sections on GUIs that offer little intellectual depth, this book changes that approach. After introducing students to all of the essentials of control structures, data types, and functions with terminal applications in Chapters 2-6, the book introduces object-based programming with Turtle graphics and image processing in Chapter 7and GUI programming in Chapter 9.
  • NEW APPROACH OFFERS MORE EMPHASIS ON GUIS. This second edition retains the author's signature early focus on terminal-based applications, but takes the later emphasis on GUIs a step further to better prepare students for success.
  • CHAPTER ON GRAPHICS AND IMAGE PROCESSING HIGHLIGHTS TURTLE GEOMETRY. Chapter 7 emphasizes several new examples of Turtle geometry while reviewing graphics and image processing.
  • CHAPTER ON GRAPHICAL USER INTERFACES (GUI) NOW APPEARS EARLIER. This presentation, now in Chapter 8, closely follows the chapter on graphics and image processing. Content continues to emphasize applications that are similar to the ones students

    use every day. GUI programming provides opportunities for students to choose classes and manipulate objects in designing and building applications. In addition, students examine the important concepts of event-driven programming and the use of inheritance to customize existing classes.

  • UNIQUE CHAPTER 8 EASES TRANSITION TO ADVANCED IDEAS WITH AN OPEN SOURCE TOOLKIT, BREEZYPYTHONGUI. This open source toolkit insulates students from the complexity of Python’s tkinter GUI toolkit. The toolkit allows students to get a GUI application up and running quickly, while still coding it. You have the option to skip this chapter or use it to place exciting GUI programming at the center of your introductory course. The chapter is also unique in foregrounding inheritance in students’ initial experience with defining new classes.
  • CHAPTER ON DESIGN WITH CLASSES NOW APPEARS LATER IN THIS EDITION. Chapter 9 focuses on developing new classes of objects from scratch, with the intent of modeling objects in various problem domains. Example applications use terminal-based interfaces for rapid testing and development, while optional sections include the use of new data model classes in the GUI applications discussed in Chapter 8.

1. Introduction

2. Software Development, Data Types, and Expressions

3. Loops and Selection Statements

4. Strings and Text Files

5. Lists and Dictionaries

6. Design with Functions

7. Simple Graphics and Image Processing

8. Graphical User Interfaces

9. Design with Classes

10. Multithreading, Networks, and Client/Server Programming

11. Searching, Sorting, and Complexity Analysis

APPENDIX A. Python Resources

APPENDIX B. Installing the images and breezypythongui Libraries

APPENDIX C. The API for Image Processing

APPENDIX D. Transition from Python to Java and C++



Kenneth A. Lambert, Washington and Lee University

Kenneth A. Lambert is a Professor of Computer Science at Washington and Lee University. He has taught courses in almost every subject area of computer science and has published several textbooks in introductory programming and data structures in C++, Java, and Python. He is the co-creator of the BreezySwing framework and is the creator of the breezypythongui framework.