Combinatorics of Compositions and Words