LeagueHub (click here)

(1) Reporting an Absence/Cancelling a Class

  1. When you log in to your account, you should be on your Dashboard Screen and you should see “Plans & Passes”, “Bills” and “Upcoming Schedule” at bottom with a list of upcoming classes.  If you are not on the Dashboard Screen, you can click on the “Your Stuff” on upper right hand corner of screen and it will take you there.
  2. Locate the class date/student you would like to cancel and click on it. You will be prompted to cancel.

It’s that easy and now you can be sure that we have been notified!


(2) Sign up for Open Lab/Create Reminder

You can also sign up for the open lab you would like to attend and the system will send you a reminder 24 hours before the lab.

  1. Select the OPEN LAB tab and use the calendar to find the date of the lab you would like to sign up for.
  2. Click on it and hit the “enroll” button.  Select the student you would like to enroll and hit “finish” button.


(3) Customizing your notification settings (class reminders, notes from teachers, general reminders, etc)

You can customize your settings to:

  • Receive notifications by text
  • Suspend 24-hour upcoming class reminders

To access your Settings:

  1. Go to “Notifications” from your dashboard (on right hand side of screen, look for bell shaped icon)
  2. Select “Settings” option at top of screen
  • Add/modify cell phone number to receive texts
  • Update privacy setting times/do not disturb
  • Modify how you would like to get notifications (email and/or text) or turn the notification off


Don’t forget to bookmark hub.jointheleague.org for easy access! 


Students acquire basic programming skills in Java through practice. Using professional programming tools such as Eclipse and GitHub, students end this course with mastery of logic, loops and variables, and with a firm foundation in problem solving and logical thinking. In order to make this fun and interesting for kids, we use loops and logic to make simple games, user interactions and animations. The challenge-based curriculum encourages a growth mindset that requires building the student’s confidence in themselves as problem solvers.

Content and Evaluation:  The curriculum for this course is a proprietary set of “recipes” that use the intentional method to guide students in creating their first Java programs. A recipe is a set of instructions that students convert into code giving them a thorough understanding of the effect of each line of code they write. The recipes gradually increase in granularity until the student can write programs by themselves from scratch.

Among other tools, we use an in-house library, derived from Logo’s Turtle that allows the students to move a robot around the screen by writing Java. We also write user-interactive programs and games using Eclipse, and create code-based animations with Processing.

The 1.5 hour exam that completes this course includes a written portion, and two coding exercises that must be completed without external help.

LEVEL 1: OBJECTS & METHODS (1-1.5 years)

Students learn to understand and use Object Oriented Programming (OOP). We learn Java’s Swing libraries which gives you the ability to create elegant Graphical User Interfaces (GUIs) from scratch, while becoming familiar with the patterns and paradigms of OOP. Understanding OOP is challenging because it requires you to think in an abstract way about technical concepts, but mastering this mindset gives you a powerful tool for breaking complex problems into more manageable ones, which is a paramount skill for any software engineer.

Content and Evaluation: The curriculum for this course is a proprietary set of “recipes” that use the intentional method to guide students in creating their first object oriented programs. A recipe is a set of instructions that students convert into code to create an application (e.g. Binary Convertor, Twitter Searcher) or a game (e.g. Pong, Whack-a-Mole, Typing Tutor). We use Java Swing to familiarize students with object instantiation and connecting objects with each other. This also gives students the ability to make complex user interfaces for their own purposes such as school projects. Students write a substantial amount of code during this course which is published online as part of their growing GitHub portfolio.

The 1.5 hour exam that completes this course includes a written portion, and a coding exercise that must be completed without external help.


At level 2, it’s time to put your coding skills to work. We break our classes into smaller groups (2 or 3 students per mentor) so that kids can build a project of their own design. Depending on the project, this may take 2-4 months. This comes with a whole new set of challenges since the code is built upon week after week. Students need to learn to write clean and readable code. During the process, we perform UX testing and use that feedback to improve the user interface. The students use GitHub to publish their work. All the github portfolios you see on the students page contain code they wrote themselves from scratch. This level ends with a presentation of the project, a demo to family and friends and a pizza party to celebrate their accomplishments.

The purpose of this course is to flex the programming skills acquired in the previous two levels, to publish a significant piece of the students’ professional portfolio, and to give the student the confidence and motivation to create, rather than just consume, the digital world around them.

