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

Advanced Data Structures in Java (Coursera) Coursera
University of California, San Diego

Advanced Data Structures in Java (Coursera)

How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners? To solve such problems, we first represent the key pieces of data in a complex data structure. In this course, you’ll learn about data structures, like graphs, that are fundamental for working with structured real world data.

Jun 8th 2026
5-12 Weeks
Parallel Programming in Java (Coursera) Coursera
Rice University

Parallel Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism.

Jun 8th 2026
4 Weeks
Introduction to Programming with MATLAB (Coursera) Coursera
Vanderbilt University

Introduction to Programming with MATLAB (Coursera)

This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers.

Jun 8th 2026
5-12 Weeks
Object-Oriented Hierarchies in Java (Coursera) Coursera
LearnQuest

Object-Oriented Hierarchies in Java (Coursera)

Object-Oriented Hierarchies in Java is the third of a series of courses in the Core Java Specialization. The Core Java Specialization is part of a series of programming specializations, derived from LearnQuest's private Java Bootcamps, designed to provide the skill set necessary to be hired as an IT developer using Java in many corporate environments.

Jun 8th 2026
5-12 Weeks
Introducción a Java (Coursera) Coursera
Universidad Nacional Autónoma de México

Introducción a Java (Coursera)

Me llamo Elisa Viso y una de mis pasiones es la de programar y enseñar a programar. El lenguaje Java es uno de los que más me ha gustado en mis 45 años que llevo programando. Si bien te podrá parecer un poco complicado empezar a programar en Java, una vez que cubras los conceptos básicos verás qué rápido se avanza. Java, como todos los lenguajes de programación bien hechos, te dejan hacer cualquier cosa (algunas de ellas con más trabajo que en otros lenguajes y otras casi directamente de cómo piensas la solución al problema).

Jun 8th 2026
5-12 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.

Jun 8th 2026
5-12 Weeks
Functional Programming Principles in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Programming Principles in Scala (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.

Jun 8th 2026
5-12 Weeks
Writing Java Application Code (Coursera) Coursera
LearnQuest

Writing Java Application Code (Coursera)

This is the third course in a Specialization titled Java as a Second Language. This course presents instruction to IT professionals for developing Java applications. The material targets professional that are familiar with application programming, but do not have strong Java skills. The type of Java applications focus on: Console based Java applications, Java windows applications, and Java web and mobile applications. This course presents material on developing real applications, and includes hands-on application development labs. Learners will gain strong Java application development skills.

Jun 8th 2026
4 Weeks
Exploiting and Securing Vulnerabilities in Java Applications (Coursera) Coursera
University of California, Davis

Exploiting and Securing Vulnerabilities in Java Applications (Coursera)

In this course, we will wear many hats. With our Attacker Hats on, we will exploit Injection issues that allow us to steal data, exploit Cross Site Scripting issues to compromise a users browser, break authentication to gain access to data and functionality reserved for the ‘Admins’, and even exploit vulnerable components to run our code on a remote server and access some secrets.

Jun 8th 2026
4 Weeks
Inheritance and Data Structures in Java (Coursera) Coursera
University of Pennsylvania

Inheritance and Data Structures in Java (Coursera)

This course provides a comprehensive look at Java inheritance, including access modifiers and overriding methods. Students are introduced to abstract classes, and will learn how to read and write to files, use regular expressions for parsing text, and how to leverage complex data structures like collections and maps. Additionally, this course offers strategies for catching errors and debugging code, including an overview of Eclipse’s debugging tool.

Jun 8th 2026
4 Weeks