The Way of the Program: An Introduction to Computer Science
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 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 the fundamental concepts of algorithms and their efficiency, binary representations of data, digital logic, and recursion. Other topics include introductory computer graphics; file processing; sorting and searching algorithms; basic data structures such as lists, dictionaries, and binary trees; 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.