Content and Evaluation:  This student is evaluated for this course based the following:

  • Demonstrated understanding of Object Oriented Design (OOD) through use of at least 3 classes.
  • Application is published and documented on GitHub.com in compliance with League GitHub guidelines.
  • Completed usability testing log used to capture the specifics of at least 5 usability testing sessions.
  • Deliver a short presentation to explain project challenges, technical implementation, and now the project was adapted in light of user feedback
  • Project must be presented and demonstrated to League Lead Teacher, League Executive Director and at least one parent on final Demo Day.


All serious programmers need to be data virtuosos. In Level 3 students learn to master lists, stacks & hashmaps and to implement basic sorting and searching algorithms. It’s the beginning of a long and beautiful relationship with unit testing and JUnit. Knowing this stuff gives you the ability to write more stateful and complex games, and naturally, we try out this new knowledge on some maze-navigating robots. LEAGUE students test out of this level using a mid-term exam for first year students of computer science at Stanford University.

Content and Evaluation:  The curriculum for this course is a proprietary set of coding challenges that build knowledge of data structures and algorithms in a way that appeals to kids. For example, students build an iPod Shuffle using ArrayLists, and a Hangman game that uses Stacks and HashMaps. Many of the challenges are visual and engage the student creatively, with many references to pop culture, and using stories that make complex ideas sticky for young minds.

In this level, we begin to solve problems from previous College Board Advanced Placement Computer Science exams, and hone skills using assignments from Stanford University CS 106A. We use the Java programming language exclusively.

To complete this course, students take a 1.5 hour exam that consists of a short written portion, and two substantial coding exercises that must be completed independently.


Some of the higher forms of coding have frightening names like polymorphism, abstraction, inheritance and encapsulation. Believe it or not, our students will own these concepts in Level 4.  Upon completion of this level, students have a solid understanding of Java and are internship-ready. They have complete knowledge of the fundamental features of programming and have practiced that knowledge enough to work fluidly with code. At this point they are able to code at the level of a professional junior developer.

Content and Evaluation: The curriculum for this course is a proprietary set of coding challenges that incrementally build knowledge in a way that appeals to kids. We study object oriented programming topics, including inheritance, polymorphism, casting, composition, abstraction and encapsulation using zany diagrams and fun, project-based exercises. We also delve into some hefty array and String processing, using hacking challenges which are particularly popular with the students, as well as an application that encrypts files. Students become proficient with advanced Java topics such as lambdas, streams, exceptions, file i/o and reflection.

We continue to solve problems from previous College Board Advanced Placement Computer Science exams using proprietary templates to make the questions solvable using code, rather than answering them on paper.

The final exam for this course includes material from a mid-term exam for first year students of computer science at Stanford University.


9 out of 10 of our students pass the computer science AP exam with a score of 3 or greater.  The thorough understanding of coding learned in levels 0-4 make passing the AP a breeze.   Students can take the AP exam at any age.  We have found that age boosts confidence, so we recommend students wait until 9th grade to take the actual exam.

The AP exam requires the new skill of being able to write code on paper. We also cover the theoretical Computer Science concepts that did not fall under any of the previous skill-based topics. League levels 0-4 are a prerequisite for this course.

Content and Evaluation:  To complete this level, students must achieve a score of 3 or higher on the AP Computer Science exam.

This level may come out of order because we work around the fact that the AP exam is offered only once a year in May.


As a capstone course, Level 6 offers students the opportunity to collaborate on diverse teams to develop a novel software solution that addresses a real-world need originating from local citizens or other non-profits. Students apply computational thinking practices, interdisciplinary knowledge, and professional skills as they work through the software design process. Effective practices in problem solving, implementation, presentation, and collaboration are central to the course.

Our students team up and spend 3-4 months working on a project that impacts society for the good. These are usually mobile or web apps. Some of our students have won prizes competing against adult teams at civic hackathons with these apps.

Content and Evaluation:  The platforms used for these projects are typically Android or web, allowing the student to familiarize themselves with databases, web services, and front-end programming.

The projects are publicly published on GitHub and will form part of the student’s professional portfolio of work.

We mirror a real-world development environment as closely as possible by using professional version control to facilitate teamwork, professional project management tools such as Trello, and interfacing with the customer to clarify requirements, deliver frequent releases, and receive regular feedback.

