CS 5044: Object-oriented Programming with Java, Fall 2015

This course covers the basic concepts of object-oriented programming and their relationships to the principles of software engineering. Emphasis is placed on the programming structures of interfaces, classes, objects, inheritance, and polymorphism and how these structures aid in the development of extensible software systems. Practical experience is gained in the design, construction, and debugging of systems in a strongly-typed object oriented language such as Java. This course provides the programming skills needed for developing software in other courses, and provides the context for more advanced modules that deal with software engineering and project management.