Intermediate Java Programming

Enroll Onsite Class  Enroll Online Class

About This Course

This course is designed for students who have learned fundamental Java programming knowledges and skills and yearn to further solidify their learning and sharpen programming skills.  The course will teach more advanced Java topics, with an emphasis on hands-on practices and projects.  It will prepare students to be more confident and successful in the AP Computer Science A course, or the USACO Bronze course.


Students should possess beginner level Java knowledge and skills. A suitable student should have successfully completed our Fundamental Java Programming course or equivalent.

Students should be familiar and comfortable with the following basic Java language concepts:

  • variables
  • data types
  • basic math and logical operations
  • conditional flow
  • iterations
  • arrays
  • String
  • functions

This class is designed for students to further practice their Java programming skills while learn new concepts in Java.

Course plan

The class will follow a rigorous Java language curriculum, check out the scope and topics that will be covered at course plan.  We thoughtfully designed the curriculum so that the sequence of concepts makes the most sense and also develops spirally, and allow students to have more opportunities to practice previously learned knowledge to build a solid foundation.

To summarize, the key big items that we will cover:

Course Lineup

Intermediate Java I

  • Review fundamental key concepts and skills
  • 2-D Array (Matrix)
  • ArrayList
  • Object oriented programming with Inheritance
  • Java Graphics library
  • Fun interactive projects (4~5)

Intermediate Java II

  • More AWT and Swing library
  • Programming with sounds
  • More object oriented programming
  • Recursion
  • Basic combination and permutation theory (as time and student level allows)
  • More fun and interactive projects

Class Structure

The class will be combination of lecture time and hands-on practicing.


  • Barron’s AP Computer Science A (8th Edition)

Please do not be intimated. We will only use the fundamental and intermediate part of this book.


Yes. There will be homework, of various length, most of the homework would be continuation from class practices plus extra tasks. Students will spend different amount of time on homework depending on how much progress they made from class. On average, expect to spend a couple of hours on homework weekly.

Does student need to know Java to attend this class?

Yes. This class is for students who has learned basic and fundamental Java programming, preferably having completed our Fundamental Java Programming course , or have taken some java classes but feel that they may have “holes” in their foundation and need more practices and “patches”. Upon completion,  students will have built much more solid programming skills and be more strongly prepared to take on APCS or USACO courses next.

Should I take or skip this class?

The Intermediate Java course is for students who have learned the fundamental Java knowledges but not in a hurry to tackle the APCS or USACO yet. The students want to spend more time to further solidify their understanding of the important concepts, and sharpen their programming skills with fun projects and more hands-on practices.  For students who are already feel confident for the challenge of APCS or USACO courses,  they can skip this course and move on to APCS or USACO course right away!

What other classes can students take after completion of this course?

Upon successful completion of the Intermediate Java course, students will be much better prepared to either take on competitive programming with our USACO course series, starting from the USACO Bronze course, or continue to take the APCS course.  Since they used this course to build themselves a stronger foundation in Java programming and problem solving, they are well equipped to pursue either path, or even both at the same time as some of our students do to fully test and explore your potential!

Required Equipments

Yes, students need to bring own laptop (and charger 🙂 to class, and have JRE and IDE installed. Students should try to complete the setup per instruction here prior to the first class.

Will student be ready to take APCS test upon completion of this class?

NO. At completion of this class, students need to proceed to take an AP Computer Science A course either at local high school or at Ascende Learning to obtain the full scope of APCS required Java knowledge and skills.

Will student be ready to take the USACO bronze contest upon completion of this class?

NO. At completion of this class, students need to proceed to take the USACO bronze course to systematically learn all the algorithms and data structure needed to pass the USACO bronze contest.

Where is this course in your ascending path

Fundamental Java Programming –> Intermediate Java Programming –> APCS or USACO Bronze