The main purpose of these lectures is first to briefly survey the fundamental con nection between the representation theory of the symmetric group Sn and the theory of symmetric functions and second to show how combinatorial methods that arise naturally in the theory of symmetric functions lead to efficient algorithms to express various prod ucts of representations of Sn in terms of sums of irreducible representations. That is, there is a basic isometry which maps the center of the group algebra of Sn, Z(Sn), to the space of homogeneous symmetric functions of degree n, An. This basic isometry is known as the Frobenius map, F. The Frobenius map allows us to reduce calculations involving characters of the symmetric group to calculations involving Schur functions. Now there is a very rich and beautiful theory of the combinatorics of symmetric functions that has been developed in recent years. The combinatorics of symmetric functions, then leads to a number of very efficient algorithms for expanding various products of Schur functions into a sum of Schur functions. Such expansions of products of Schur functions correspond via the Frobenius map to decomposing various products of irreducible representations of Sn into their irreducible components. In addition, the Schur functions are also the characters of the irreducible polynomial representations of the general linear group over the complex numbers GLn(C).