CSCI340 Program Design and Development (3 semester hours)

This course teaches students to design and develop programs. The course assumes that students have previously acquired programming skills in C, C++, and Python. Students learn advanced programming concepts that will enable them to produce reliable and maintainable code and be able to compare learned concepts to other languages. The course focuses on programming structures, constructs and writing tests as well as understanding inheritance, polymorphism, and interfaces. Moreover, students will master generic programming, appreciate the value of reflection, and write multi-threaded applications. By the end of the course, students will be able to differentiate between good and bad programming practices. (Prerequisite: CSCI240)