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


Enroll now and earn 1,099 AscendePoints!

SKU: N/A Category: 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

Self Paced

Reviews by Students and Parents on “Intermediate Java Programming”

  1. Java is the most steadily developing programming language on the planet. Right now, the complete number of Java designers is somewhat more than 8 mln, with around 0.5 mln new coders turning into a piece of the Java people group every year.

    Java is as of now the most famous programming language in versatile turn of events (Android, essentially), just as it is exceptionally normal is backend-advancement, cloud-based arrangements, and in various hot and moving tech specialties like IoT and Big Data.

    Java is the most well known language in IoT (Internet of Things) arrangements improvement. As indicated by IoT Developer Survey 2019, Java is the main programming language in this specialty (which has tremendous development potential coincidentally). Also this is absolutely not unexpected as initially Java was made as a language for PDA (individual computerized partner) applications. PDAs, being fundamentally the archetypes of current cell phones, required an exceptional language that would function admirably on low-power cell phones and will be all around versatile across various portable stages. Java has all of this, which unintentionally makes it an extraordinary counterpart for different IoT-gadgets. visit here:

  2. Intermediate Java is a really great class for anyone who has some basic Java experience. You will do many fun projects of simple games like snake, Mario, tic tac toe, etc. Students learn a lot about graphics and painting in Java, which is usually not taught in other courses. They will get to use and enhance their creativity through the course. The teacher, Ms. Wen, is one of my best CS teachers who is always available for help. She replies to emails very quickly and teaches the concepts very clearly. The TAs are also eager to assist students. The office hours provided are extremely useful. Every week, you can either meet with the teacher or TA directly and solve any problems together that you are having trouble with. I highly recommend Intermediate Java to anyone who wants to learn important Java skills and have fun!

  3. This is a really great course for ones who want to strengthen their coding skills and ability to create fun projects! It really gives students the opportunity to stretch their creativity and critical thinking skills. The projects that we do are great practice that puts what we have learned into use, and the new information that we learned are very useful to create programs that look good and work well. Plus, the teacher and TA was realllly helpful and resourceful! They helped answer all sorts of questions and solve all kinds of problems. This course is highly recommended for anyone who wants to learn more about Java coding and how it can be put to use!!!

  4. 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!

  5. 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!

  6. 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: