3units Design of classes and interfaces. Object-oriented design methodologies and notations. Design patterns. Generics and reflection. Exception handling. Concurrent programming. Graphical user interface programming. Software engineering concepts and tools. Required team-based programming assignment.
Prerequisite(s):MATH 42, CS 46B, and CS 49J (or equivalent knowledge of Java) (with a grade of “C-” or better in each); Allowed Declared Majors: Computer Science, Applied and Computational Math or Software Engineering. Or instructor consent. Grading: Graded