Learn to Teach JAVA | UC San Diego Online
Skip to main content

Learn to Teach JAVA


Learn to teach Java with CS Awesome! Learn in a course designed for TEACHERS and their needs to support their students.

More sessions coming soon

About This Course

This course is designed for those who want to support secondary students' learning of Java -- with a focus on Advanced Placement Computer Science A. Using the freely available CS Awesome online, interactive textbook, learn Java with the same resource you can use to teach it.

While this course teaches Java, it does so knowing you intend to use your Java knowledge to teach. Each concept is introduced through connections to block-based languages and each CS Awesome textbook page is previewed to point out key points, gotchas, and to suggest supplementary material for use in your classroom. In our Teacher Powerup sections, you will explore materials to guide students in classroom discussions in analyzing code, learn about various assessment options, and get extra supports in how to develop student problem solving skills. Along the way you will explore other free curricular resources (e.g. Codingbat) and create resources you can use in your classroom.

Course cost: $300 This course does NOT confer any university credits.

What you will learn

At the end of this course, teachers-as-students will be able to:

  • Read and trace Java programs (in an online and on-paper environment) to demonstrate understanding of the core computing concepts covered in a common university introductory programming course (e.g. sequences, if statements, while/for loops, nested constructs, boolean and compound boolean expressions, object use, object-oriented design, inheritance, 1-D and 2-D arrays, ArrayList, and recursion).

  • Utilize a freely-available interactive online textbook (CS Awesome) to support students in learning Java.

  • Describe various types of assessment options, identify resources for finding and sharing assessments, and select assessments for a specific need.

  • Support students in developing deep code analysis skills, code tracing skills, and techniques for approaching free-response style programming questions.


This course expects that you have experience with and/or experience teaching block-based programming. General (not CS-specific) teaching experience is helpful.


  • Does this course help me fulfill the California CTC Supplementary Authorization to teach Computer Science?
    • This course does not confer university credit, which is required for the California Supplementary Authorization in Computer Science. If you know you need that take this course instead.
  • Why is the class so long? What if I want to complete it sooner?
    • This course is offered with flexibility for busy teachers in mind. You can complete the course at your own pace, you just need to complete before the "Classes End" date. When you finish your grade will be submitted and you will receive your transcript within 1 month. The course contains ~100 hours of learning materials and activities which you can complete as fast or slowly as you want. We also want you to have access to the course WHILE you are teaching, which is why you have access until summer.
  • What session should I sign up for?
    • You have until the session end date to complete each course - the session end date is August 31st, the year after the course started. In general, select the session that has already started, unless you know you won't complete by August of next year, then select an upcoming session.
  • Can I pay by purchase order?
    • Yes! Please follow the instructions here to start the process.
  • Who will help me if I get stuck in the course?
    • The course is continuously monitored by the professor and designated staff. You are encouraged to ask questions on the course discussion forum and we (and possibly others in the class) will get back to you.
    • However, this course is designed for you to learn with materials you can turn around and use with your students. We hope you will find the course materials and activities interesting and enjoyable, not dry and onerous.
  • Can I get more detail on what EXACTLY, I will learn and do in this course?
    • Yes, as this course was designed specifically with teachers in mind, it differs a bit from courses for computing majors. Check out details about this course here (be sure to scroll to the relevant course).