Introduction to Computer Science Using Python: A Computational Problem-Solving Focus

Introduction to Computer Science Using Python: A Computational Problem-Solving Focus

By: Charles Dierbach (author)Paperback

1 - 2 weeks availability

Description

Introduction to Computer Science Using Python: A Computational Problem-Solving Focus,recommended by Guido van Rossum, the creator of Python ( This is not your average Python book I think this book is a great text for anyone teaching CS1 ). With a focus on computational problem solving from Chapter 1, this text provides numerous hands-on exercises and examples, each chapter ending with a significant-size program demonstrating the step-by-step process of program development, testing, and debugging. A final chapter includes the history of computing, starting with Charles Babbage, containing over 65 historical images. An end-of-book Python 3 Programmers Reference is also included for quick lookup of Python details. Extensive instructor materials are provided for those adopting for classroom use, including an instructors manual, over 1,000 well-developed slides covering all fundamental topics of each chapter, source code, and test bank.

Create a review

Contents

Preface xxi Acknowledgments xxv About the Author xxvii 1 Introduction 1 MOTIVATION 2 FUNDAMENTALS 2 1.1 What Is Computer Science? 2 1.2 Computer Algorithms 6 1.3 Computer Hardware 9 1.4 Computer Software 14 COMPUTATIONAL PROBLEM SOLVING 17 1.5 The Process of Computational Problem Solving 17 1.6 The Python Programming Language 22 1.7 A First Program Calculating the Drake Equation 29 Chapter Summary 33 Chapter Exercises 34 Python Programming Exercises 36 Program Modification Problems 37 Program Development Problems 37 2 Data and Expressions 38 MOTIVATION 39 FUNDAMENTAL CONCEPTS 40 2.1 Literals 40 2.2 Variables and Identifiers 50 2.3 Operators 57 2.4 Expressions and Data Types 61 COMPUTATIONAL PROBLEM SOLVING 67 2.5 Age in Seconds Program 67 Chapter Summary 74 Chapter Exercises 74 Python Programming Exercises 76 Program Modification Problems 76 Program Development Problems 77 3 Control Structures 79 MOTIVATION 80 FUNDAMENTAL CONCEPTS 80 3.1 What Is a Control Structure? 80 3.2 Boolean Expressions (Conditions) 81 3.3 Selection Control 89 COMPUTATIONAL PROBLEM SOLVING 104 3.5 Calendar Month Program 104 Chapter Summary 117 Chapter Exercises 118 Python Programming Exercises 120 Program Modification Problems 121 Program Development Problems 123 4 Lists 125 MOTIVATION 126 FUNDAMENTAL CONCEPTS 127 4.1 List Structures 127 4.2 Lists (Sequences) in Python 130 4.3 Iterating Over Lists (Sequences) in Python 137 4.4 More on Python Lists 144 COMPUTATIONAL PROBLEM SOLVING 147 4.5 Calendar Year Program 147 Chapter Summary 161 Chapter Exercises 162 Python Programming Exercises 164 Program Modification Problems 164 Program Development Problems 165 5 Functions 168 MOTIVATION 169 FUNDAMENTAL CONCEPTS 169 5.1 Program Routines 169 5.2 More on Functions 176 COMPUTATIONAL PROBLEM SOLVING 189 5.3 Credit Card Calculation Program 189 Chapter Summary 202 Chapter Exercises 202 Python Programming Exercises 203 Program Modification Problems 204 Program Development Problems 204 6 Objects and Their Use 206 MOTIVATION 207 FUNDAMENTAL CONCEPTS 207 6.1 Software Objects 207 6.2 Turtle Graphics 216 COMPUTATIONAL PROBLEM SOLVING 229 6.3 Horse Race Simulation Program 229 Chapter Summary 243 Chapter Exercises 243 Python Programming Exercises 244 Program Modification Problems 245 Program Development Problems 246 7 Modular Design 247 MOTIVATION 248 FUNDAMENTAL CONCEPTS 248 7.1 Modules 248 7.2 Top-Down Design 251 7.3 Python Modules 255 7.3.1 What Is a Python Module? 255 COMPUTATIONAL PROBLEM SOLVING 269 7.4 Calendar Year Program (function version) 269 Chapter Summary 284 Chapter Exercises 284 Python Programming Exercises 286 Program Modification Problems 287 Program Development Problems 287 8 Text Files 289 MOTIVATION 290 FUNDAMENTAL CONCEPTS 290 8.1 What Is a Text File? 290 8.2 Using Text Files 291 8.3 String Processing 296 8.4 Exception Handling 303 COMPUTATIONAL PROBLEM SOLVING 314 8.5 Cigarette Use/Lung Cancer Correlation Program 314 Chapter Summary 331 Chapter Exercises 332 Python Programming Exercises 333 Program Modification Problems 333 Program Development Problems 334 9 Dictionaries and Sets 337 MOTIVATION 338 FUNDAMENTAL CONCEPTS 338 9.1 Dictionary Type in Python 338 9.2 Set Data Type 346 COMPUTATIONAL PROBLEM SOLVING 356 9.3 A Food Co-op s Worker Scheduling Simulation 356 Chapter Summary 379 Chapter Exercises 379 Python Programming Exercises 380 Program Modification Problems 380 Program Development Problems 381 10 Object-Oriented Programming 383 MOTIVATION 384 FUNDAMENTAL CONCEPTS 384 10.1 What Is Object-Oriented Programming? 384 10.2 Encapsulation 386 10.3 Inheritance 400 10.4 Polymorphism 411 10.5 Object-Oriented Design Using UML 417 COMPUTATIONAL PROBLEM SOLVING 423 10.6 Vehicle Rental Agency Program 423 Chapter Summary 453 Chapter Exercises 454 Python Programming Exercises 455 Program Modification Problems 456 Program Development Problems 457 11 Recursion 460 MOTIVATION 461 FUNDAMENTAL CONCEPTS 461 11.1 Recursive Functions 461 11.2 Recursive Problem Solving 472 11.3 Iteration vs. Recursion 476 COMPUTATIONAL PROBLEM SOLVING 477 11.4 Towers of Hanoi 477 Chapter Summary 487 Chapter Exercises 487 Python Programming Exercises 488 Program Modification Problems 489 Program Development Problems 490 12 Computing and Its Developments 491 CONTRIBUTIONS TO THE MODERN COMPUTER 492 12.1 The Concept of a Programmable Computer 492 12.2 Developments Leading to Electronic Computing 493 FIRST-GENERATION COMPUTERS (1940s mid-1950s) 496 12.3 The Early Groundbreakers 496 12.4 The First Commercially Available Computers 503 SECOND-GENERATION COMPUTERS (mid-1950s to mid-1960s) 505 12.5 Transistorized Computers 505 12.6 The Development of High-Level Programming Languages 506 THIRD-GENERATION COMPUTERS (mid-1960s to early 1970s) 508 12.7 The Development of the Integrated Circuit (1958) 508 12.8 Mainframes, Minicomputers, and Supercomputers 512 FOURTH-GENERATION COMPUTERS (early 1970s to the Present) 515 12.9 The Rise of the Microprocessor 515 12.10 The Dawn of Personal Computing 516 THE DEVELOPMENT OF COMPUTER NETWORKS 520 12.11 The Development of Wide Area Networks 520 12.12 The Development of Local Area Networks (LANs) 521 12.13 The Development of the Internet and World Wide Web 522 Appendix 525 Index 569

Product Details

  • publication date: 25/01/2013
  • ISBN13: 9780470555156
  • Format: Paperback
  • Number Of Pages: 612
  • ID: 9780470555156
  • weight: 1108
  • ISBN10: 0470555157

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close