This course is an introduction to programming computers. It is the main introductory course in the Computer Science department and is taken by students from a variety of disciplines wishing to have an understanding of computer programming as well as students wanting to continue on to further studies in Computer Science.

We teach programming using the cross-platform, object-oriented programming language Java. The main focus is on learning to understand the detailed requirements of a programming task, and writing programs that are well structured, correct, easy to read, and to maintain. In order to do this students need to develop an understanding of how to represent information both as data and algorithms within the objects of a Java program.

By the end of the course students who succeed are able to design and implement a medium-size computer program as well as have some idea of the process of program execution.