CMSC 131 — Programming Methods and Object Design
Prepares students to employ the principles of object-oriented programming (abstraction, encapsulation, polymorphism, and composition) in the construction of substantial programs rooted in real-world problems. Students will formulate objects (classes) to model entities in problem spaces; construct programs using the powerful technique of recursion; test code by the professional technique of unit testing; and discuss technical solutions in the context of pair programming and code reviews.