A Computer Science Tapestry is designed for use in a first course in computer science (CS1) that uses C++ as its programming language. This book covers basic concepts in programming, program design and computer science and gives students a good introduction to the C++ language. In the second edition, Astrachan has put more emphasis on object-oriented programming by introducing a graphics library and including a new chapter on object-oriented techniques. He has also added new case studies and design tips.
An introduction to computer science and programming, using the C++ language and object-oriented concepts to teach students to program by reading and using classes before writing them. Includes a CD-ROM that features C++ 6.0 compiler.
Information theory is an exceptional field in many ways. Technically, it is one of the rare fields in which mathematical results and insights have led directly to significant engineering payoffs. Professionally, it is a field that has sustained a remarkable degree of community, collegiality and high standards. James L. Massey, whose work in the field is honored here, embodies the highest standards of the profession in his own career. The book covers the latest work on: block coding, convolutional coding, cryptography, and information theory. The 44 contributions represent a cross-section of the world's leading scholars, scientists and researchers in information theory and communication. The book is rounded off with an index and a bibliography of publications by James Massey.
For over half a century, Boris (Boaz) Trakhtenbrot has made seminal contributions to virtually all of the central areas of theoretical computer science. This festschrift volume readily illustrates the profound influence he has had on the field.
If you'd like to create web-based applications easily, then this book is for you. More importantly, it shows you how to do that with joy and feel good about your own work! You don't need to know servlet or JSP while your productivity will be much higher than using servlet or JSP directly. This is possible because we're going to use a library called "Tapestry" that makes complicated stuff simple and elegant. The first four chapters are freely available on http: //agileskills2.org/EWDT. You can judge it yourself.
This text is designed for any first course in computer science that uses C++ as the major programming language. It adopts and exploits the best features of C++ in studying programming, program design and construction, and computer science. String and vector classes are used rather than pointer-based implementations that are more C-based. Versions of all the programs used in the book are available for Mac, DOS and Unix machines. The software is currently available on the Internet; both via anonymous ftp and on the WWW.
CONCRETE ABSTRACTIONS offers students a hands-on, abstraction-based experience of thinking like a computer scientist. This text covers the basics of programming and data structures, and gives first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well. Students learn a variety of programming styles, including functional programming, assembly-language programming, and object-oriented programming (OOP). While most of the book uses the Scheme programming language, Java is introduced at the end as a second example of an OOP system and to demonstrate concepts of concurrent programming.
Why so few African American and Latino/a students study computer science: updated edition of a book that reveals the dynamics of inequality in American schools. The number of African Americans and Latino/as receiving undergraduate and advanced degrees in computer science is disproportionately low. And relatively few African American and Latino/a high school students receive the kind of institutional encouragement, educational opportunities, and preparation needed for them to choose computer science as a field of study and profession. In Stuck in the Shallow End, Jane Margolis and coauthors look at the daily experiences of students and teachers in three Los Angeles public high schools: an overcrowded urban high school, a math and science magnet school, and a well-funded school in an affluent neighborhood. They find an insidious “virtual segregation” that maintains inequality. The race gap in computer science, Margolis discovers, is one example of the way students of color are denied a wide range of occupational and educational futures. Stuck in the Shallow End is a story of how inequality is reproduced in America—and how students and teachers, given the necessary tools, can change the system. Since the 2008 publication of Stuck in the Shallow End, the book has found an eager audience among teachers, school administrators, and academics. This updated edition offers a new preface detailing the progress in making computer science accessible to all, a new postscript, and discussion questions (coauthored by Jane Margolis and Joanna Goode).
The role of values in scientific research has become an important topic of discussion in both scholarly and popular debates. Pundits across the political spectrum worry that research on topics like climate change, evolutionary theory, vaccine safety, and genetically modified foods has become overly politicized. At the same time, it is clear that values play an important role in science by limiting unethical forms of research and by deciding what areas of research have the greatest relevance for society. Deciding how to distinguish legitimate and illegitimate influences of values in scientific research is a matter of vital importance. Recently, philosophers of science have written a great deal on this topic, but most of their work has been directed toward a scholarly audience. This book makes the contemporary philosophical literature on science and values accessible to a wide readership. It examines case studies from a variety of research areas, including climate science, anthropology, chemical risk assessment, ecology, neurobiology, biomedical research, and agriculture. These cases show that values have necessary roles to play in identifying research topics, choosing research questions, determining the aims of inquiry, responding to uncertainty, and deciding how to communicate information. Kevin Elliott focuses not just on describing roles for values but also on determining when their influences are actually appropriate. He emphasizes several conditions for incorporating values in a legitimate fashion, and highlights multiple strategies for fostering engagement between stakeholders so that value influences can be subjected to careful and critical scrutiny.