Skip to content

Practical Programming An Introduction to Computer Science Using Python 3

Best in textbook rentals since 2012!

ISBN-10: 1937785459

ISBN-13: 9781937785451

Edition: 2nd 2013

Authors: Paul Gries, Jennifer Campbell, Jason Montojo

List price: $38.00
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!


This book is for anyone who wants to understand computer programming. You'll learn to program in a language that' s used in millions of smartphones, tablets, and PCs. You'll code along with the book, writing programs to solve real-world problems as you learn the fundamentals of programming using Python 3. You'll learn about design, algorithms, testing, and debugging, and come away with all the tools you need to produce quality code. In this second edition, we've updated almost all the material, incorporating the lessons we've learned over the past five years of teaching Python to people new to programming.You don't need any programming experience to get started. First, you'll get a detailed…    
Customers also bought

Book details

List price: $38.00
Edition: 2nd
Copyright year: 2013
Publisher: Pragmatic Programmers, LLC, The
Publication date: 10/4/2013
Binding: Paperback
Pages: 350
Size: 7.50" wide x 9.00" long x 1.00" tall
Weight: 1.496
Language: English

Paul Gries, is a senior lecturer in Computer Science at the University of Toronto. He has won numerous teaching awards and authored other introductory computer science texts.

Jennifer Campbell is a senior lecturer in Computer Science at theUniversity of Toronto who created the course this book is based on.

Jason Montojo, is a former student of Jennifer Campbell and Paul Gries, who has since worked on the Eclipse programming platform at IBM; he is also a professional photographer and digital artist, and created all of the diagrams for this book.

What's Programming?
Programs and Programming
What's a Programming Language?
What's a Bug?
The Difference Between Brackets, Braces, and Parentheses
Installing Python
Hello, Python
How Does a Computer Run a Python Program?
Expressions and Values: Arithmetic in Python
What Is a Type?
Variables and Computer Memory: Remembering Values
How Python Tells You Something Went Wrong
A Single Statement That Spans Multiple Lines
Describing Code
Making Code Readable
The Object of This Chapter
Designing and Using Functions
Functions That Python Provides
Memory Addresses: How Python Keeps Track of Values
Defining Our Own Functions
Using Local Variables for Temporary Storage
Tracing Function Calls in the Memory Model
Designing New Functions: A Recipe
Writing and Running a Program
Omitting a Return Statement: None
Dealing with Situations That Your Code Doesn't Handle
What Did You Call That?
Working with Text
Creating Strings of Characters
Using Special Characters in Strings
Creating a Multiline String
Printing Information
Getting Information from the Keyboard
Quotes About Strings in This Text
Making Choices
A Boolean Type
Choosing Which Statements to Execute
Nested If Statements
Remembering the Results of a Boolean Expression Evaluation
You Learned About Booleans: True or False?
A Modular Approach to Program Organization
Importing Modules
Defining Your Own Modules
Testing Your Code Semiautomatically
Tips for Grouping Your Functions
Organizing Our Thoughts
Using Methods
Modules, Classes, and Methods
Calling Methods the Object-Oriented Way
Exploring String Methods
What Are Those Underscores?
A Methodical Review
Storing Collections of Data Using Lists
Storing and Accessing Data in Lists
Modifying Lists
Operations on Lists
Slicing Lists
Aliasing: What's in a Name?
List Methods
Working with a List of Lists
A Summary List
Repeating Code Using Loops
Processing Items in a List
Processing Characters in Strings
Looping Over a Range of Numbers
Processing Lists Using Indices
Nesting Loops in Loops
Looping Until a Condition Is Reached
Repetition Based on User Input
Controlling Loops Using Break and Continue
Repeating What You've Learned
Reading and Writing Files
What Kinds of Files Are There?
Opening a File
Techniques for Reading Files
Files over the Internet
Writing Files
Writing Algorithms That Use the File-Reading Techniques
Multiline Records
Looking Ahead
Notes to File Away
Storing Data Using Other Collection Types
Storing Data Using Sets
Storing Data Using Tuples
Storing Data Using Dictionaries
Inverting a Dictionary
Using the In Operator on Tuples, Sets, and Dictionaries
Comparing Collections
A Collection of New Information
Designing Algorithms
Searching for the Smallest Values
Timing the Functions
At a Minimum, You Saw This
Searching and Sorting
Searching a List
Binary Search
More Efficient Sorting Algorithms
Mergesort: A Faster Sorting Algorithm
Sorting Out What You Learned
Object-Oriented Programming
Understanding a Problem Domain
Function "Isinstance," Class Object, and Class Book
Writing a Method in Class Book
Plugging into Python Syntax: More Special Methods
A Little Bit of OO Theory
A Case Study: Molecules, Atoms, and PDB Files
Classifying What You've Learned
Testing and Debugging
Why Do You Need to Test?
Case Study: Testing above_freezing
Case Study: Testing running_sum
Choosing Test Cases
Hunting Bugs
Bugs We've Put in Your Ear
Creating Graphical User Interfaces
Using Module Tkinter
Building a Basic GUI
Models, Views, and Controllers, Oh My!
Customizing the Visual Style
Introducing a Few More Widgets
Object-Oriented GUIs
Keeping the Concepts from Being a GUI Mess
Creating and Populating
Retrieving Data
Updating and Deleting
Using NULL for Missing Data
Using Joins to Combine Tables
Keys and Constraints
Advanced Features
Some Data Based On What You Learned