Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wowchemy/starter-academic.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Cushen <gcushen@users.noreply.github.com>2021-01-24 22:56:32 +0300
committerGeorge Cushen <gcushen@users.noreply.github.com>2021-01-24 22:56:32 +0300
commitf39774e9814c6e1ab830b570ea1d6eca1c014504 (patch)
treeee193f3e4c1c6567ed625d155ec3a63f436d57a5 /exampleSite
parent52d95d75745808de3f5f067948309ae5f9c53e22 (diff)
feat: add a more practical example course
Diffstat (limited to 'exampleSite')
-rw-r--r--exampleSite/config/_default/menus.toml2
-rw-r--r--exampleSite/config/_default/params.toml4
-rw-r--r--exampleSite/content/courses/_index.md4
-rw-r--r--exampleSite/content/courses/example/_index.md71
-rw-r--r--exampleSite/content/courses/example/example1.md42
-rw-r--r--exampleSite/content/courses/example/example2.md42
-rw-r--r--exampleSite/content/courses/example/intro.jpgbin0 -> 1602413 bytes
-rw-r--r--exampleSite/content/courses/example/python.md36
-rw-r--r--exampleSite/content/courses/example/stats.md33
-rw-r--r--exampleSite/content/courses/example/visualization.md32
10 files changed, 131 insertions, 135 deletions
diff --git a/exampleSite/config/_default/menus.toml b/exampleSite/config/_default/menus.toml
index 9351a287..e090a91f 100644
--- a/exampleSite/config/_default/menus.toml
+++ b/exampleSite/config/_default/menus.toml
@@ -5,7 +5,7 @@
[[main]]
name = "Demo"
- url = "#hero"
+ url = "#about"
weight = 10
[[main]]
diff --git a/exampleSite/config/_default/params.toml b/exampleSite/config/_default/params.toml
index f8ae574a..e5c0719d 100644
--- a/exampleSite/config/_default/params.toml
+++ b/exampleSite/config/_default/params.toml
@@ -56,8 +56,8 @@ description = ""
# Enable source code highlighting? true/false
# Documentation: https://wowchemy.com/docs/writing-markdown-latex/#highlighting-options
-highlight = false
-highlight_languages = ["r", "latex"] # Add support for highlighting additional languages
+highlight = true
+highlight_languages = ["r", "python", "latex"] # Add support for highlighting additional languages
# highlight_style = "github" # For supported styles, see https://cdnjs.com/libraries/highlight.js/
# Enable LaTeX math rendering? true/false
diff --git a/exampleSite/content/courses/_index.md b/exampleSite/content/courses/_index.md
index 1b23e8ed..975f3b04 100644
--- a/exampleSite/content/courses/_index.md
+++ b/exampleSite/content/courses/_index.md
@@ -1,10 +1,10 @@
---
title: Courses
-layout: docs # Do not modify.
+type: page
-# Optional header image (relative to `static/media/` folder).
header:
caption: ""
image: ""
---
+I teach the following courses:
diff --git a/exampleSite/content/courses/example/_index.md b/exampleSite/content/courses/example/_index.md
index faa85886..9488d1bf 100644
--- a/exampleSite/content/courses/example/_index.md
+++ b/exampleSite/content/courses/example/_index.md
@@ -1,62 +1,41 @@
---
-# Course title, summary, and position.
-linktitle: An Example Course
-summary: Learn how to use Academic's docs layout for publishing online courses, software documentation, and tutorials.
-weight: 1
-
-# Page metadata.
-title: Overview
-date: "2018-09-09T00:00:00Z"
-lastmod: "2018-09-09T00:00:00Z"
-draft: false # Is this a draft? true/false
-toc: true # Show table of contents? true/false
-type: docs # Do not modify.
-
-# Add menu entry to sidebar.
-# - name: Declare this menu item as a parent with ID `name`.
-# - weight: Position of link in menu.
-menu:
- example:
- name: Overview
- weight: 1
+title: 📊 Learn Data Science
+linkTitle: Data Science
+summary: An example of using Wowchemy's Book layout for publishing online courses.
+date: '2021-01-24'
+type: book
---
-## Flexibility
+{{< figure src="intro.jpg" >}}
-This feature can be used for publishing content such as:
+{{< toc hide_on="xl" >}}
-* **Online courses**
-* **Project or software documentation**
-* **Tutorials**
+## What you will learn
-The `courses` folder may be renamed. For example, we can rename it to `docs` for software/project documentation or `tutorials` for creating an online course.
+- Fundamental {{<hl>}}Python programming skills{{</hl>}}
+- {{<hl>}}Statistical concepts{{</hl>}} and how to apply them in practice
+- Gain experience with the {{<hl>}}Scikit{{</hl>}}, including data visualization with {{<hl>}}Plotly{{</hl>}} and data wrangling with {{<hl>}}Pandas{{</hl>}}
-## Delete tutorials
+## Program overview
-**To remove these pages, delete the `courses` folder and see below to delete the associated menu link.**
+The demand for skilled data science practitioners is rapidly growing. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi.
-## Update site menu
+## Courses in this program
-After renaming or deleting the `courses` folder, you may wish to update any `[[main]]` menu links to it by editing your menu configuration at `config/_default/menus.toml`.
+{{< list_children >}}
-For example, if you delete this folder, you can remove the following from your menu configuration:
+## Meet your instructor
-```toml
-[[main]]
- name = "Courses"
- url = "courses/"
- weight = 50
-```
+{{< mention "admin" >}}
-Or, if you are creating a software documentation site, you can rename the `courses` folder to `docs` and update the associated *Courses* menu configuration to:
+## FAQs
-```toml
-[[main]]
- name = "Docs"
- url = "docs/"
- weight = 50
-```
+{{< spoiler text="Are there prerequisites?" >}}
+There are no prerequisites for the first course.
+{{< /spoiler >}}
-## Update the docs menu
+{{< spoiler text="How often do the courses run?" >}}
+Continuously, at your own pace.
+{{< /spoiler >}}
-If you use the *docs* layout, note that the name of the menu in the front matter should be in the form `[menu.X]` where `X` is the folder name. Hence, if you rename the `courses/example/` folder, you should also rename the menu definitions in the front matter of files within `courses/example/` from `[menu.example]` to `[menu.<NewFolderName>]`.
+{{< cta cta_text="Begin the course" cta_link="python" >}}
diff --git a/exampleSite/content/courses/example/example1.md b/exampleSite/content/courses/example/example1.md
deleted file mode 100644
index 6e403584..00000000
--- a/exampleSite/content/courses/example/example1.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Example Page 1
-linktitle: Tips 1-2
-toc: true
-type: docs
-date: "2019-05-05T00:00:00+01:00"
-draft: false
-menu:
- example:
- parent: Example Topic
- weight: 1
-
-# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`)
-weight: 1
----
-
-In this tutorial, I'll share my top 10 tips for getting started with Academic:
-
-## Tip 1
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.
-
-Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.
-
-Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.
-
-Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.
-
-Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.
-
-
-## Tip 2
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.
-
-Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.
-
-Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.
-
-Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.
-
-Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.
diff --git a/exampleSite/content/courses/example/example2.md b/exampleSite/content/courses/example/example2.md
deleted file mode 100644
index b7481d66..00000000
--- a/exampleSite/content/courses/example/example2.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Example Page 2
-linktitle: Tips 3-4
-toc: true
-type: docs
-date: "2019-05-05T00:00:00+01:00"
-draft: false
-menu:
- example:
- parent: Example Topic
- weight: 2
-
-# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`)
-weight: 2
----
-
-Here are some more tips for getting started with Academic:
-
-## Tip 3
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.
-
-Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.
-
-Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.
-
-Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.
-
-Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.
-
-
-## Tip 4
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.
-
-Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.
-
-Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.
-
-Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.
-
-Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.
diff --git a/exampleSite/content/courses/example/intro.jpg b/exampleSite/content/courses/example/intro.jpg
new file mode 100644
index 00000000..75ca7cc3
--- /dev/null
+++ b/exampleSite/content/courses/example/intro.jpg
Binary files differ
diff --git a/exampleSite/content/courses/example/python.md b/exampleSite/content/courses/example/python.md
new file mode 100644
index 00000000..8abe1062
--- /dev/null
+++ b/exampleSite/content/courses/example/python.md
@@ -0,0 +1,36 @@
+---
+title: Python basics
+date: '2021-01-01'
+type: book
+weight: 20
+---
+
+Build a foundation in Python.
+
+<!--more-->
+
+{{< icon name="clock" pack="fas" >}} 1-2 hours per week, for 8 weeks
+
+## Learn
+
+{{< youtube rfscVS0vtbw >}}
+
+## Quiz
+
+{{< spoiler text="What is the difference between lists and tuples?" >}}
+Lists
+
+- Lists are mutable - they can be changed
+- Slower than tuples
+- Syntax: `a_list = [1, 2.0, 'Hello world']`
+
+Tuples
+
+- Tuples are immutable - they can't be changed
+- Tuples are faster than lists
+- Syntax: `a_tuple = (1, 2.0, 'Hello world')`
+{{< /spoiler >}}
+
+{{< spoiler text="Is Python case-sensitive?" >}}
+Yes
+{{< /spoiler >}}
diff --git a/exampleSite/content/courses/example/stats.md b/exampleSite/content/courses/example/stats.md
new file mode 100644
index 00000000..251a5013
--- /dev/null
+++ b/exampleSite/content/courses/example/stats.md
@@ -0,0 +1,33 @@
+---
+title: Statistics
+date: '2021-01-01'
+type: book
+weight: 40
+math: true
+---
+
+Introduction to statistics for data science.
+
+<!--more-->
+
+{{< icon name="clock" pack="fas" >}} 1-2 hours per week, for 8 weeks
+
+## Learn
+
+The general form of the **normal** probability density function is:
+
+$$
+f(x) = \frac{1}{\sigma \sqrt{2\pi} } e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}
+$$
+
+{{< callout note >}}
+The parameter $\mu$ is the mean or expectation of the distribution.
+$\sigma$ is its standard deviation.
+The variance of the distribution is $\sigma^{2}$.
+{{< /callout >}}
+
+## Quiz
+
+{{< spoiler text="What is the parameter $\mu$?" >}}
+The parameter $\mu$ is the mean or expectation of the distribution.
+{{< /spoiler >}}
diff --git a/exampleSite/content/courses/example/visualization.md b/exampleSite/content/courses/example/visualization.md
new file mode 100644
index 00000000..76aa4554
--- /dev/null
+++ b/exampleSite/content/courses/example/visualization.md
@@ -0,0 +1,32 @@
+---
+title: Visualization
+date: '2021-01-01'
+type: book
+weight: 30
+highlight: true
+---
+
+Learn how to visualize data with Plotly.
+
+<!--more-->
+
+{{< icon name="clock" pack="fas" >}} 1-2 hours per week, for 8 weeks
+
+## Learn
+
+{{< youtube hSPmj7mK6ng >}}
+
+## Quiz
+
+{{< spoiler text="When is a heatmap useful?" >}}
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+{{< /spoiler >}}
+
+{{< spoiler text="Write Plotly code to render a bar chart" >}}
+```python
+import plotly.express as px
+data_canada = px.data.gapminder().query("country == 'Canada'")
+fig = px.bar(data_canada, x='year', y='pop')
+fig.show()
+```
+{{< /spoiler >}}