Computer Science Textbooks
Filters
Programming Fundamentals - A Modular Structured Approach using C++
Copyright Year: 2013
Contributor: Busbee
Publisher: OpenStax CNX
License: CC BY
Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college courses: Modular/Structured, Object Oriented and Data Structures. This textbook/collection covers the first of those three courses.
(8 reviews)
Algorithms and Data Structures With Applications to Graphics and Geometry
Copyright Year: 2011
Contributors: Nievergelt and Hinrichs
Publisher: Global Text Project
License: CC BY
An introductory coverage of algorithms and data structures with application to graphics and geometry.
(1 review)
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)
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)
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)
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)
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)
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)
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.
(7 reviews)