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 OpenStreetMapSome 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()`