Externally indexed torrent
If you are the original uploader, contact staff to have it moved to your account
Textbook in PDF format
A FIRST COURSE IN COMPUTER SCIENCE IS ABOUT A NEW WAY OF SOLVING PROBLEMS computationally. Our goal is that after the course, students when presented with a problem will think, “Hey, I can write a program to do that!” The teaching of problem solving is inexorably intertwined with the computer language used. Thus, the choice of language for this first course is very important. We have cho sen Python as the introductory language for beginning programming students—majors and non-majors alike—based on our combined 55 years of experience teaching undergradu ate introductory computer science at Michigan State University. Having taught the course in Pascal, C/C , and now Python, we know that an introductory programming language should have two characteristics. First, it should be relatively simple to learn. Python’s sim plicity, powerful built-in data structures, and advanced control constructs allow students to focus more on problem solving and less on language issues. Second, it should be practical.
Python supports learning not only fundamental programming issues such as typical programming constructs, a fundamental object-oriented approach, common data structures, and so on, but also more complex computing issues such as threads and regular expres sions. Finally, Python is “industrial strength” forming the backbone of companies such as YouTube, DropBox, Industrial Light and Magic, and many others
THINKING ABOUT COMPUTING
The Study of Computer Science
STARTING TO PROGRAM
Beginnings
Control
Algorithms and Program Development
DATA STRUCTURES AND FUNCTIONS
Working with Strings
Functions—QuickStart
Files and Exceptions I
Lists and Tuples
More on Functions
Dictionaries and Sets
More Program Development
CLASSES, MAKING YOUR OWN DATA STRUCTURES AND ALGORITHMS
Introduction to Classes
More on Classes
Program Development with Classes
BEING A BETTER PROGRAMMER
Files and Exceptions II
Recursion: Another Control Mechanism
Other Fun Stuff with Python
The End, or Perhaps the Beginning
APPENDICES