Course Description

Introduction to Computer Science

This course is an intensive introduction to computer science for students with little to no programming experience. The primary goal for this course is to provide students with a solid foundation in C++, a modern, object-oriented programming language. A secondary goal is for students to gain an initial introduction to algorithmic approaches to interdisciplinary problem-solving. Constructing effective software involves considerable creativity and judgment, and there are general theoretical principles---independent of any particular language---that inform and guide its construction. Students will gain an introduction to these general principles and will also gain experience applying these principles to practical problems. Students who successfully complete this class will: gain a solid, practical understanding of the core C++ language, including pointers, classes, and linked lists, trees, and other data structures; learn how to extend their knowledge of C++ or other languages; develop their own systematic programming style; gain experience creating and implementing algorithms; be able apply algorithmic thinking and implementing algorithms; be able apply algorithmic thinking and programming skills to areas of their interest. This course is designed for a wide range of students: those seeking to learn programming as a practical skill for use in another field, as well as those students who simply wish to experience the challenge and excitement of designing and implementing algorithms.

Evaluation will be based on weekly programming exercises and a final programming project. There are no prerequisites for this class. Permission of instructor. Class size limited to 8. *QR*. Introductory. No lab fee.