This course provides an introduction to the concepts and methodology of Object-Oriented Programming with Java as an illustration language. Concentrating on aspects of Java that best demonstrate object-oriented principles and good practice. Topics covered include the Java programming language syntax, OO programming using Java, exception handling, applets, swings, JDBC, threads, and networking. Upon completion of this course, students will be able to:  Compile and run a Java application.  Understand major concepts of object-oriented programming  Gain knowledge and skills in OO design and program development using Java  Understand the advantages of object-oriented design techniques including encapsulation, abstraction, inheritance, polymorphism, and reusability.  Create Java applets that run within a browser.  Understand the concept of Java networking.