To complete this course, students must deliver a fully tested application that satisfies the following requirements:

  • Application is in use by end users
  • For social good
  • Developed collaboratively with other team members
  • Android apps must be available on the Google Play app store
  • Other apps must be open source and published on GitHub

Previous Project Samples:

October 2016: Project created for Feeding San Diego & San Diego Food Bank Alliance.  This food locator map will show all local food bank sources based on zip code. Here is link: LET’S EAT!



Learn to craft code like a pro! This level takes you from code monkey to software engineer with topics such as refactoring, clean code, test-driven development, design patterns, techniques for working with legacy code, and how to be an Eclipse ninja. This course has been developed in collaboration with some the best and most experienced programmers in San Diego. This is stuff they don’t even teach you in college!

Content and Evaluation: To be a professional programmer, just knowing programming is not enough. Professional software engineers need a lot more skills than just churning out code. They need to be careful to build the right thing, to make sure that it has longevity, integrates with other systems, and doesn’t break or hinder other people’s work. To give our students a more rounded skill-set, we teach them techniques for safely fixing bugs, cleaning up existing (“legacy”) code bases, designing software architecture, and writing automated test suites.

In this level, students hone their craft by studying software architecture and industry best practices. This course has been carefully developed in collaboration with local thought leaders.

The content is largely lecture-based with accompanying collaborative games & exercises, instructor-led programming examples, and technical assignments.

To complete this course, students take a 1.5 hour exam that consists of a written portion, and two coding exercises that require refactoring and unit testing, that must be completed independently.


The “Oracle Certified Associate, Java SE 7 Programmer” exam is the industry standard for Java developers.

During level 8, students prepare to take the Java SE 8 Programmer I (1Z0-808) exam. Even experienced professionals need to study for this exam, since it requires intricate knowledge of the language that may not be regularly used in practice. League levels 0-5 are a prerequisite for this course.

Content and Evaluation: The Oracle Certification exam tests you on all the dark corners of the language, and it is an exam that even professionals must study for.

We will cover each of the exam topics with lectures and worksheets and coding exercises that reinforce the lectures. Then we tackle a mountain of sample questions until you are able to score highly enough to pass the exam.

To complete this level, students must achieve a score of 65% or higher on the Oracle exam, thereby gaining their official certification.


Students are prepared to enter the work force as a programmer, or continue their education in a college or university.

UCSD Extension Credit Program

League Students are eligible to receive college level credits from the UCSD Extension Program for each level completed. Grades will be submitted for all active students and retroactive credits are available for previous levels completed. Inactive students should contact The League (scheduling@jointheleague.org) to request submission.


The following is a chart of the units that can be earned for each level:

League Level League Class Name Estimated Time to Complete UCSD Units Earned
Level 0 Loops and Logic 5-7 months 1.5 units
Level 1 Object Oriented Programming 1-1.5 years 5.0 units
Level 2 Build Your Own Game 4-6 months 3.0 units
Level 3 Data Structures and Algorithms 7-9 months 4.0 units
Level 4 Java Ninja 6-8 months 2.5 units
Level 5 Prepare for AP Computer Science 2-3 months 1.0 units
Level 6 Project for Social Good 6-8 months 3.0 units
Level 7 Software Craftsmanship 6 months 1.0 units
Level 8 Oracle Java Certification 6-7 months 4.0 units
Total Units Available 25 units


What are UCSD Extension Credits?: UCSD Extension Program classifies these units as “college prep” units. A college may not allow students to apply these units earned towards their graduation. However, completing these units is a very distinguished accomplishment for any high school student applying for college, especially those applying to UCSD.


Accessing Your UCSD Account: Students will manage their own account through the UCSD Extension Program that can be accessed at: https://myextension.ucsd.edu/.  Credits will be sent to UCSD with the email address used on the parent portal LeagueHub. Once you have activated your UCSD Extension account, you can change the email address, phone number and mailing address associated with the account.


Set up and Communication from UCSD: The first time credits are submitted to UCSD, you will receive instructions on how to set up your account. You may also receive a series of emails asking you to rate the course. The League does not have any special association with the UCSD Extension program on-line system and cannot control the communication that they have with you. You may change your preferences by accessing your UCSD Extension program account.


The League believes strongly in the spirit of volunteerism!

Teachers:  Our regular class teachers are working professionals who volunteer their time to teach at The League.

