Computing and computer science students must acquire a variety of skills early on in their undergraduate career, including the ability to write computer programs, and to construct and reason about simple algorithms used in programs. Not only are these fundamental to their academic progression, but they are also practical skills which cannot be mastered by reading books or viewing web pages: students must practise programming. There are many excellent books and web-based resources which facilitate the learning process, but the assessment of programming skills has been an activity requiring substantial human resources. It should be possible, however, to automate the assessment process, either completely or in part, since program code is in a form suitable for automatic processing. In this chapter the pedagogical, technical and practical issues which have affected the deployment of automatic assessment of computer programming skills will be examined. The tools and packages currently (2003) available to assist in the automation of assessment will be discussed.