This course teaches platform-based programming concepts and techniques. In teaching this concept, the Java programming language will be used because Java uses the concepts of objects and classes in making programs. Teaching materials include an introduction to OOP concepts, Java Virtual Machine (JVM), objects, classes, methods, constructors, I/O, inheritance, encapsulation, polymorphism, overloading, UML, files, AWT, Swing, applets and exceptions.