Block Designs: Analysis, Combinatorics And Applications