Design and Thoughts on Intermediate Java Curriculum

Recently parents inquired with me on why we are using the old-fashioned AWT and Swing Java libraries in the Intermediate Java curriculum because they are not really being used in the industry anymore. I would like to explain our thoughts behind the design and decisions of our Intermediate Java curriculum.

First of, Intermediate Java class are offered with two key goals:

  • Let students get a lot of hands-on programming practices on the fundamental programming part so that they get much more comfortable and confident with programming, while learning some essential intermediate level key topics. For these, we chose three: Matrix (two-dimensional array), ArrayList, and Inheritance. At the same time also allow them to keep building problem solving skills and get into the right way of thinking when approaching any problem – think robust, think possibilities.
  • Make programming more fun so that students feel more interested and motivated while solving more and more complex and larger-scale problems, Also build up their confidence and sense of achievements as they accomplish every task and solve each problem along the way. Have them see and experience the charm and limitless possibilities in the world of computer science.

With the above objectives, we decided to introduce students into more interactive and graphic paradigm rather than just staying with text-based which 1) has its obvious and inherent limitation 2) not as fun.

AWT/Swing is the native Java framework that enables graphics, sound and mouse/keyboard interaction. Because of its nativeness, it doesn’t introduce any additional risk or additional learning curves that will be necessary for a 3rd party framework.

The Java AWT/Swing framework is a full-blown system which can be confusing and complicated. Since it itself is NOT our learning objective, but is just auxiliary to student’s learning, we try our best to stay with the bare basic usage and keep reminding students of its role and guiding students to not focus on the framework, but to spend energy on the logic and programming WiTHIN the framework.

Here are some segments of our lessons where we clarify the role of the framework and explain it at a very high level that we think is appropriate so that:

  1. student won’t be too puzzled while programing within this framework
  2. student will be guided to focus on the right thing without getting distracted and digging too deep into the unintended direction.

From Lesson#4:

From Lesson#7:

Lastly, in our class I did make it clear to students most likely will not need to use the Java native graphic framework in the industry! That should not be something to be concerned about, most likely whatever framework that we use today will be obsolete when they get to college or go to work! The key is to build the learning skill, and the essential programming skills and problem solving skill, and to see them blossom and proud of their achievement and awesome work!

Our Intermediate Java class students have been learning and practicing a lot, and becoming more confident, interested and passionate programmers! Check out some of the incredible projects they were able to create from scratch after completing the course — all out of their own imagination, creativity and passion!

Provide your comment/review: