The object-oriented approach to programming with Java is developed in full. Topics include: practical object design, object-oriented principles (interfaces, composition, inheritance, polymorphism, and encapsulation), and container/collection objects (including arrays) and associated algorithms. As exemplars of these topics, the basis of GUI interfaces, event-driven programming, and graphics are examined. Exceptions and file access are introduced as well. The emphasis is on developing good software craftsmanship along with an awareness of the implications for the user of software design choices. Lecture: 3 hours per week. Lab: 2 hours per week.
Prerequisite: “C” or better in CS 120 Programming I.
In lieu of a traditional textbook, this course will make use of Open Educational Resources (OERs). During the first week of class, we will make accounts and register for the learning platforms we will be using.