If you are an instructor, why should you choose this textbook for your students? If you are a student, why should you read this text? The material included in this text provides an introduction to discrete mathematics and is intended for first year students so that their later courses in mathematics and/or computer science can be covered in more depth than they could be without this foundational background. The text is not intended to be a comprehensive collection of discrete mathematics topics, but rather it ties selected topics to concepts in computer science and it includes programming problems along with written exercises. Unlike the large, comprehensive texts, this one can be covered in a semester. For computer science students, there are programming exercises. For math students without an interest in programming, there are plenty of exercises of different levels to challenge them.
This text evolved over a 10-year period from notes for our second semester freshman course for computer science students. This course has included about two-thirds mathematics and about one-third programming. Our students have found immediate benefits in their next course, Data Structures and Algorithms Analysis, as well as all other upper level courses. You will find the style focused on the chosen topics; we make no attempt at a complete coverage of those concepts. We chose the topics with two goals in mind: to lay a strong mathematical foundation and to show that mathematics has immediate application in computer science.
There is little, if any, controversy over whether or not computer science students should study mathematics. The resounding consensus is that mathematics is critical to the study and practice of computer science. It is not so easy to gain agreement among academicians and practitioners as to exactly what areas of mathematics should be studied, how rigorous, the presentation should be, and at what points in the curriculum these ideas should be introduced.
Having been involved in the education of computer science students and having been responsible for teaching students who have taken a variety of mathematics courses, it is our belief that it is wise to include some fundamental mathematics in the first-year computer science curriculum. We believe that there are enough topics for which students can see immediate applications that it is worthwhile to make those topics a dart of the CS1 or CS2 course. This is not to say that students would not need or benefit from other courses in mathematics in addition to what they learn at this point. Rather, we believe that students will enjoy and get more from later mathematics courses because they have some background in basic ideas.
This book is not intended to be "the" math course for computer science students. It is intended to help students understand the importance of mathematics and see its relevance in a variety of applications. Indeed, most students will take some sort of discrete mathematics course later in their careers. The most immediate application for students is in analyzing algorithms, something they will start doing in earnest in their next course or two. To understand not only standard arithmetic algorithms but also important algorithms in cryptology, students must understand modular arithmetic and basic number theory. Concerns arise later that require a foundation in mathematics.
Precision of expression is the key to carrying out the tasks of both program specification and program correctness, and mathematics provides the foundation for this precision. Mathematics teaches us to be exact in what we say and how we think. It gives us the capability to express our ideas in such a way as to avoid being misunderstood. The study of mathematics in general, regardless of specific content, promotes precision of expression and attention to detail in reasoning. However, we have chosen particular mathematical structures that have direct applications in computer science, hence addressing two goals. First, we concern ourselves with the task of helping students develop reasoning skills and exactness of expression. Our second goal is to provide the fundamental mathematics necessary for computer scientists.
Many exercises are included at the end of each chapter. Some suggestions for programming problems have been included. Most are easily embellished or altered to meet the needs of the course. Some exercises and programming problems have been starred. These indicate more challenging problems.
Many people aided in the creation of this text. We'd like to thank first our students who, over many semesters, pointed out errors in the text (typographic and other) and offered suggestions about exercises. We'd like to mention particularly Rohit Bansal and Tony Fressola in this regard.
The editorial staff at Prentice-Hall has been particularly helpful: Patricia Daly, Jeanne Audino and George Lobell. The original manuscript has come a long way thanks to them.
And finally, we'd like to thank our spouses, Robin and Gil.
Any errors and typos are, of course, our responsibility. We would like to hear from you if you find any. Please email us with any errors you find or comments you have about the text.
Todd Feil
feil@denison.edu
Joan Krone
krone@denison.edu
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
2 of 3 people found the following review helpful:
1.0 out of 5 stars
This book sucks,
By
This review is from: Essential Discrete Math for Computer Science (Paperback)
If you are a math professor, considering using this book for a discrete math class, please, spare your students the misery and the money. My professor, with good intentions, assigned this book because it is cheeper than a traditional text book (still extremely expensive considering the book is very short and does not go into detail.) Most students in the class ended up buying an additional discrete mathematics textbook to supplement this one because this book did not explain most of the concepts in enough detail. I am studying for a test right now and the book is not helping me at all, especially since for a comprehensive discrete math course, my professor had to include in his lecture a lot of content not mentioned in this book.
Also, there was no CS prerequirement for this course, so the content of this book that deals with computer programing is off limits for the class and irrelevent and impossible to understand for me, a student with no background in computer science. I would have prefered to spend the additional 40-60$ of the bat for a comprehensive well written discrete mathematics book, rather than waste $40-$50 on this one and have to spend $100 on another textbook to supplement the content.
0 of 1 people found the following review helpful:
5.0 out of 5 stars
Excellent Read for any programmer of mathmatician,
Amazon Verified Purchase(What's this?)
This review is from: Essential Discrete Math for Computer Science (Paperback)
After reading through this book although not very long and doesn't really get into great detail I feel that I now have a better understanding of some core concepts that will greatly improve the way I solve problems both mathematically and programmatically. I would suggest to this anyone that wants to broaden their knowledge in problem solving.
Share your thoughts with other customers: Create your own review
|
|
Suggested Tags from Similar Products(What's this?)Be the first one to add a relevant tag (keyword that's strongly related to this product).
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|