CSCD 205: Programming I (with C ++)

Credits: 3

This course will provide in-depth study of software design and implementation using a modern, object-oriented language with support for graphical user interfaces and complex data structures. Topics covered will be specifications, design patterns, and abstraction techniques, including typing, access control, inheritance, and polymorphism. Students will learn the proper engineering use of techniques such as information hiding, classes, objects, inheritance, exception handling, event-based systems, and concurrency. Students will use C++ to implement the basic concepts in object-oriented programming (OOP). Topics include: the OOP programming paradigm including analysis and design; a survey of related languages; data hiding and encapsulation; inheritance; and polymorphism.