Combinatorial Methods with Computer Applications