TA’s:  League students are nominated by their teacher to join the Student TA pool.  These students are given the opportunity to pass on their experience in weekly classes and/or workshops.  Student TA’s can request a letter from The League describing the hours they have worked.  If your student is interested in becoming a TA, please have them speak to their weekly class teacher.

Parents:  Have an expertise or passion for web design, marketing, event planning, grant writing, etc?  Parents who would like to volunteer with the League are encouraged to contact us.  A few hours of your time a month could really make a difference!

WELCOME to your weekly Java programming class! We are so glad that you have joined the League, and hope that your child will have a great time and learn a lot through our program.

Payment is due at your first class and occurs regularly thereafter at the beginning of each month. You may have a credit card on file with permission to charge monthly, or write a check. The monthly tuition is $240 except during the months of July, November and December when it drops to $180 to account for the July 4th, Thanksgiving and Christmas holiday weeks. Because some months have 5 classes instead of 4, the annual tuition includes 4 free classes which can be attended or used as sick/vacation days.  Please contact scheduling@jointheleague.org for all billing inquiries.


Please download the most current version of Our Policies & Procedures here.

Our best advertisers are you!  Please encourage your friends, co-workers and neighbors to check us out.

If they are interested in seeing us in action, have them contact us and we will arrange for them to visit the Saturday Open Lab.

Sign up at our website: jointheleague.org/join


Want us to call you?   Help Me Register

Help Me Register

If you would like to have your monthly tuition automatically charged to your credit card, please contact us at scheduling@jointheleague.org to make arrangements.

Please don’t send your credit card number in the email!


Students who are in level 4 or higher will transition over to AP exam prep in January.  Any student who is in level 3 that strongly desires to take the AP can apply to their teacher for an exception. We have a few limited spots for Level 3 students in existing AP classes. The lead teachers will meet as a committee to discuss. Experience has shown that older students are more confident and therefore more successful. The exam can be given in a huge room to close to a hundred students which can be overwhelming. But, we are a school of “amazing” students so we will seriously consider all requests.


There is no additional cost for this AP exam preparation, this is a privilege for members of The League.  We take great pride in the fact that our kids are so well prepared to take a college level course exam with minimal cramming and anxiety.  We do not currently provide this service to non-students.


There are some study guides you might want to purchase.  This year we are using Barron’s AP Computer Science A, 7th Edition.


Level 5 has a very structured curriculum.  Students in the Sunday 1:00, Sunday 5:30 and Saturday 11:00 will follow the same lesson plan every week.  Students are free to attend another Level 5 class for a make-up.  Students can also keep up by accessing the lessons in GitHub. The weekly agenda is posted on line at this address: https://league-level5.github.io/.  There are instructions along with links to all the multiple choice quizzes and coding exercises.  Students can email Dave.dunn@jointheleague.org with any questions.

League Practice Tests

1st Practice Exam: A mid way practice exam will be given during the classes the week of March 5th.
Full Practice Exam: This will be a full 3 hour practice exam. There will be two opportunities: Saturday, April 22 2:30-5:30 or Sunday, April 23 5:30-8:30.

AP Test Information & Registration

The League does not have any involvement in giving or grading the AP exam.  The AP Exam is administered by College Board.  You should contact your school district for all information regarding your individual student.

Here is some basic information:

  • Registration opens February 1, 2017.  Please contact your school to see how your student can take the exam.  Sometimes students can take it at their school, sometimes they can take it through the district.
  • The AP Computer Science A exam is Tuesday, May 2, 2017 at 8am.

  • There is no minimum age or grade requirement, but you should check with your school district for any specific policies.

  • The price of the exam is approximately $125.  Sometimes you pay this fee to your school district.

  • You may be able to retake the exam to improve your score.

Here are some helpful links:

General information about AP exams: https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-bulletin-students-parents.pdf




For students of San Dieguito Unified High School District:



The classes level 3 and above are already covering some of the AP topics and will focus more closely on AP specific topics as the exam approaches. There won’t be much of an extra demand on the students, but extra time spent outside of class working through a study guide will help students and give them more confidence. We will probably offer a few Saturday cram sessions in April, and we usually are able to give a timed and graded practice test in late April.

Students in these classes who are not taking the exam will still benefit from the preparation. The AP material is similar to the introductory material for Computer Science in college.