We may earn an affiliate commission when you visit our partners.
Course image
Beth Simon

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.

Read more

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.

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.

Enroll now

What's inside

Syllabus

Welcome!
Inheritance (Unit 9): Learn as a Student
Inheritance (Unit 9): Teacher Powerup
Read more
Recursion (Unit 10): Learn as a Student
Recursion (Unit 10): Teacher Powerup

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Focuses on Java, which is the most commonly used programming language worldwide
Taught by Beth Simon, who was awarded the Google Computer Science Female of the Year Award
Develops knowledge of inheritance and recursion, which are fundamental skills in Java programming
Prepares educators to teach the Advanced Placement Computer Science A course or similar university-level programming courses
Provides additional materials such as discussion questions, assessment overviews, and code tracing to enhance teaching
Requires educators to have a background in programming and teaching

Save this course

Save Learn to Teach Java: Inheritance and Recursion to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn to Teach Java: Inheritance and Recursion with these activities:
Watch Java tutorials on YouTube
Watch Java tutorials on YouTube to learn more about the language and its concepts.
Browse courses on Java
Show steps
  • Search for Java tutorials on YouTube
  • Watch the tutorials at your own pace
Read Head First Java
Read a book on Java programming to supplement your learning.
Show steps
  • Purchase or borrow a copy of Head First Java
  • Read the book at your own pace
Join a study group for Java programming
Join a study group to learn from your peers and collaborate on Java programming projects.
Show steps
  • Find a study group for Java programming
  • Attend the study group meetings
  • Participate in discussions and activities
Five other activities
Expand to see all activities and additional details
Show all eight activities
Practice Java coding exercises
Practice coding exercises to strengthen your understanding of Java concepts.
Browse courses on Inheritance
Show steps
  • Find Java coding exercises online or in textbooks
  • Solve the exercises самостоятельно
Mentor another Java programming student
Mentor another Java programming student to help them learn and grow.
Show steps
  • Find a Java programming student who needs mentoring
  • Meet with the student regularly
  • Provide guidance and support
Attend a workshop on Java programming
Attend a workshop to learn more about Java programming and get hands-on practice.
Browse courses on Java
Show steps
  • Research and find a Java programming workshop
  • Register for the workshop
  • Attend the workshop
Create a Java programming blog
Create a blog to share your knowledge of Java programming and to help others learn.
Browse courses on Java
Show steps
  • Choose a blogging platform
  • Create a blog
  • Write and publish blog posts about Java programming
Contribute to an open-source Java project
Contribute to an open-source Java project to gain experience and learn from others.
Browse courses on Java
Show steps
  • Find an open-source Java project to contribute to
  • Read the project documentation
  • Make a contribution to the project

Career center

Learners who complete Learn to Teach Java: Inheritance and Recursion will develop knowledge and skills that may be useful to these careers:
Java Developer
This course will provide you with the skills and knowledge needed to be a successful Java Developer. You will learn how to use Java to design, develop, and maintain software applications. Upon completion of this course, you will be confident in your ability to write Java code and will be able to hit the ground running in a Java Developer role.
Software Developer
A Software Developer is responsible for designing, coding, maintaining, and improving software applications. This course teaches you the fundamentals of Java programming, which is one of the most widely used programming languages in the world. By mastering Java, you will gain the skills necessary to develop complex software applications that meet the needs of businesses and organizations.
Software Engineer
A Software Engineer designs, develops, tests, and maintains software applications. They use their knowledge of programming languages, software development tools, and software engineering principles to create software that meets the needs of users. This course will provide you with a strong foundation in Java programming, which is essential for Software Engineers. You will learn how to use Java to write code that is efficient, reliable, and secure.
Computer Programmer
Computer Programmers write, test, and maintain the software that powers our world. Whether it's designing websites, developing mobile apps, or creating video games, Computer Programmers play a critical role in the digital age. This course will teach you the fundamentals of Java programming, one of the most popular programming languages used by Computer Programmers. With Java, you can create a wide range of software applications, from simple scripts to complex enterprise systems.
Mobile Developer
Mobile Developers design, create, and maintain mobile applications. They use their knowledge of programming languages, mobile development tools, and mobile operating systems to create apps that are user-friendly, visually appealing, and functional. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Mobile Developers. With Java, you can create native mobile apps for Android and iOS.
Web Developer
Web Developers design, create, and maintain websites. They use their knowledge of programming languages, web development tools, and web design principles to create websites that are user-friendly, visually appealing, and functional. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Web Developers. With Java, you can create dynamic and interactive web pages that provide a great user experience.
Cloud Architect
Cloud Architects design, build, and manage cloud computing solutions. They use their knowledge of cloud computing platforms, programming languages, and software engineering principles to create cloud solutions that are scalable, reliable, and secure. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Cloud Architects. With Java, you can write code that can be deployed to the cloud.
DevOps Engineer
DevOps Engineers work to bridge the gap between development and operations teams. They use their knowledge of programming languages, software development tools, and operations tools to create processes that automate the software development and deployment process. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by DevOps Engineers. With Java, you can write code that can be integrated into DevOps pipelines.
Data Scientist
Data Scientists use their knowledge of statistics, machine learning, and programming to extract insights from data. They use these insights to help businesses make better decisions, improve products, and increase profits. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Data Scientists. With Java, you can write code that can process and analyze large datasets.
Business Analyst
Business Analysts work with businesses to understand their needs and develop solutions that meet those needs. They use their knowledge of business analysis techniques, programming languages, and software development tools to create solutions that improve business processes. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Business Analysts. With Java, you can write code that can be used to create and maintain business applications.
Systems Analyst
Systems Analysts analyze and design computer systems. They use their knowledge of programming languages, systems analysis tools, and business processes to create systems that meet the needs of businesses and organizations. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Systems Analysts. With Java, you can write code that can be used to create and maintain complex computer systems.
Machine Learning Engineer
Machine Learning Engineers design, develop, and deploy machine learning models. They use their knowledge of machine learning algorithms, programming languages, and cloud computing platforms to create models that can solve complex problems. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Machine Learning Engineers. With Java, you can write code that can train and deploy machine learning models.
Quality Assurance Tester
Quality Assurance Testers test software applications to ensure that they meet the requirements of the users. They use their knowledge of programming languages, testing tools, and quality assurance methodologies to find and fix bugs in software applications. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Quality Assurance Testers. With Java, you can write code that can be used to automate testing processes and improve software quality.
Technical Writer
Technical Writers create documentation for software and hardware products. They use their knowledge of programming languages, technical writing tools, and user experience design principles to create documentation that is clear, concise, and easy to understand. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Technical Writers. With Java, you can write code examples and technical documentation that is accurate and informative.
Project Manager
Project Managers plan, execute, and close projects. They use their knowledge of project management methodologies, programming languages, and software development tools to manage projects that deliver successful outcomes. This course will teach you the fundamentals of Java programming, which is one of the most popular programming languages used by Project Managers. With Java, you can write code that can be used to track project progress, manage resources, and communicate with stakeholders.

