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.


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()¬†

Did this answer your question?