CSM 2670. Computer Science II. (3-2-4) S. Intermediate programming techniques with emphasis on object oriented design, recursion as a problem solving strategy, event-driven programming, graphical user interface design, and software engineering principles. All programming will be done in an object-oriented programming language (such as Java, C++, or Python). Prerequisite: C or better in CSM 2170, CIT 1813, or MIS 2000..