Your script is one of the most critical aspects of your course. Your script will help students learn a new concept, and it will be the closest form of contact they get with you as an instructor. It is vital to ensure that your scripts are clear, concise, and engaging. Read on for some tips on how to write effective scripts for your video exercises. To find tips on formatting your (tran)script, go here.

How long should the script be?

300 to 400 words is best, and there is an upper limit of 600 words. Most people speak at around 100 to 120 words per minute.

Provide motivation

In the rush to cut down the number of words, you may be tempted to stick to plain facts. This risk is that you end up with a really boring video. Try to save some space to motivate what problem you are trying to solve.

Tell a story

People are evolutionarily wired to remember stories. They are also more fun to listen to than plain facts. Try to work a narrative into the script.

Use the ADEPT pattern

ADEPT is a useful pattern for structuring explanations of technical concepts. The steps are as follows.

  1. Use an Analogy.
  2. Draw a Diagram.
  3. Provide a concrete Example.
  4. Describe it in Plain English.
  5. Provide a Technical definition.

Too many tongue twisters

You have to speak the script out loud, all the way through, preferably in one or two takes. For your own sake, try to limit the number of words with seven syllables.

Explaining everything

Unlike the coding and multiple choice exercises that students can take at their own pace, video exercises run at a fixed speed, so they have to be understandable in real-time. (You can't assume that students will watch videos multiple times.) This means that they need to be kept fairly simple.

Being too formal

When you write the script, it is easy to slip into a "technical writing voice" that is more formal than your spoken voice. Then when you come to say the words out loud, it can come across as unnatural. Try saying your script out loud to another person (or a rubber duck, if no-one is available).

Using local phrases without explanation

If you are a native English speaker, you need to bear in mind that the DataCamp audience is international, and that many students will not understand slang phrases or idioms without explanation. If you want to say "red herring," you need to explain that term.

Keep it timeless

Some things in courses are subject to change (e.g., our marketing team may want to change the course title to improve SEO). Given this, if we allow instructors to say their course title (and other course titles), we would need to re-record those specific lessons each time a change is implemented. This is not ideal, and for this purpose, the following should not be included in your course:

  • Course titles (yours and others)
  • Job titles
  • Current package versions (these change fast)
  • References to memes/niche pop culture (these age fast)
  • Mentions of projects you're currently working on (you will finish it!)

Proper adjectives

Adjectives that stem from proper nouns, such as Gaussian, Boolean, Euclidean, etc., are called proper adjectives and should be capitalized. However, if you are discussing a “bool” object type, this can be lowercase, as that’s how it’s rendered in Python.


From Putting stringr together in "String Manipulation in R with stringr." This gradually builds up the code to generate the lyrics to the song "Old MacDonald had a farm." The novelty value (including a singing instructor) and use of pop culture make it highly memorable. The way that a complex output is generated from the repeated use of a single, simple function is also rather powerful.

From Tidying Shakespearean Plays in "Sentiment Analysis: The Tidy Way." This has an attention seeking opener (quoting Shakespeare; that dress) to get students engaged.

From What is code profiling in "Writing Efficient R Code." As well as having the instructor dressed up to match the dataset being discussed, this also makes good use of images and screenshots in the accompanying slides.

Did this answer your question?