Combinatorics consists of various branches, including combinatorial enumerations and structures, graph theory, finite geometry, block designs, codes and cryptography. This course will choose some of these topics according to the research interests of students and the lecturer in each semester. The aim is to provide students chances to understand fundamental theory, important examples and main results, and can use combinatorial methods in the future study and research.