## Learning Outcomes

At the end of this lesson, you’ll be able to:

- Define
**algorithm**, define**data structure**. - Distinguish between
**data type**and**data structure**. - Identify parts of a Java class.
- Identify selected
__object-oriented concepts__in action:*Class*,*Object*,*Encapsulation*,*Abstraction*, etc. - Understand
**linear and binary search**well enough to implement them. - Differentiate between the
**best-case**and the**worst-case**scenarios for linear and binary search**runtime**. - Recognize the speed difference between linear search and binary search.
- Differentiate when binary search can be used vs. when linear search can be used.
- Recognize the overall goals/content of the course and associated logistics.

## Lecture Plan

In this lecture, we'll cover the following lessons:

- The Student class: Parts of the Java Class⚡
- The Student class: Object-Oriented Terminology⚡
- The Roster class: Composite Data Types
- The find method: Linear Search⚡
- Linear Search: The Algorithm!⚡
- Binary Search: A more efficient strategy!
- Binary Search: Implementation⚡
- Binary Search: Runtime
- Binary Search: Exercise⚡
- The Roster class: How to organize data?⚡
- The Roster class: Roster is a data structure!
- Data Structures: What we will learn in this course!

Lessons marked with ⚡ contain exercise/activity.