The Way of the Program
This course is an introduction to computer science and the art of computer programming, using the elegant, yet easy-to-learn programming language Python. Students will learn the fundamental principles of problem solving with a computer while gaining the programming skills necessary for further study in the discipline. Throughout the course, we will emphasize the power of abstraction and the benefits of clearly written, well-structured programs. We will begin with basic procedural programming and work our way up to object-oriented concepts such as classes, methods, and inheritance. Along the way, we will explore fundamental concepts such as algorithms and their complexity, binary representations of analog data, digital logic, recursion and, time permitting, network communication. Other topics include introductory computer graphics, file processing, efficient storage and retrieval of data, and some principles of game design and implementation. Weekly laboratory sessions will reinforce the concepts covered in class through extensive hands-on practice at the computer.

