Advanced Java Programming
- Grade 9+
Continue mastering the Java programming language by exploring its intermediate and advanced features, such as inheritance, interfaces, abstract classes, abstract methods, and polymorphism. You’ll learn how to write and read Java primitive types and object classes to and from files, how to serialize objects, and how to implement simple graphical user interfaces. You’ll use comprehensive error handling and complex algorithms in your programming projects, and investigate real-world applications of the Java programming language. As you progress through the course you’ll complete a portfolio of programming assignments including a mid-term and final project, and test your knowledge with a comprehensive final examination.
Recommended length of enrollment: 3 months
Time Commitment: 7-9 hours per week (7-9 hours independent work).
Students enroll in a course by selecting an open class below. Students progress at their own pace following course guidelines, with guidance from instructors who strive to meet individual needs. While the course provides students with independence and flexibility, students must manage their time to complete the course before the end date.
Note: You need an active CTY Account to complete registration through MyCTY.
3 month recommended course length
Testing and Prerequisites
|Required Level||CTY-Level||Not required|
Students must achieve qualifying scores on an advanced assessment to be eligible for CTY programs. If you don’t have qualifying scores, you have several different testing options. We’ll help you find the right option for your situation.Sign up for Testing Learn More
Course PrerequisitesAdvanced Java Programming requires:
Cost and Financial Aid
- Nonrefundable Application Fee - $15 (Waived for financial aid applicants)
- Nonrefundable International Fee - $20 (outside US only)
Financial Aid is available
We are committed to serving all talented youth regardless of financial circumstances. Financial assistance is available based on need.
Please acquire all course materials by the course start date. If you have questions about these materials or difficulty locating them, please contact firstname.lastname@example.org.
Book Title: Introduction to Java Programming and Data Structures, Comprehensive Version, 12th edition
Author: Y. Daniel Liang
- Software: You will need to install a recent version of the JDK on your computer. Instructions are provided in the first unit of the course. If you work on an Apple computer, this may already be installed.
Earning School Credit
Recommended school credit: One half of an academic yearLearn More
This course requires a computer with high-speed Internet access and an up-to-date web browser such as Chrome or Firefox. You must be able to communicate with the instructor via email. Visit the Technical Requirements and Support page for more details.
Java Runtime Environment is required.
This course uses a virtual classroom for instructor-student communication. The classroom works on standard computers with the Zoom desktop client, and on tablets or handhelds that support the Zoom Mobile app. Recorded meetings can only be viewed on a computer with the Zoom desktop client installed. The Zoom desktop client and Zoom Mobile App are both free to download.
Chromebooks are not recommended due to required downloading of specialized software.
This course uses Respondus LockDown Browser proctoring software for designated assessments. LockDown Browser is a client application that is installed to a local computer. Visit the Respondus website for system requirements.
About Computer Science and Technology at CTY
Are you a student in elementary through high school who dreams of being a coder? Do you want to develop critical thinking and learn creative problem solving? And do you want to do it all on your own time and at your own speed? Our fun and lively online Computer Science and Technology courses range from Scratch programming for young scholars to advanced Java concepts and AP Computer Science. Gear up for learning real-world computer languages and practicing new programming skills in an array of projects including animation, game design, web design, and more.
In the newly revised Introduction to Java course, you'll develop introductory Java programs to provide technology solutions for an imaginary new company of your choosing. Think of an idea for a business, hobby, or interest you have. The programs you write in this course will support your imaginary business, and maybe someday you'll use them to start your own company!
Get started with Computer Science and Engineering
In the updated Introduction to Computer Science and Engineering course, you’ll get to use your scientific and creative abilities to design and build lots of cool projects. You'll learn how to use a MaKey MaKey board and Scratch programming to invent games and solve problems. Get ready to take a hands-on approach in this fun course!