Intermediate Java Programming

This is our intermediate level java class for student to take after they complete the Fundamental Java Course. Must take to further stimulate student’s passion in computer science and solidify their fundamental knowledges and programming skills.
A perfect stepping stone towards USACO and AP Computers Science A!
Total # of Lessons: 15


SKU: N/A Categories: , Tag:


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.

Past Works

Check out past intermediate java class projects! 


Students should possess beginner level Java knowledge and skills. A suitable student should have successfully completed our Fundamental Java Programming course or equivalent. They are expected to 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

What do we teach? — Lots! (See some cool works!)

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.

  • Review fundamental key concepts and skills
  • 2-D Array (Matrix)
  • ArrayList
  • Object oriented programming with Inheritance
  • Graphics and Event-based Programming
    • work with drawing on the screen
    • work with color and shapes
    • work with images and sounds
    • handle mouse clicks and keyboard input
  • Fun interactive projects!
  • Final project — at the end of the courses students will design and create their own fun-packed project and stride in huge pride with a big grin! (Look at some student proposals!)

Class Structure

This course focuses more on hands-on programming with multiple fun and engaging projects, it will be a mix of lab and lectures for each lesson.


  • No textbook needed

Required Equipment

Yes, students need to have their own laptop (and charger 🙂 with an IDE (we recommend IntelliJ) properly installed. Students should try to complete the setup per instruction here prior to the first class.


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.

Should I take or skip this class?

The Intermediate Java course is for students who have learned the fundamental Java knowledge 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 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 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!

Where is this course in your ascending path

Fundamental Java Programming –> Intermediate Java Programming –> USACO Bronze or AP Computer Science A

Additional information

Learning Mode

Hybrid, Self-paced, Weekly live (Zoom)

Reviews by Students and Parents on “Intermediate Java Programming”

  1. I have just completed this course around 5 weeks ago, and believe me this class was great. I have learned a lot from this class and it was very fun. This course has made me enjoy coding a bit more and made me a bit more interested in coding. I highly suggest you to take this course if you are a gamer like me. You learn a lot about game design, and you get to play your own games that you create!! Because this class was fun, I will go on to take other classes at Ascende learning too.
    Have fun!

  2. Unlike all the other Ascende Learning classes, this isn’t your usual APCS or USACO curriculum. However, this is a class to polish and practice fundamentals in Java, as well as getting a more creative side of Java. The Intermediate Java Programming class is a game-design class, where ultimately, the students can create a final project all by themselves (a game) that is fun and playable. Just look at some of the examples on this website!

  3. Intermediate Java is like the awkward middle child. You may have reservations going into it, wondering if it’s necessary for your student’s Java learning. Why take it? Didn’t we learn enough in Fundamental Java to prepare my student for AP CS A? The short answer is, yes. If you and your student are solely interested in pursuing that 5 for AP CS A; then, by all means, feel free to skip this class. However, Intermediate Java is where I believe the culmination of the knowledge that you have gained so far resides. They all say the best way to learn to code isn’t by following along to curriculum after curriculum — and Ascende gets that. There are many projects that are intended to allow the student to let themselves free, expressing themselves passionately and without hindrance. One can very easily get an A in this class by doing the bare minimum — but it doesn’t, and shouldn’t, stop there. This is a place where your student can tap into what they enjoy the most in the CS domain. Perhaps it is coding the most technically challenging feature. Perhaps it is designing the most elegant UI/UX. Whatever it is, (or even if they don’t know yet!) you can find it in Intermediate Java. Intermediate Java is a place to see not just how useful or practical coding and CS is, but is also a place to see how FUN programming can be. In addition, it is a great place to solidify your student’s fundamental coding ability in an overall welcoming environment.

Provide your comment/review: