Course Instructors: Lorina Negreanu, Florian Moraru, Carmen Odubăşteanu, Mihai Dascalu.
Learning and mastering the Java language. Presenting comparatively object-oriented and procedural programming. Presenting the main concepts of object-oriented programming: encapsulation, inheritance, polymorphism, abstraction and generalization. Presenting the object-oriented perspective on some classic programming problems, from the previous courses. Presenting for the first time the event-driven programming and graphical user interfaces to programs. Building a new way of thinking on programming with classes and objects.
Syllabus:
Introduction to Java language, differences from C. Using objects from Java library classes. Defining new classes. Constructors. Exceptions. Derived classes. Inheritence. Polymorphisme. Abstract classes and Java interfaces. Java collection framework. Class relations. Inner classes. Advantages of object-oriented programming. Swing classes for graphical user interface (GUI). Event-driven programming. Listeners and callbacks. Swing components with and without model. Lists, tables and trees as GUI objects. Java and XML. Using XML parsers (SAX, DOM, StAX). Object-oriented design.