Title: Module 12 - Recursion and Collections
Course: COP 2551 Intro to Object Oriented Prog > Section: Module 12 - Recursion and Collections

Introduction

In this module, you will be introduced to recursion, a powerful programming technique that provides elegant solutions to certain problems. There are specific problems that can be solved using a simple recursive solution. The logic of recursion is explained and compared with iteration.
A collection in Java is like an intelligent container. The container can hold objects, whether the same type of object or not, and can add, remove, find, and order the objects it holds.  In this module, you will explore Abstract Data Types, another name for collection.

Objectives

Upon completion of this module, the student will be able to:

- Explain the underlying concepts of recursion.
- Examine recursive methods and when recursion should and should not be used.
- Explore the concepts of a collection.
- Examine the difference between fixed and dynamic implementations.
- Define and use dynamically linked lists, introduce classic linear data such as queues and stacks.
- Discuss the Java Collections API.

Readings & Resources

Chapter 12, Sections 1 – 3 Java Software Solutions: Foundations of Program Design, 8^th Ed., John Lewis and William Loftus.

Chapter 13 Java Software Solutions: Foundations of Program Design, 8^th Ed., John Lewis and William Loftus.

Assignments and Activities

- Complete the Module 12 Ungraded Activities
- Complete the Module 12 Quiz
- Submit Programming Project 7