Josh on 12B Smith Rock climb

Do you feel like you are about to climb a mountain?

Learning something new can be a challenge, and many people prefer to have a helper along the way.

On this page you will find part of the story behind the JJ Dream Team.

The introduction is written by David Epstein.
Below his introduction, you will find the JJ Dream Team's Mission Statement.


Behind the JJ Dream Team
by David Epstein.

I would like to start with a brief explanation of the picture shown above in our
"Who is Teaching You Java?" banner.

I went rock climbing outdoors for the first time over Labor Day weekend this last summer (2002) in Smith Rock in Oregon. The picture is of somebody named Josh who was lead-climbing a 12B.
As I looked straight up what seemed to be a vertical wall with little to hang onto, Josh's challenge somehow made me think about the recent AP CS switch from C++ to Java and the summer I had just spent with the JJ Dream Team preparing Java education materials for both teachers and students.

Josh was climbing directly upward, holding on with what must have been the very ends of his toes.
Why a picture of Josh at Smith Rock?

  1. Rock climbing offers no options other than one-step-at-a-time.
  2. There is a feeling one gets once reaching the top. It cannot be described, but I know that some programmers get hooked once they see their program finally working for the first time.
  3. After reaching the top, the climber is lowered down, and begins anew on a slightly more difficult climb.
  4. After years of learning Java and how to teach computer science and programming using Java,
    it turns out that there is no final, ultimate climb ... teaching styles continually improve.
  5. On every climb, there is one partner belaying you. Together there is a team of two--the climber and the belayer. Your belay partner keeps you safe, and might offer suggestions, but in the end it is you that has to do the climbing.
Enough about rock climbing.
What does all this have to do with the JJ Dream Team?

Everybody who joins the JJ Dream Team picks something new to learn. It can be anything. For a real challenge, members pick something that they are a little tentative about. While learning, they pay attention to how they learn, how they are taught, and how they would go about teaching others what they are learning.

Each skill could mandate a different approach for beginners. For example, I learned how to rollerblade slowly because I did not want to fall on the cement, and I learned how to skim board quickly because there is no choice but to throw the board, run to catch up to it, and jump on. (I tried slow skim-boarding and fell everytime.)

The same year that I tried both rollerblading and skim boarding, I left my safe world of Fortran (after years on the ANSI and ISO committees) and started to learn Java. I started learning Java slowly, similar to how I approached rollerblading. I did not fear falling on the cement, but there was and still is so much to learn.

I recall paying particular attention to the problems that await future novices using Java
as a first programming language, such as the difference between
.length on arrays and .length() on Strings.

Learning Java reinforced my belief that learning a skill and learning how to teach that skill are two completely different tasks.

This past summer of 2002, the original members of the JJ Dream Team chose to learn new skills ranging from learning German to learning how to surf. The idea behind learning something new was to empathize with the audience they were creating material for--beginning programmers.

As for me, I haven't touch my rollerblades or skim board for some time. But, I have been learning how to rock climb while also looking for something new to prepare me for the next school year, the first year that the AP CS exam will be in Java. The belay-climber partnering aspects of climbing, however, remains a personal theme for me as we all get ready for the next school year.

Your partner in learning/teaching Java is here. Belay's on. Climb on.
--David Epstein
--June, 2003


Besides above introduction by David Epstein, this site is written and maintained by the JJ Dream Team.

JJ Dream Team Mission Statement

The JJ Dream Team is dedicated to providing Java educational material, software and support for introductory and advanced computer science courses.


        The goal of the JJ Dream Team is that computer science teachers will be able to, with ease, log into their JJ account (whether online or offline) and prepare for the next day's lesson. With a few easy clicks, she will have the entire year's plan before her. Written in an easy-to-understand manner, the tutorials will ensure that she is prepared for tomorrow's class. The slides, quizzes, labs, and exercises are designed to save the teacher time preparing, presenting, and grading material.

        The goal of the JJ Dream Team is that computer science students will be able to log into their JJ account (whether online or offline) and check the work assigned by their teacher. By completing the course, students are fully prepared for any exam at the end of the year, whether it is a final, or one of the two CollegeBoard Advanced Placement tests.