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.