Computer Science Textbooks
The Little Book of Semaphores
Copyright Year: 2016
Contributor: Downey
Publisher: Green Tea Press
License: CC BY-NC-SA
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.
(3 reviews)
Physical Modeling in MATLAB
Copyright Year: 2009
Contributor: Downey
Publisher: Green Tea Press
License: Free Documentation License (GNU)
Most books that use MATLAB are aimed at readers who know how to program. This book is for people who have never programmed before. As a result, the order of presentation is unusual. The book starts with scalar values and works up to vectors and matrices very gradually. This approach is good for beginning programmers, because it is hard to understand composite objects until you understand basic programming semantics. But there are problems:
(9 reviews)
How to Think Like a Computer Scientist: Learning with Python
Copyright Year: 2008
Contributors: Downey, Elkner, and Meyers
Publisher: Green Tea Press
License: CC BY
How to Think Like a Computer Scientist: Learning with Python is an introduction to programming using Python.
(8 reviews)
Essentials of Geographic Information Systems
Copyright Year: 2011
Contributors: Campbell and Shin
Publisher: Saylor Foundation
License: CC BY-NC-SA
Essentials of Geographic Information Systems integrates key concepts behind the technology with practical concerns and real-world applications. Recognizing that many potential GIS users are nonspecialists or may only need a few maps, this book is designed to be accessible, pragmatic, and concise. Essentials of Geographic Information Systems also illustrates how GIS is used to ask questions, inform choices, and guide policy. From the melting of the polar ice caps to privacy issues associated with mapping, this book provides a gentle, yet substantive, introduction to the use and application of digital maps, mapping, and GIS.
(15 reviews)
Business Information Systems: Design an App for That
Copyright Year: 2011
Contributors: Frost, Pike, Kenyo, and Pels
Publisher: Saylor Foundation
License: CC BY-NC-SA
We set out to design an introductory course governed by four themes:
(5 reviews)
Think Python: How to Think Like a Computer Scientist - 2e
Copyright Year: 2012
Contributor: Downey
Publisher: Green Tea Press
License: CC BY-NC
Think Python is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters.
(10 reviews)
Programming Languages: Application and Interpretation - Version Second Edition
Copyright Year: 2007
Contributor: Krishnamurthi
Publisher: Brown University
License: CC BY-NC-SA
Unlike some other textbooks, this one does not follow a top-down narrative. Rather it has the flow of a conversation, with backtracking. We will often build up programs incrementally, just as a pair of programmers would. We will include mistakes, not because I don't know the answer, but because this is the best way for you to learn. Including mistakes makes it impossible for you to read passively: you must instead engage with the material, because you can never be sure of the veracity of what you're reading.
(1 review)
Information Systems: A Manager's Guide to Harnessing Technology
Copyright Year: 2015
Publisher: University of Minnesota Libraries Publishing
License: CC BY-NC-SA
Information Systems: A Manager's Guide to Harnessing Technology is intended for use in undergraduate and/or graduate courses in Management Information Systems and Information Technology.
(6 reviews)