This course gives an introduction to basic ideas and techniques in discrete mathematics, focusing on its use in engineering and computer science. Topics covers chapter 2 to chapter 11 in textbook including: Logic Propositions and Proof Techniques, Set Theory, Functions and Relations, Recursions, Graph Theory, Counting and Probability, Algorithm and Complexity Analysis of Algorithms.