© 2021 DataCamp, Inc.
⚠️This version of Waffles Design System is no longer maintained, and was deprecated at the end of 2022. It's main repository is archived. Please migrate your app to the New Waffles.


Course Naming

General guidelines on how to name a course.

General guidelines for all course names


Course names should describe the core topic of the course. They should be intuitive for the intended audience and use real words (not made up). Optimize for SEO.


Course names should not overlap/conflict with other course names.


Course names need to endure beyond the current hype cycle (i.e. not just a trending term).


Limit course names to 40 characters for course names (paid ads cut off text past that limit). The shorter the better for SEO (noting that “with pandas” or “in Python” helps SEO).


Commonly used abbreviations are okay to use (e.g. IDE). When in doubt, spell out terms in the course description.

  • ✅ Introduction
  • ❌ Intro.


Check ampersands section in Grammar & Punctuation guide.


Course names and chapter titles should be written in title case: Capitalize the first letter of all words in a course name and chapter title except “stop words,” such as articles and prepositions. Examples of stop words in English include: a, all, and, for, each, how, in, with.

Exercise names and slide titles should be written in sentence case: Only capitalize the first word of the exercise name or title and any proper nouns.

Case studies

Generally we avoid using this in titles because almost all of our courses use real-world data. Use this sparingly and only when it truly is a case study. If you do use it, make sure it’s formatted correctly at the beginning of the title:

  • ✅ Case Study: [Name of individual case study]
  • ✅ Case Studies: [Name of case studies]
  • ✅ Case Study: [Name of case study] with [topic / package] in [technology]
  • ❌ Exploratory Data Analysis in R: Case Study
  • ❌ Manipulating Time Series Data in R: Case Studies

Coding languages, packages and libraries

See Coding languages and Coding packages and libraries.

DataFrames, data.frame, data frames

See DataFrames, data.frame, data frames.


See Dataset.


Currently a recommendation, not a strict rule:

Only include the domain (e.g. HR, marketing) in a course name when necessary for clarity. Prioritize outcomes and learning objectives over domains.

For example, “HR Analytics in Python: Predicting Employee Churn” does not need to include “HR.” The domain is clearly understood based on the rest of the course name.

Alternatively, “Marketing Analytics in R: Choice Modeling” benefits from including the domain “marketing” for learners who are not familiar with choice modeling.

Parallel courses

As much as possible, we try to use parallel course names for equivalent courses in multiple languages. However, this rule should only be applied if the content of both courses is relatively comparable. In the case that the content of the courses differs significantly, the course names can be different for the sake of clarity and accuracy.

  • ✅ Introduction to Portfolio Analysis in Python
  • ✅ Introduction to Portfolio Analysis in R

Proficiency levels

Levels should only be used in course names when it makes the course content clearer and/or more accurate for learners, but it is not required. For introductory courses, always use “Introduction to” in the course name. Avoid using “fundamentals,” “basics,” “foundations,” or “beginner.” “Intermediate” can be used if there are prerequisites to the course. Levels should be primarily determined by the content within the course and in relation to introductory or more advanced courses on related topics. Levels in course names should not be changed solely on the basis of where they are placed in tracks since this can differ from track to track.

  • For introductory courses, use the following construction: “Introduction to [course topic]
  • Do not use alternative words such as “foundation(s),” “fundamentals,” or “basics.”
    • ✅ Introduction to Inference, Introduction to Spreadsheets
    • ❌ Foundations of Inference, Big Data Fundamentals


Do not use Oxford commas in course names.

Do not use ampersands in course names.

Sequential course titles

We do not include “Part 1” or “Part 2” in course titles as this will cause continuity issues.

Technologies, coding languages and packages

We generally only add the technology when the package could be used for more than one language (ie. “Interactive Data Visualization with Plotly in R / Python”).

Track and course names should reflect the following construction: “with” a package, “in” a technology.

  • ✅ With pandas in Python
  • ✅ With ggplot2 in R

For consistency, lean in favor of course names ending with “in [language]” or “with [package]”.

  • ✅ “Exploratory Data Analysis in SQL” is preferred over “SQL for Exploratory Data Analysis”.

We do not make plays on words or puns with technology in titles.

  • ❌ “The tidy way” or the “the tidy approach”
  • ✅ “Introduction to the Tidyverse” and course names that include “in the Tidyverse” are acceptable when speaking generally about the Tidyverse

Verbs in course and track titles

Verbs can be used at the beginning of a course name when it makes the course content clearer and/or more accurate for learners, and when an alternative option removing the verb is a less succinct and less accurate reflection of the content in the course. Verbs should not be used at the beginning of a course name when it is not necessary, overly broad, or when an alternative option adequately describes the course content.

Examples of appropriate usage of a verb at the beginning of a course name:

  • ✅ Cleaning Data in R
  • ✅ Manipulating Time Series Data in Python
  • ✅ Merging DataFrames with pandas
  • ✅ Optimizing R Code with Rcpp

Examples of unnecessary usage of a verb at the beginning of a course name (these are not actual course names) and the correct counterparts:

  • ❌ Understanding Pivot Tables in Spreadsheets
  • ✅ Pivot Tables in Spreadsheets
  • ❌ Learning How to Clean Data in R
  • ✅ Cleaning Data in R