Combinatorics in computer science