This certificate provides a solid grounding in object-oriented programming to students with no prior programming experience. Students learn to analyze and design programs from the object-oriented perspective. Implementing object-oriented solutions to problems in two languages, C++ and Java, helps to reinforce an understanding of object-oriented concepts from coupling and cohesion to inheritance and polymorphism. In addition, Java provides students with the tool necessary to implement graphical user interfaces as well as a variety of features and classes useful in webpage and Internet programming. C++ requires students to develop a good understanding of structures, such as lists, queues and trees, and to implement them using the classes defined in the C++ Standard Template Library.