|
How to Think Like a Computer Scientist (C++) |
|
How to Think Like a Computer Scientist (C++)
Visits: 37352
Rating:
(3.0)
Rated By: 1033 Users
Added On: 22-Jan-2005
Download How to Think Like a Computer Scientist (C++)
Category: C and C++
|
|
EBook Description: The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions. The single most important skill for a computer scientist is problem-solving. By that I mean the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That's why this chapter is called 'The way of the program.' Of course, the other goal of this book is to prepare you for the Computer Science AP Exam. We may not take the most direct approach to that goal, though. For example, there are not many exercises in this book that are similar to the AP questions. On the other hand, if you understand the concepts in this book, along with the details of programming in C++, you will have all the tools you need to do well on the exam.
|
Similar eBooks: eBooks related to How to Think Like a Computer Scientist (C++) |
Writing Bug-Free C Code
This book describes an alternate class methodology that provides complete data hiding and fault-tolerant run-time type checking of objects in C programs. With it, you will produce code that contains fewer bugs. The class methodology helps to prevent bugs by making it easier to write C code. It does this by eliminating data structures (class declarations) from include files, which makes a project easier to understand (because there is not as much global information), which makes it easier to write C code, which helps to eliminate bugs. This class methodology, which uses private class declarations, is different from C++, which uses public class declarations. The class methodology helps detect bugs by providing for both compile-time and run-time type checking of pointers (handles) to class objects. This run-time type checking catches a lot of bugs for you since invalid object handles (the cause of a lot of bugs) are automatically detected and reported. We have all, at some point in our programming careers, spent several hours or days tracking down a particularly obscure bug in our code. Have you ever stepped back and wondered how following a different programming methodology might have prevented such a bug from occurring or have automatically detected it? Or have you tracked down the same type of bug several times?
The C Book
This is not a tutorial introduction to programming. The book is designed for programmers who already have some experience of using a modern high-level procedural programming language. As we explain later, C isn't really appropriate for complete beginners�though many have managed to use it�so the book will assume that its readers have already done battle with the notions of statements, variables, conditional execution, arrays, procedures (or subroutines) and so on. Instead of wasting your time by ploughing through tedious descriptions of how to add two numbers together and explaining that the symbol for multiplication is *, the book concentrates on the things that are special to C. In particular, it's the way that C is used which is emphasized.
Data Structures and Algorithms with Object-Oriented Design Patterns in C++
This book was motivated by my experience in teaching the course E&CE 250: Algorithms and Data Structures in the Computer Engineering program at the University of Waterloo. I have observed that the advent of object-oriented methods and the emergence of object-oriented design patterns has lead to a profound change in the pedagogy of data structures and algorithms. The successful application of these techniques gives rise to a kind of cognitive unification: Ideas that are disparate and apparently unrelated seem to come together when the appropriate design patterns and abstractions are used.
C++ FAQ Lite
Frequently Asked Questions for C++.
Thinking in C++, 2nd Edition
Two volumes of Bruce Eckel's book, one of the easiest to read and most definitive titles for C++.
A Beginners C++
A Beginners C++ is primarily intended for introductory Computer Science courses that use C++ as an implementation language. However, the book should be equally suited to an individual who wants to learn how to program their own personal computer.
C Primer Plus (5th Edition)
Book Description
The new classic! C Primer Plus , now in its 5th edition, has been revised to include over 20 new programming exercises, newly improved examples and the new ANSI/ISO standard, C99. Task-oriented examples will teach you the fundamentals of C programming. From extended integer types and compound literals to Boolean support and variable-length arrays, you will learn to create practical and real-world applications with C programming. Review questions and programming exercises at the end of each chapter will reinforce what you have learned. This friendly and easy-to-use self-study guide will help you understand the fundamentals of this core programming language.
Data Structures and Algorithms with Object-Oriented Design Patterns in C++
This book was motivated by my experience in teaching the course E&CE 250: Algorithms and Data Structures in the Computer Engineering program at the University of Waterloo. I have observed that the advent of object-oriented methods and the emergence of object-oriented design patterns has lead to a profound change in the pedagogy of data structures and algorithms. The successful application of these techniques gives rise to a kind of cognitive unification: Ideas that are disparate and apparently unrelated seem to come together when the appropriate design patterns and abstractions are used.
Optimizing C++
Optimizing C++ provides working programmers and those who intend to be working programmers with a practical, real-world approach to program optimization. Many of the optimization techniques presented are derived from my reading of academic journals that are, sadly, little known in the programming community. This book also draws on my nearly 30 years of experience as a programmer in diverse fields of application, during which I have become increasingly concerned about the amount of effort spent in reinventing optimization techniques rather than applying those already developed.
C++: A Dialog.
How to Think Like a Computer Scientist (C++) - Free eBook How to Think Like a Computer Scientist (C++) - Download ebook How to Think Like a Computer Scientist (C++) free
|
|
|