Code 501: Programming with Java


For years, Java has consistently maintained its place as the world's most popular language used today. As a "write one, run anywhere" language, Java is used on all kinds of devices, from mobile phones to submarines.

In this class, students will learn and use the core language features and Application Programming Interfaces (API) to design object-oriented applications with Java Standard Edition 8 (Java SE 8) Platform.


At the end of this course students will:

  • Create Java technology applications with the latest JDK Technology.
  • Develop their object-oriented programming skills.
  • Know the benefits of inheritance, interfaces, and class composition.
  • Identify good practices in the use of the language to create robust Java application.
  • See Lambda expressions in Java applications.
  • Store and manipulate data using collections.
  • Manipulate files, directories and file systems.


Students enrolling in this coures should:

  • Understand basic programming: flow control and OOP in any other language
  • Complete the IntelliJ Hello World Tutorial


  • Java Platform Overview
  • Java Syntax and Class Review
  • Encapsulation and Subclassing
  • Overriding Methods, Polymorphism, and Static Classes
  • Abstract and Nested Classes
  • Interfaces and Lambda Expressions
  • Collections and Generics
  • Collections Streams, and Filters
  • Exceptions and Assertions
  • Java Date/Time API
  • I/O Fundamentals
  • File I/O (NIO.2)
  • Testing with JUnit
  • Dependency management with Gradle

Learn with Stacked Modules

Concepts in each of our courses are taught using stacked modules, where a new concept is introduced in each class session, building upon what came before it. This is a challenging style that requires persistence, practice, and collaboration, but allows more concepts to be introduced over the length of the course. This method helps students learn and retain more information in a short period of time. Learn more about stacked modules »

Computer Requirements

Students are required to bring their own laptop with plenty of free space on the hard drive. By the first day of class, students will need:

If you would like to set up your Windows machine to dual boot to Linux, check out these guides: