Learn to Teach Java: Inheritance and Recursion (Coursera)

Learn to Teach Java: Inheritance and Recursion (Coursera)

Learn to program with Inheritance and Recursion in Java, and prepare to teach others using the free, online interactive CS Awesome textbook. In this course for teachers we'll guide you both in learning Java concepts and skills but also in how to effectively teach those to your students.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

This course will support you in teaching the Advanced Placement Computer Science A course or a similar introductory university-level programming course. We'll cover the Java concepts of inheritance and recursion, as covered in the APCS A Units 9 and 10. Each topic will begin by relating Java to block-based programming languages and then provide video overviews of CS Awesome content along with additional materials to supplement learning for your students.
You'll engage with additional materials to support your teaching including "deep dive" classroom discussion questions, assessment overviews, code tracing and problem solving skills for your students, including preparation for free response coding questions.
Course 5 of 5 in the Learn to Teach Java Specialization.

Syllabus

WEEK 1
Welcome!
Inheritance (Unit 9): Learn as a Student

WEEK 2
Inheritance (Unit 9): Teacher Powerup

WEEK 3
Recursion (Unit 10): Learn as a Student

WEEK 4
Recursion (Unit 10): Teacher Powerup

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

IBM z/OS Rexx Programming (Coursera) Coursera
IBM

IBM z/OS Rexx Programming (Coursera)

This course is designed to teach you the basic skills required to write programs using the REXX language in z/OS. The course covers the TSO extensions to REXX and interaction with other environments such as the MVS console, running REXX in batch jobs, and compiling REXX. A total of 11 hands-on labs on an IBM Z server (via remote Skytap access) are part of this course.

Sep 7th 2026
5-12 Weeks
Powerful Tools for Teaching and Learning: Digital Storytelling (Coursera) Coursera
University of Houston System

Powerful Tools for Teaching and Learning: Digital Storytelling (Coursera)

Powerful Tools for Teaching and Learning: Digital Storytelling introduces educators to digital storytelling and explores ways to use digital stories to enhance students’ learning experiences. The course is designed to be comprehensive yet fundamental. By comprehensive we mean that the course provides a solid foundation for all of the components of a digital story and illustrates these components with tutorials, example stories, and links to additional readings. The course also provides a hands-on opportunity for learners to create their own digital stories. The course is fundamental because it covers the basic process of creating a digital story starting with just a simple script and as little as one image.

Sep 7th 2026
5-12 Weeks
Julia Scientific Programming (Coursera) Coursera
University of Cape Town

Julia Scientific Programming (Coursera)

This four-module course introduces users to Julia as a first language. Julia is a high-level, high-performance dynamic programming language developed specifically for scientific computing. This language will be particularly useful for applications in physics, chemistry, astronomy, engineering, data science, bioinformatics and many more.

Sep 14th 2026
4 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Sep 14th 2026
5-12 Weeks
Disability Inclusion in Education: Building Systems of Support (Coursera) Coursera
University of Cape Town

Disability Inclusion in Education: Building Systems of Support (Coursera)

Worldwide millions of children are not able to fully participate in schooling, and this is especially a problem for children with disabilities. In this course, we explore the support that teachers need in order to meet the needs of children with severe to profound hearing, visual and intellectual disabilities. We consider how this can be done by talking with a range of experts (from teachers to activists) about inclusive education as well as sharing experiences of education.

Sep 14th 2026
5-12 Weeks
Assessment in Higher Education: Professional Development for Teachers (Coursera) Coursera
Erasmus University Rotterdam

Assessment in Higher Education: Professional Development for Teachers (Coursera)

Are you a teacher in higher education wanting to get the best out of your students and assessments? Then on behalf of Risbo, Erasmus University Rotterdam, we would like to welcome you to this MOOC on Assessment in Higher Education. In this MOOC we will guide you through the different phases of preparing, creating and evaluating the assessments in your course.

Sep 14th 2026
5-12 Weeks
Resilient Teaching Through Times of Crisis and Change (Coursera) Coursera
University of Michigan

Resilient Teaching Through Times of Crisis and Change (Coursera)

Resilient teaching is the ability to facilitate learning experiences that are designed to be adaptable to fluctuating conditions and disruptions. This teaching ability can be seen as an outcome of a design approach that attends to the relationship between learning goals and activities, and the environments they are situated in. Resilient teaching approaches take into account how a dynamic learning context may require new forms of interactions between teachers, students, content, and tools. Additionally, they necessitate the capacity to rethink the design of learning experiences based on a nuanced understanding of context.

Sep 14th 2026
4 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Sep 7th 2026
5-12 Weeks
Teaching LGBTQ+ Health (Coursera) Coursera
Stanford University

Teaching LGBTQ+ Health (Coursera)

This curriculum is designed for faculty members and health professions educators. The course goals are to improve your knowledge, teaching skills, and attitudes pertaining to the provision of health care to LGBTQ+ patients.e.g. This is primarily aimed at first- and second-year undergraduates interested in engineering or science, along with high school students and professionals with an interest in programming.

Sep 14th 2026
2 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Sep 7th 2026
4 Weeks
Functional Programming Principles in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Programming Principles in Scala (Scala 2 version) (Coursera)

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera.

Sep 7th 2026
5-12 Weeks