Readers will learn discrete mathematical abstracts as well as its implementation in algorithm and data structures shown in various programming languages, such as C, C++, PHP, Java, C#, Python and Dart. This book combines two major components of Mathematics and Computer Science under one roof. Without the core conceptions and tools derived from discrete mathematics, one cannot understand the abstract or the general idea involving algorithm and data structures in Computer Science. The objects of data structures are basically objects of discrete mathematics. This book tries to bridge the gap between two major components of Mathematics and Computer Science.In any computer science course, studying discrete mathematics is essential, although they are taught separately, except in a few cases. Yet, a comprehensive book, combining these two major components, is hard to find out; not only that, it is almost impossible to understand one without the help of other.Hope, this book will fill the gap. Readers will learn discrete mathematical abstracts as well as its implementation in algorithm and data structures shown in various programming language, such as C++, Java, C#, Python and Dart.1. Introduction to the Discourse Is Discrete Mathematics enough to study Computer Science? A short Introduction to Discrete Mathematics What is Discrete Mathematics What is the relationship between Discrete Mathematics and Computer Science Introducing necessary conceptions 2. Introduction to Programming Language and Boolean Algebra Logic, Mathematics, and Programming Language Introduction to Boolean Algebra 3. De Morgan's Laws on Boolean Algebra, Logical Expression, and Algorithm Logical Expression Short Circuit EvaluationSyntax, Semantics and Conditional ExecutionWhy we need Control Constructs Discrete Mathematical Notations and Algorithm 4. Data Structures in different Programming languages Mean, Median and Mode Array, the First Step to Data Structure Let us understand some Array features Set Theory, Probability and Array Skewed Mean, Maximized Median Complex Array Algorithm 5. Data Structures: Abstractions and Implementation How objects work with each other More Algorithm and Time Complexity Introducing Data Structures How Calculus and Linear Algebra are Related to this Discourse 6. Data Structures in Detail Frequently Asked Questions about Data Structures Abstract Data Type (ADT) Linear Data Structures Modeling of a Structure ArrayList to overcome limitations of Array ArrayList or LinkedList, which is faster? Collection Framework in programming languages Stack and Queue in Java Deque, a high-performance Abstract Data Type 7. Algorithm, Data Structure, Collection Framework and Standard Template Library (STL) Introducing Algorithm Library Different types of Algorithms Binary Tree and Data Structure Collection Framework in Java Discrete Mathematical Abstractions and Implementation through Java Collection Comparator, Comparable and Iterator Standard Template Library in C++ 8. Time Complexity Order of n, or O(n) Big O Notation 9. Set, Symmetric Difference and Propositional Logic Why Set is important in Data Structures How Symmetric Difference and Propositional Logic combine 10. Combinatorics and Counting, Permutation and Combinations Permutation and CombinationWhat Next