In this talk, some known counting problems classes such as #CSP, Holant, and counting graph homomorphisms, are introduced in a more general framework called #BCSP. Two important reduction methods for counting problems, holographic reduction and polynomial interpolation are introduced, together with some simple application examples. We will understand the reduction methods, by exploring the conncetion between some linear algebra operations and some special graph gadgets.