Java Class Library (Coursera)

Offered by LearnQuest,
Java Class Library (Coursera)

Java Class Library is the fourth and final course in the Core Java Specialization. After completing this course, you will be able to write reusable code that remains type-safe using Java Generics, work with collections of objects, work with files, handle runtime errors, and generally be prepared to move on to learning to use Java frameworks such as Spring Boot and Jakarta EE.

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

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.
There are over 4200 classes in the Java 8 class library, with 100s of new ones compared to prior versions of Java. In this course, we will cover additional language features that enable the class library, essential library areas, and provide roadmaps to areas for self-exploration.
To be successful in this course, you should have taken:

Course 3 of 4 in the Core Java Specialization

Syllabus

WEEK 1
Course Overview
This module provides an overview of the Core Java - Java Class Library course. There are over 4200 classes in the Java 8 class library, with hundreds of new ones compared to prior versions of Java. In this course, we will cover additional language features that enable the class library, essential library areas, and provide roadmaps to areas for self-exploration.
Java Generics
In this module, we will learn about a major Java feature, Generics (known as template or parameterized types in some other languages), introduced in Java 5. Generics are a key tool in ensuring type safety.

WEEK 2
Java Collections
In this module, we'll talk about the Java Collection classes, which were introduced in Java 5 and have been expanded upon in Java 8 with the introduction of Java Streams (java.util.stream) technology. Collections give us much more power and capability for managing collections of data than the simple, linear, arrays we have used up to this point in the curricula.

WEEK 3
Exception Handling
Different programming models handle error conditions in different ways. Some, for example, require programmers to check error codes after every function call.
Java, learning from other environments such as C++, takes a different approach known as exception handling. In this module, you will learn how Java deals with exceptions, and learn to both handle and -- when necessary -- create exceptions.

WEEK 4
Input and Output
Java has rich Input and Output (I/O) capabilities, which have evolved constantly over the years. Java can handle network I/O, file I/O; blocking and non-blocking I/O and more. In this module we will look at an overview of I/O, and focus mostly on simple text I/O using files. We will also take a brief look at the extensive improvements made to I/O in Java 7 and Java 8, with readings to provide additional information.

WEEK 5
Enums
Java Enums provide us with the ability to create a fixed set of constant values. They are objects, so they can have methods and properties, but they are a fixed, constant, set, nonetheless. The simplest ones might merely be something like the suits of a deck of cards, but we'll take a more complete look at their capabilities, and how you might use them.

WEEK 6
Annotations
Annotations are a way of attaching meta-data to Java code. Added in Java 5, this passive meta-data facility might not seem important at first, but is the key to how modern Java frameworks work. Spring, Spring Boot, Spring Cloud, NetFlix OSS, Java Persistence Architecture, Jakarta EE (née Java EE) containers, JAX-WS, JAX-RS, and so many others.
In this module, we will look at the Java Annotations technology, look at existing annotations, and -- in the lab -- create a custom annotation, and write code to see that annotation at run-time. This means that you will not only have the ability to use annotations, but also have at least the rudiments necessary to write and process your own annotations, such you have the need.

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

Related Courses

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.

Oct 12th 2026
4 Weeks
Pointers, Arrays, and Recursion (Coursera) Coursera
Duke University

Pointers, Arrays, and Recursion (Coursera)

The third course in the specialization Introduction to Programming in C introduces the programming constructs pointers, arrays, and recursion. Pointers provide control and flexibility when programming in C by giving you a way to refer to the location of other data. Arrays provide a way to bundle data by guaranteeing sequences of data are grouped together. Finally, recursive functions—functions that call themselves—provide an alternative to iteration that are very useful for implementing certain algorithms.

Oct 12th 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.

Oct 19th 2026
5-12 Weeks
Concurrent Programming in Java (Coursera) Coursera
Rice University

Concurrent Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability).

Oct 12th 2026
4 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.

Oct 12th 2026
5-12 Weeks
Data Structures in C (Coursera) Coursera
University of Michigan

Data Structures in C (Coursera)

Covering dynamic memory allocation for optimizing memory utilization, Data Structures in C explores ways to handle multiple variables collectively. In this course, you’ll delve into the central concept of pointers for managing the storage and retrieval of memory. Explore and understand structures, a C-specific user-defined data type combining assorted data items.

Oct 12th 2026
4 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Oct 12th 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.

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

Oct 26th 2026
5-12 Weeks
Introduction to Java as a Second Language (Coursera) Coursera
LearnQuest

Introduction to Java as a Second Language (Coursera)

This course is meant to be an introduction to Java as a second language, if you are familiar with any computer programming language. It could be shell scripting, knowledge of older Java versions, JavaScript, etc. This course will allow you to quickly pick up the Java programming language. You will learn Java Object Orientation, and see the parallels with other programming paradigms. This is course 1 of a 3 course Specialization titled Java as a Second Language. It assumes that you know some programming and want to transfer that knowledge into learning Java.

Oct 12th 2026
2 Weeks