This course builds upon introductory programming fundamentals, unifying prior programming preparation within Java and its object-oriented programming (OOP) framework. Emphasis is placed on developing fluency in Java and strengthening the use of abstraction, modularity, and polymorphism in software design. This course also introduces topics such as recursion and elementary complexity analysis as foundational tools for problem solving and reasoning about algorithmic efficiency. This course has a weekly laboratory.
Natural Scientific and Mathematical Perspectives
Prerequisites
One of CSCI 110, ART 288, or DATA 160with a final grade of C- or higher.
Course UID
006766.1
Course Subject
Catalog Number
111
Long title
Intermediate and Object-Oriented Programming