Skip Navigation

Advanced Java Programming

Open to: Grades 9-12

Prerequisites: Qualifying math score and completion of Intro to Java or equivalent

Course Format: Individually Paced

Course Length: Typically 3 months

Recommended School Credit: One-half academic year

Course Code: AJA

Course Description

Description

This course introduces students to intermediate and advanced features of the Java programming language. Students will learn about object-oriented programming concepts such as inheritance, interfaces, abstract classes, abstract methods, and polymorphism; will learn how to write and read Java primitive types to and from files; how to serialize objects, and how to implement graphical user interfaces using Java’s FX components. Typical assignments, exercises, and projects include using built-in and programmer-defined classes, implementing inheritance and runtime polymorphism, and implementing graphical user interfaces with components like buttons, check boxes, scroll bars, and lists. At the end of the course, students submit a comprehensive final examination.

Students who successfully complete this course will be prepared to advance into AP Computer Science A.

 

Materials Needed

Students must purchase a textbook and will need a Java language compiler:

Introduction to Java Programming, Comprehensive Version, by Y. Daniel Liang [10th Edition]

Detailed Course Information

Course Details

Inheritance --- Part 1

  • Introduction to Inheritance
  • Inheritance & Class Visibility
  • Base Class Constructors
  • Method Overriding
  • Preventing Inheritance
  • Runtime Polymorphism

Inheritance --- Part 2

  • Abstract Methods & Abstract Classes
  • The Object Superclass
  • Casting Objects
  • Inheritance Design Guidelines

Interfaces

  • Introduction to Interfaces
  • Defining & Using Interfaces
  • Interfaces & Polymorphism
  • Using Constants in Interfaces

Exception Handling

  • Introduction to Exceptions
  • The Java Exception Hierarchy
  • Handling Exceptions
  • Defining & Throwing Exceptions

File Input & Output --- Part 1

  • Working With Files & Directories
  • Java Streams
  • Writing Text Files
  • Reading Text Files

File Input & Output --- Part 2

  • Writing Binary Files
  • Reading Binary Files
  • Writing Random Access Files
  • Reading Random Access Files

Object Serialization

  • Writing Objects to Files
  • Reading Objects from Files
  • Some Serialization Issues

Java Collections & Generics

  • Collections & Generics
  • Working With The ArrayList Class
  • Working With The LinkedList Class
  • Working With Map Classes

Java Threads

  • Java Threads
  • Creating Threads
  • Manipulating Threads
  • Synchronizing Threads

Working With GUI Components - 1

  • Introduction to Java FX
  • Adding Labels & Text Fields
  • Adding Buttons
  • Working with Layout Managers

Working With More Swing Components

  • Handling Java Events
  • Working with Radio Buttons
  • Working with Check Boxes
  • Working with ListsView Control
  • Working with Combo Boxes

Technical Requirements

This course requires a properly maintained computer with high-speed internet access and an up-to-date web browser (such as Chrome or Firefox). The student must be able to communicate with the instructor via email. Visit the Technical Requirements and Support page for more details.

The student will need the Java Runtime Environment.

This course uses an online virtual classroom for discussions with the instructor. The classroom works on standard computers with the Adobe Connect Add-in or Adobe Flash plugin, and also tablets or handhelds that support the Adobe Connect Mobile appStudents who are unable to attend live sessions will need a computer with the Adobe Connect Add-in or Adobe Flash plugin installed to watch recorded meetings. The Adobe Connect Add-in, Adobe Flash plugin, and Adobe Connect Mobile app are available for free download. Students who do not have the Flash plug-in installed or enabled on their browsers will be prompted to download and install the Adobe Connect add-in when accessing the virtual classroom.

Most course lectures may be viewed on mobile devices, but in some cases assignments and quizzes must be completed on a desktop or laptop computer.

CTY Online Programs Computer Science - Comments and Feedback from Students, Parents, and Teachers

Reviews

Quotes:

"This is my son's 2nd course with this instructor and JHU, and our expectation was exceeded again with the instructor’s quick, timely responses, depth of knowledge and her dedication to help my son understand the material."

"The instructor helped my son learn how to independently complete the course successfully. She gave helpful and timely feedback and guidance to me and my son. By the end of the course, my son was corresponding with the instructor and managing the course all on his own-- what a great skill to learn above and beyond material she helped him through, which he loved. He can't wait to take the next course."

"When I kept asking questions about the topic, my instructor didn't get irritated. He was patient with me and gave me well thought out answers. When I called him, he picked and helped me out."