Today, anyone in a scientific or technical discipline needs programming skills. Python is an ideal first programming language, and Introduction to Programming in Python is the best guide to learning it.
Princeton University’s Robert Sedgewick, Kevin Wayne, and Robert Dondero have crafted an accessible, interdisciplinary introduction to programming in Python that emphasizes important and engaging applications, not toy problems. The authors supply the tools needed for students to learn that programming is a natural, satisfying, and creative experience.
This example-driven guide focuses on Python’s most useful features and brings programming to life for every student in the sciences, engineering, and computer science.
- Basic elements of programming: variables, assignment statements, built-in data types, conditionals, loops, arrays, and I/O, including graphics and sound
- Functions, modules, and libraries: organizing programs into components that can be independently debugged, maintained, and reused
- Object-oriented programming and data abstraction: objects, modularity, encapsulation, and more
- Algorithms and data structures: sort/search algorithms, stacks, queues, and symbol tables
- Examples from applied math, physics, chemistry, biology, and computer science—all compatible with Python 2 and 3
Drawing on their extensive classroom experience, the authors provide Q&As, exercises, and opportunities for creative practice throughout. An extensive amount of supplementary information is available at introcs.cs.princeton.edu/python. With source code, I/O libraries, solutions to selected exercises, and much more, this companion website empowers people to use their own computers to teach and learn the material.
Table of Contents
Chapter 1: Elements of Programming 1
1.1 Your First Program 2
1.2 Built-in Types of Data 14
1.3 Conditionals and Loops 56
1.4 Arrays 100
1.5 Input and Output 140
1.6 Case Study: Random Web Surfer 188
Chapter 2: Functions and Modules 209
2.1 Defining Functions 210
2.2 Modules and Clients 248
2.3 Recursion 290
2.4 Case Study: Percolation 322
Chapter 3: Object-Oriented Programming 351
3.1 Using Data Types 352
3.2 Creating Data Types 402
3.3 Designing Data Types 450
3.4 Case Study: N-Body Simulation 496
Chapter 4: Algorithms and Data Structures 511
4.1 Performance 512
4.2 Sorting and Searching 556
4.3 Stacks and Queues 590
4.4 Symbol Tables 634
4.5 Case Study: Small-World Phenomenon 684
Each section concludes with Q&A and Exercises.