More New and Used
from Private Sellers
Usually Ships in 2-3 Business Days
Starting at $7.18
Questions About This Book?
Why should I rent this book?
Renting is easy, fast, and cheap! Renting from eCampus.com can save you hundreds of dollars compared to the cost of new or used books each semester. At the end of the semester, simply ship the book back to us with a free UPS shipping label! No need to worry about selling it back.
How do rental returns work?
Returning books is as easy as possible. As your rental due date approaches, we will email you several courtesy reminders. When you are ready to return, you can print a free UPS shipping label from our website at any time. Then, just return the book to your UPS driver or any staffed UPS location. You can even use the same box we shipped it in!
What version or edition is this?
This is the 1st edition with a publication date of 4/1/2009.
What is included with this book?
- The Used copy of this book is not guaranteed to inclue any supplemental materials. Typically, only the book itself is included.
- The Rental copy of this book is not guaranteed to include any supplemental materials. You may receive a brand new copy, but typically, only the book itself.
Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer. Topics covered include: Basic elements of programming from arithmetic to loops and if statements. Using functions and modules to organize programs. Using lists, sets, and dictionaries to organize data. Designing algorithms systematically. Debugging things when they go wrong. Creating and querying databases. Building graphical interfaces to make programs easier to use. Object-oriented programming and programming patterns.
Jennifer Campbell is a senior lecturer in Computer Science at the University of Toronto who created the course on which this book is based. Paul Gries, also a senior lecturer, has won numerous teaching awards and authored other introductory computer science texts. Jason Montojo was a student of theirs 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. Greg Wilson worked in industry, for many years before returning to academia; he has been using Python for over a decade, and has written several other programming books.
Table of Contents
|Programs and Programming||p. 3|
|A Few Definitions||p. 4|
|What to Install||p. 4|
|For Instructors||p. 5|
|Hello, Python||p. 7|
|The Big Picture||p. 7|
|What Is a Type?||p. 12|
|Variables and the Assignment Statement||p. 15|
|When Things Go Wrong||p. 19|
|Function Basics||p. 20|
|Built-in Functions||p. 23|
|Style Notes||p. 24|
|Escape Characters||p. 32|
|Multiline Strings||p. 33|
|Formatted Printing||p. 35|
|User Input||p. 36|
|Importing Modules||p. 41|
|Defining Your Own Modules||p. 45|
|Objects and Methods||p. 51|
|Pixels and Colors||p. 59|
|Style Notes||p. 67|
|Lists and Indices||p. 73|
|Modifying Lists||p. 77|
|Built-in Functions on Lists||p. 79|
|Processing List Items||p. 81|
|List Methods||p. 87|
|Nested Lists||p. 89|
|Other Kinds of Sequences||p. 91|
|Files as Lists||p. 92|
|Making Choices||p. 101|
|Boolean Logic||p. 101|
|if Statements||p. 111|
|Storing Conditionals||p. 118|
|Counted Loops||p. 125|
|while Loops||p. 134|
|User Input Loops||p. 142|
|Controlling Loops||p. 143|
|Style Notes||p. 147|
|File Processing||p. 153|
|One Record per Line||p. 154|
|Records with Multiple Fields||p. 164|
|Positional Data||p. 167|
|Multiline Records||p. 170|
|Looking Ahead||p. 172|
|Writing to Files||p. 174|
|Sets and Dictionaries||p. 179|
|Inverting a Dictionary||p. 191|
|Searching and Sorting||p. 209|
|Linear Search||p. 209|
|Binary Search||p. 213|
|More Efficient Sorting Algorithms||p. 223|
|Mergesort: An Nlog2N Algorithm||p. 224|
|More on Functions||p. 233|
|Object-Oriented Programming||p. 267|
|Class Color||p. 268|
|Special Methods||p. 273|
|More About dir and help||p. 275|
|A Little Bit of OO Theory||p. 277|
|A Longer Example||p. 285|
|Graphical User Interfaces||p. 291|
|The Tkinter Module||p. 292|
|Basic GUI Construction||p. 293|
|Models, Views, and Controllers||p. 298|
|A Few More Widgets||p. 309|
|Object-Oriented GUIs||p. 313|
|The Big Picture||p. 319|
|First Steps||p. 321|
|Retrieving Data||p. 325|
|Updating and Deleting||p. 328|
|Using NULL for Missing Data||p. 331|
|Using Joins to Combine Tables||p. 332|
|Keys and Constraints||p. 337|
|Advanced Features||p. 339|
|A Bibliography||p. 349|
|Table of Contents provided by Ingram. All Rights Reserved.|