Object Oriented Programming in JAVA


Units: 12


This course is an in-depth look at the popular programming language Java. It is not intended for first time programmers. An exemption exam is given to students during orientation.

After some preliminaries devoted to basic syntax and program structure, classes, composition, inheritance and polymorphism are examined. The Java collection classes are studied in some detail, as is the rather complex set of I/O classes. Additional topics include exception handling, building GUIs with JavaFX, and multi-threading. Throughout the second half of the course, a series of homework problems develops a non-toy application, illustrating by example how larger object-oriented programs are organized.

Learning Outcomes

  1. Use a Java IDE as well command line to test code snippets and author professional programs.
  2. Learn Java language basics, including types, operators and program control.
  3. Develop problem solving skills through practice and understanding of the divide-and-conquer and top-down approaches.
  4. Form and manipulate collections of data (such as lists, dictionaries, tuples).
  5. Learn the principles of object oriented programming in Java with usage of classes, inheritance, polymorphism, interfaces, containers and design patterns - with the goal of understanding code reuse and building scalable programs.

Be exposed to the SDLC (software development lifecycle) to understand how software applications are authored in industry.  This includes basic UML usage and design concepts.

Prerequisites Description