Learn to Teach Java: Writing Classes and Arrays (Coursera)

Learn to Teach Java: Writing Classes and Arrays (Coursera)

Learn to program using Class design and 1-D Arrays 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 critical Java concepts of class design and 1-dimensional arrays, as covered in the APCS A Units 5 and 6. 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 3 of 5 in the Learn to Teach Java Specialization.

Syllabus

WEEK 1
Welcome!
Meet Dr. Simon and fellow learners in this class! Find out what you’ll be doing and learning.
Creating Classes (Unit 5): Learn as a Student
We've been using objects of classes created by others -- now it's our turn! Using CS Awesome, we'll learn to design and create classes by encapsulating data and methods.

WEEK 2
Writing Classes (Unit 5): Teacher Powerup
This week we'll go deeper and engage with some resources to support your teaching. You'll learn how these concepts are commonly assessed, but focus a LOT on how class creation can be assessed -- especially on the APCS A free response questions. Finally, you can check your own Unit 5 Java and Java Teacher mastery on our end of Unit 5 quizzes.

WEEK 3
Arrays (Unit 6): Learn as a Student
Arrays extend the power of iteration to allow us to repeat instructions on (potentially) large sets of data. Want to store and calculate grades for an entire class of students? Want to find the minimum or maximum temperature in a file of historical temperature readings? Use arrays! Using CS Awesome, we'll learn to create and iterate over 1-dimensional arrays and really start to ramp up our problem solving skills.

WEEK 4
Arrays (Unit 6): Teacher Powerup
This week we'll go deeper and engage with some resources to support your teaching. You'll explore some questions to use in classroom analysis discussions (Peer Instruction) and and learn how these concepts are commonly assessed. Again, we'll look at the kinds of free response questions one can ask about arrays! Finally, you can check your own Unit 6 Java and Java Teacher mastery on our end of Unit 6 quizzes.

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

Related Courses

Introduction To Swift Programming (Coursera) Coursera
University of Toronto

Introduction To Swift Programming (Coursera)

Introduction to Swift Programming is the first course in a four part specialization series that will provide you with the tools and skills necessary to develop an iOS App from scratch. By the end of this first course you will be able to demonstrate intermediate application of programming in Swift, the powerful new programming language for iOS. Guided by best practices you will become proficient with syntax, object oriented principles, memory management, functional concepts and more in programming with Swift.

Nov 16th 2026
5-12 Weeks
Computer Vision Basics (Coursera) Coursera
University at Buffalo,The State University of New York

Computer Vision Basics (Coursera)

By the end of this course, learners will understand what computer vision is, as well as its mission of making computers see and interpret the world as humans do, by learning core concepts of the field and receiving an introduction to human vision capabilities. They are equipped to identify some key application areas of computer vision and understand the digital imaging process. The course covers crucial elements that enable computer vision: digital signal processing, neuroscience and artificial intelligence.

Nov 16th 2026
4 Weeks
Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Nov 16th 2026
5-12 Weeks
Introduction à la programmation orientée objet (en Java) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en Java) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en Java) ».

Dec 6th 2026
5-12 Weeks
Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO). Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Nov 16th 2026
5-12 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.

Nov 30th 2026
4 Weeks
Java Object Basics: Functions, Recursion, and Objects (Coursera) Coursera
Codio

Java Object Basics: Functions, Recursion, and Objects (Coursera)

Code and run your first Java program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just Java, but core Computer Science topics that can be transferred to other languages. The modules in this course cover functions, recursion, objects, and mutability. Completion of the prior 2 courses in this specialization are recommended.

Nov 16th 2026
4 Weeks
Orientação a Objetos com Java (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Orientação a Objetos com Java (Coursera)

Neste curso, assumimos que você já sabe desenvolver programas pequenos em Java, mas você talvez não se sinta ainda confortável em projetar programas mais complexos com método e organização. O objetivo deste curso é fazer você compreender os princípios de orientação a objetos por meio da linguagem Java e saber como eficientemente aplicar esses princípios na prática quando projetando e desenvolvendo software de maneira ágil. Os conceitos discutidos e experimentados por você neste curso serão a base para você poder compreender os novos conceitos apresentados nos cursos seguintes desta especialização.

Nov 23rd 2026
5-12 Weeks
Foundations of Computer Science (Coursera) Coursera
LearnQuest

Foundations of Computer Science (Coursera)

Welcome to Introduction to Programming: Visual Basic. In the course sequence you will learn to write programs that utilize both procedural and object oriented techniques to solve business problems. In the first course in the sequence we will provide you with a solid foundation in the computer science topics that are important to understand when programming Visual Basic. In courses two through four, we will role up our sleeves and start coding in Visual Basic. In these courses you need to have access to a computer that is running Windows, macOS or Linux with the .NET 5 installed. We will show you how to install .NET 5.

Nov 16th 2026
4 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Nov 23rd 2026
5-12 Weeks
Advanced Topics in Derivative Pricing (Coursera) Coursera
Columbia University

Advanced Topics in Derivative Pricing (Coursera)

This course discusses topics in derivative pricing. The first module is designed to understand the Black-Scholes model and utilize it to derive Greeks, which measures the sensitivity of option value to variables such as underlying asset price, volatility, and time to maturity. Greeks are important in risk management and hedging and often used to measure portfolio value change. Then we will analyze risk management of derivatives portfolios from two perspectives—Greeks approach and scenario analysis.

Nov 16th 2026
5-12 Weeks