This course is intended to be a second programming course and a sequel to MTH 3300. The material focuses on advanced topics, including pointers, dynamic storage allocation, class implementation, inheritance, and polymorphism. Additional topics include abstract data types, data structure implementation, data representation, and object-oriented programming in a practical setting, such as scientific computing and quantitative finance. Programming techniques emphasize reliability, maintainability, and reusability.Not open to students who have completed CIS 4100. Students will receive credit for MTH 4300 or CIS 3100, not both.