Master today's required computer science topics while preparing for further study with Lambert's FUNDAMENTALS OF PYTHON: FIRST PROGRAMS. This book's easygoing approach is ideal for readers with any type of background. The approach starts with simple algorithmic code and then scales into working with functions, objects, and classes as the problems become more complex and require new abstraction mechanisms. Rather than working only with numeric or text-based applications like other introductions, this edition presents graphics, image manipulation, GUIs, and simple networked client/server applications. The author uses Python's standard Turtle graphics module to introduce graphics and to provide open source frameworks for easy image processing and GUI application development. Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version.
Author(s): Kenneth A. Lambert
Edition: 2
Publisher: Cengage Learning
Year: 2018
Language: English
Pages: 50
Cover
Table of Contents
Preface
Chapter 1: Introduction
Two Fundamental Ideas of Computer Science: Algorithms and Information Processing
Exercises
The Structure of a Modern Computer System
Exercises
A Not-So-Brief History of Computing Systems
Getting Started with Python Programming
Exercises
Detecting and Correcting Syntax Errors
Exercises
Suggestions for Further Reading
Summary
Review Questions
Projects
Chapter 2: Software Development, Data Types, and Expressions
The Software Development Process
Exercises
Case Study: Income Tax Calculator
Strings, Assignment, and Comments
Exercises
Numeric Data Types and Character Sets
Exercises
Expressions
Exercises
Using Functions and Modules
Exercises
Summary
Review Questions
Projects
Chapter 3: Loops and Selection Statements
Definite Iteration: The for Loop
Exercises
Formatting Text for Output
Exercises
Case Study: An Investment Report
Selection: if and if-else Statements
Exercises
Conditional Iteration: The while Loop
Exercises
Case Study: Approximating Square Roots
Summary
Review Questions
Projects
Chapter 4: Strings and Text Files
Accessing Characters and Substrings in Strings
Exercises
Data Encryption
Exercises
Strings and Number Systems
Exercises
String Methods
Exercises
Text Files
Exercises
Case Study: Text Analysis
Summary
Review Questions
Projects
Chapter 5: Lists and Dictionaries
Lists
Exercises
Defining Simple Functions
Exercises
Case Study: Generating Sentences
Dictionaries
Exercises
Case Study: Nondirective Psychotherapy
Summary
Review Questions
Projects
Chapter 6: Design with Functions
A Quick Review of What Functions Are and How They Work
Exercises
Problem Solving with Top-Down Design
Exercises
Design with Recursive Functions
Exercises
Case Study: Gathering Information from a File System
Managing a Program's Namespace
Exercises
Higher-Order Functions
Exercises
Summary
Review Questions
Projects
Chapter 7: Simple Graphics and Image Processing
Simple Graphics
Exercises
Case Study: Recursive Patterns in Fractals
Image Processing
Exercises
Summary
Review Questions
Projects
Chapter 8: Graphical User Interfaces
The Behavior of Terminal-Based Programs and GUI-Based Programs
Exercises
Coding Simple GUI-Based Programs
Exercises
Windows and Window Components
Exercises
Command Buttons and Responding to Events
Exercises
Input and Output with Entry Fields
Exercises
Defining and Using Instance Variables
Exercises
Case Study: The Guessing Game Revisited
Other Useful GUI Resources
Summary
Review Questions
Projects
Chapter 9: Design with Classes
Getting Inside Objects and Classes
Exercises
Case Study: Playing the Game of Craps
Data-Modeling Examples
Exercises
Case Study: An ATM
Building a New Data Structure: The Two-Dimensional Grid
Case Study: Data Encryption with a Block Cipher
Structuring Classes with Inheritance and Polymorphism
Exercises
Summary
Review Questions
Projects
Chapter 10: Multithreading, Networks, and Client/Server Programming
Threads and Processes
Exercises
The Readers and Writers Problem
Exercises
Networks, Clients, and Servers
Exercises
Case Study: Setting Up Conversations between Doctors and Patients
Summary
Review Questions
Projects
Chapter 11: Searching, Sorting, and Complexity Analysis
Measuring the Efficiency of Algorithms
Exercises
Complexity Analysis
Exercises
Search Algorithms
Exercises
Basic Sort Algorithms
Exercises
Faster Sorting
Exercises
An Exponential Algorithm: Recursive Fibonacci
Converting Fibonacci to a Linear Algorithm
Case Study: An Algorithm Profiler
Summary
Review Questions
Projects
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++
Glossary
Index