The course outline describes the flow of the course on a lesson by lesson basis. For this step of course design, you need to provide the title of each chapter, the title of each lesson, and a brief description of each lesson's contents by including a learning objective and a short list of the functions that the lesson will cover. Each of the functions covered in a lesson should help achieve the learning objective. When writing your course outline remember that a course has four chapters and each chapter has 3-4 lessons. Chapter 1 is limited to 3 lessons. Review the example below to get an idea of a good course outline with a clear course flow.

#### Example

From a course on interactive mapping using the `leaflet`

package in `R`

.

## Chapter 1 - Setting Up Interactive Web Maps

#### Lesson 1.1 - Introduction to leaflet

- A learning objective: Create a basic interactive web map in R using the
`leaflet`

and`htmlwidgets`

packages. - Some functions introduced/used:
`leaflet()`

,`addTiles()`

,`%>%`

#### Lesson 1.2 - Working with Map tiles

- A learning objective: Tweak the base map in
`leaflet`

using provider tiles, such as those on OpenStreetMap - Some functions introduced/used:
`stringr::str_detect()`

,`addProviderTiles()`

#### Lesson 1.3 - Setting the Default Map View

- A learning objective: Create a default map by centering on a certain location, setting a default zoom level, and adding markers or pins to your map.
- Some functions introduced/used:
`setView()`

,`addMarkers()`

,`addTiles()`

## Chapter 2 - Plotting Points

#### Lesson 2.1 - Introduction to IPEDS Data

- A learning objective: Clean up a map to restore the default view. Create a map step-by-step to gain a better understanding of how your data will dictate the map you create.
- Some functions introduced/used:
`clearMarkers()`

,`clearBounds()`

,`count()`

,`arrange()`

#### Lesson 2.2 - Mapping California Colleges

- A learning objective: Pan and plot a point on a map using the IPEDS case study.
- Some functions introduced/used:
`addMarkers()`

,`clearMarkers()`

,`clearBounds()`

,

#### Lesson 2.3 - Labels and Pop-ups

- A learning objective: Center, zoom in, and plot points on the IPEDS map.
- Some functions introduced/used:
`addTiles()`

,`addCircleMarkers()`

#### Lesson 2.4 - Color Coding Colleges

- A learning objective: Enhance the appearance of the IPEDS map by changing the color palette of the markers and adding a map legend.
- Some functions introduced/used:
`addCircleMarkers()`

,`addLegend()`

## Chapter 3 - Groups, Layers, and Extras

#### Lesson 3.1 - The Leaflet Extras Package

- A learning objective: Add search capabilities to your map! Find a location by typing it in a search bar, plus find the name of a location by clicking on a point in your map.
- Some functions introduced/used:
`addSearchOSM()`

,`addReverseSearchOSM()`

,`addCircleMarkers()`

#### Lesson 3.2 - Overlay Groups

- A learning objective: Clarify how your data is distributed by adding toggles to group data on your map.
- Some functions introduced/used:
`dplyr::filter()`

,`addLayersControl()`

#### Lesson 3.3 - Base Groups

- A learning objective: Give your user control over their view by adding toggles between base maps.
- Some functions introduced/used:
`addTiles()`

,`addProviderTiles()`

,`addLayersControl()`

,`setView()`

#### Lesson 3.4 - Pieces of Flair

- A learning objective: Create an advanced and searchable map using special features like clustering.
- Some functions introduced/used:
`addSearchFeatures()`

,`addCircleMarkers()`

## Chapter 4 - Plotting Polygons

#### Lesson 4.1 - Spatial Data

- A learning objective: Define your map boundaries by performing a spatial join.
- Some functions introduced/used:
`class()`

,`slotNames()`

,`glimpse()`

,`left_join()`

#### Lesson 4.2 - Mapping Polygons

- A learning objective: Perform exploratory data analysis using polygons to examine data missingness.
- Some functions introduced/used:
`addPolygons()`

,`addTiles()`

,`base::summary()`

#### Lesson 4.3 - Putting it All Together

- A learning objective: Use interactive web maps to explore and understand the properties of data.
- Some functions introduced/used:
`slotNames()`

,`base::summary()`

,`addPolygons()`