Introduction to programming and software engineering for computer science majors and computer professionals. A systematic approach to the design, implementation, and management of robust C++ computer programs. Course emphasizes topics such as Object Oriented programming design, templates, big O, trees, programming documentation, testing and debugging techniques. This course conforms to the ACM CS1 standards.