Reading list

We've selected 16 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn to Teach Java: Inheritance and Recursion.
Thinking in Java comprehensive guide to Java programming, covering advanced topics such as concurrency, generics, and design patterns. It popular textbook for advanced Java courses and would be a valuable resource for students who want to learn more about the language.
Algorithms comprehensive guide to algorithms, covering topics such as sorting, searching, and graph algorithms. It valuable resource for students who want to learn more about the design and analysis of algorithms.
The Art of Computer Programming comprehensive guide to computer science, covering topics such as algorithms, data structures, and programming languages. It valuable resource for students who want to learn more about the foundations of computer science.
Java Concurrency in Practice comprehensive guide to concurrency in Java, covering topics such as thread safety, synchronization, and performance tuning. It valuable resource for students who want to learn how to write concurrent Java code.
Modern Java in Action guide to modern Java development, covering topics such as Java 8, lambdas, and streams. It valuable resource for students who want to learn how to use the latest features of Java.
Java Performance Tuning guide to performance tuning Java applications, covering topics such as profiling, memory management, and garbage collection. It valuable resource for students who want to learn how to write high-performance Java code.
Clean Code guide to writing clean and maintainable code, covering topics such as code readability, unit testing, and refactoring. It valuable resource for students who want to learn how to write professional-quality Java code.
Code Complete comprehensive guide to software development, covering topics such as software design, testing, and project management. It valuable resource for students who want to learn how to write high-quality software.
Java: The Complete Reference comprehensive guide to Java programming, covering topics such as object-oriented programming, data structures, and algorithms. It popular reference for Java developers and would be a valuable resource for students taking this course.
Effective Java guide to writing better Java code, covering topics such as code reuse, performance tuning, and error handling. It valuable resource for students who want to learn how to write professional-quality Java code.
Head First Design Patterns comprehensive guide to design patterns, which are reusable solutions to common programming problems. It valuable resource for students who want to learn how to write more effective and maintainable Java code.
Head First Java provides a comprehensive introduction to Java programming, covering topics such as object-oriented programming, data structures, and algorithms. It popular textbook for introductory Java courses and would be a valuable resource for students taking this course.
Introduction to Java Programming comprehensive guide to Java programming, covering topics such as object-oriented programming, data structures, and algorithms. It popular textbook for introductory Java courses and would be a valuable resource for students taking this course.
Java for Absolute Beginners beginner-friendly guide to Java programming, covering the basics of the language and how to use it to create simple programs. It would be a good resource for students who are new to Java.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Learn to Teach Java: Inheritance and Recursion.
Learn to Teach Java: Sequences, Primitive Types and...
Most relevant
Learn to Teach Java: Boolean Expressions, If Statements...
Most relevant
Learn to Teach Java: ArrayLists and 2D Arrays
Most relevant
Learn to Teach Java: Writing Classes and Arrays
Most relevant
Process Student Details using Inheritance in Java
The Java Language
101: Introduction to Computer Science
Decoding AP Computer Science A
1Z0-071 Oracle SQL Developer: Certified Associate...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser