Unless otherwise indicated, a grade of C or higher is required for all prerequisite courses.
Object-oriented programming methodology for both computer science majors and computer professionals. Systematic approach to design, construction, and management of computer programs; emphasizing program documentation, testing, debugging, maintenance and software reuse. Also includes evolution of programming languages and emergence of paradigms, UML, virtual machines, exception handling, sorting and searching algorithms, recursion, inheritance, polymorphism, fundamental graphics, and computer ethics. This course conforms to the ACM CS1 standards.