Computer Science Textbooks

Read more about Object-Oriented Reengineering Patterns

Object-Oriented Reengineering Patterns

Copyright Year: 2008

Contributors: Demeyer, Ducasse, and Nierstrasz

Publisher: Stéphane Ducasse

License: CC BY-SA

The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system, and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult. All of these are signs of software that is close to the breaking point.

No ratings

(0 reviews)

READ MORE

Read more about Implementing a One Address CPU in Logisim

Implementing a One Address CPU in Logisim

Copyright Year: 2016

Contributor: Kann

Publisher: A.T. Still University

License: CC BY

Most computer users have an incorrect, but useful, cognitive metaphor for computers in which the user says (or types or clicks) something and a mystical, almost intelligent or magical, behavior happens. It is not a stretch to describe computer users as believing computers follow the laws of magic, where some magic incantation is entered, and the computer responds with an expected, but magical, behavior. This magic computer does not actually exist. In reality computer are machines, and every action a computer performs reduces to a set of mechanical operations. In fact the first complete definition of a working computer was a mechanical machine designed by Charles Babbage in 1834, and would have run on steam power. Probably the biggest success of Computer Science (CS) in the 20th century was the development of abstractions that hide the mechanical nature of computers. The fact that average people use computers without ever considering that they are mechanistic is a triumph of CS designers. This purpose of this monograph is to break the abstract understanding of a computer, and to explain a computer's behavior in completely in mechanistic terms. It will deal specifically with the Central Processing Unit (CPU) of the computer, as this is where the magic happens. All other parts of a computer can be seen as just providing information for the CPU to operate on. This monograph will deal with a specific type of CPU, a one-address CPU, and will explain this CPU using only standard gates, specifically AND, OR, NOT, NAND and XOR gates, and 4 basic Integrated Circuits (ICs), the Decoder, Multiplexer, Adder, and Flip Flop. All of these gates and components can be described as mechanical transformations of input data to output data, and the overall CPU can then be seen as a mechanical device.

(1 review)

READ MORE

Read more about A Byte of Python

A Byte of Python

Copyright Year: 2013

Contributor: H

Publisher: Swaroop C H

License: CC BY-SA

"A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.

(13 reviews)

READ MORE

Read more about Embedded Controllers Using C and Arduino - 2e

Embedded Controllers Using C and Arduino - 2e

Copyright Year: 2018

Contributor: Fiore

Publisher: dissidents

License: CC BY-NC-SA

This text is designed to introduce and expand upon material related to the C programming language and embedded controllers, and specifically, the Arduino development system and associated Atmel ATmega microcontrollers. It is intended to fit the time constraints of a typical 3 to 4 credit hour course for electrical engineering technology and computer engineering technology programs, although it could also fit the needs of a hardware-oriented course in computer science. As such, the text does not attempt to cover every aspect of the C language, the Arduino system or Atmel AVR microcontrollers. The first section deals with the C language itself. It is assumed that the student is a relative newcomer to the C language but has some experience with another high level language, for example, Python. This means concepts such as conditionals and iteration are already familiar and the student can get up and running fairly quickly. From there, the Arduino development environment is examined. Unlike the myriad Arduino books now available, this text does not simply rely on the Arduino libraries. As convenient as the libraries may be, there are other, sometimes far more efficient, ways of programming the boards. Many of the chapters examine library source code to see “what's under the hood”. This more generic approach means it will be easier for the student to use other processors and development systems instead of being tightly tied to one platform.

(2 reviews)

READ MORE

Read more about High Performance Computing

High Performance Computing

Copyright Year: 2010

Contributors: Severance and Dowd

Publisher: OpenStax CNX

License: CC BY

The purpose of this book is to teach new programmers and scientists about the basics of High Performance Computing. Too many parallel and high performance computing books focus on the architecture, theory and computer science surrounding HPC. This book speaks to the practicing chemistry student, physicist, or biologist who need to write and run their programs as part of their research.

(1 review)

READ MORE

Read more about Diseno e Implementación de Bases de Datos desde una Perspectiva Prática

Diseno e Implementación de Bases de Datos desde una Perspectiva Prática

Copyright Year: 2014

Contributor: Cardona

Publisher: LATIn Project

License: CC BY-SA

Modelado Conceptual y Lógico de Bases de Datos a través de ejemplos

No ratings

(0 reviews)

READ MORE

Read more about Enterprise Pharo a Web Perspective

Enterprise Pharo a Web Perspective

Copyright Year: 2016

Publisher: Square Bracket Associates

License: CC BY-SA

Enterprise Pharo is the third volume of the series, following Pharo by Example and Deep into Pharo. It covers enterprise libraries and frameworks, and in particular those useful for doing web development. The book is structured in five parts.

No ratings

(0 reviews)

READ MORE

Read more about The Spec UI framework

The Spec UI framework

Copyright Year: 2017

Contributors: Fabry and Ducasse

Publisher: Square Bracket Associates

License: CC BY-SA

Spec is the default UI framework for Pharo. To build UI's in Spec existing widgets or even complete UI's are reused and configured to form a new UI.

No ratings

(0 reviews)

READ MORE

Read more about Aprendizaje Colaborativo Apoyado por Computador

Aprendizaje Colaborativo Apoyado por Computador

Copyright Year: 2014

Contributors: Collazos, Muñoz, and Hernández

Publisher: LATIn Project

License: CC BY-SA

Comunidad creada para compartir experiencias en torno al uso de Tecnologías de la Información como apoyo a procesos de enseñanza-aprendizaje usando modelos de aprendizaje colaborativo

No ratings

(0 reviews)

READ MORE

Read more about Inteligencia Artificial

Inteligencia Artificial

Copyright Year: 2014

Contributors: Ponce, Soto, and Quezada

Publisher: LATIn Project

License: CC BY-SA

Este libro es una introducción al area de la Inteligencia Artificial y presenta algunas de las aplicaciones que puede tener en la vida real en diversos campos de aplicación, El libro esta compuesto de ocho capítulos los cuales abarcan los antededentes, algunos conceptos importantes para la resolución de problemas como es la representación de conocimiento, el planteamiento de los problemas. Asimismo se menciona la teoría de agentes por un lado y por otro lo que es el aprendizaje computacional. Otra area que se aborta es la computación evolutivo y los algoritmos bioinspirados para la resolución de problemas, dandole enfasis a los problemas de optimizacion. Por ultimo se menciona una nueva tendencia en el area de las ciencias computacionales como es el uso de las GPUs para trabajar de una manera mas rapida al realizar el procesamiento en paralelo.

(1 review)

READ MORE