Back to articles list Articles Cookbook
8 minutes read

Creating SQL Courses: Behind the Scenes at

Take a peek behind the scenes and learn our secret for creating great SQL courses!

Have you ever wondered how courses are created? Are we looking at a lot of hard work or just a bit of magic? Or maybe both? Here’s a hint: we rely on proven methods to create user-friendly online courses. But it’s not easy! Read on to see the 8 steps we take when creating a new SQL course.

What Is SQL?

SQL, or Structured Query Language, is used to communicate with databases. It allows you to select very specific data and build very complex reports. Today, SQL is the universal language of data; it’s used in practically all data-processing technologies.

Knowing SQL is essential for data analysts, data scientists, financial analysts, software engineers, or even managers who need to make decisions based on data.

A Quick Overview of a Course

What’s different about courses?

For one thing, they are interactive. Each exercise consists of instructions to read, a task to solve, and tips to help you solve the problem. You write your SQL code directly in your browser window. runs your solution, checks it, and gives you instant feedback. According to our users, this is the most convenient way to learn. We think so, too.

Also, offers interactive SQL courses at all levels of proficiency. We have courses for complete beginners with no experience in programming or IT. (If you’re a beginner, start with our SQL Basics course.) Intermediate users who want to refresh or deepen their SQL knowledge can learn specific techniques like Recursive Queries or take our SQL Practice track. Business professionals who need to prepare data-based reports can take our SQL Reporting track; seasoned IT professionals looking to improve their SQL toolkit should check out our Advanced SQL track.

Moreover, offers SQL courses in different SQL dialects. Read about our full SQL course offer.

So, how do we prepare our courses?

Creating an SQL Course in 8 Steps

Ok, we’ll admit it: there’s no magic involved in the preparation of our SQL courses. Not even a little bit. But we do put lots of work, inspiration, and creativity into them.

Step 1: Idea

The first step in creating a new SQL course is the idea. We are inspired by many things. The first courses were easy: we just wanted to cover the SQL standard. This is how we came up with SQL Basics, How to INSERT, UPDATE, or DELETE Data in SQL, "Window Functions" course, Recursive Queries, and GROUP BY Expressions. We knew we wanted to have a complete SQL course on our platform, and these were the topics we needed to cover.

Another source of inspiration is our users. They often suggest new course ideas in comments or emails. SQL Practice Set and SQL JOINs were created in response to our users’ need for more SQL practice opportunities. Writing User-Defined Functions in PostgreSQL was a subject frequently requested by our users; now it’s a course.

In addition to SQL courses for individual users, offers custom SQL courses for companies like Uber. Custom courses are available only to our clients’ employees, but our work with businesses often gives us ideas for new SQL courses for our individual users. We learn about new ways that companies use SQL and leverage this knowledge when preparing courses. For example, Standard SQL Functions was inspired by our work with Uber. We realized that there was an intermediate step between knowing the basics of SQL and going straight into advanced features like window functions.

Finally, our own research often gives us ideas for new courses. According to our surveys, 75% of our users are non-IT professionals who use SQL to analyze their business data. This is how we came up with the SQL Reporting track, which focuses on using SQL in various business domains.

Step 2: Plan

Once we have a general idea, we start working on the new SQL course. The first step is to prepare a detailed plan. Our goal is to make each course coherent:

  • The topics are introduced in logical order.
  • The new course complements other courses we offer.
  • There are no unnecessary topics in the course, and so on.

In the plan, we also define that course’s target audience:

  • What the users should already know.
  • What they want to learn.
  • Why they are taking the course.
  • What topics and skills we need to review during the course.

The plan contains a list of subjects we want to include in the course (and, often, also a list of things we specifically want to exclude from the course). We define the order that topics are presented and how to divide some topics into logical parts. We start with the easy subjects first and go on to more difficult matters later. This step is not as straightforward as it seems. Many SQL features, like window functions or recursive queries, are intertwined. Yet, we have split them into simple building blocks. We want to introduce each idea step by step, without overwhelming the user.

In the course plan, we also decide on the data sets we want to use in the course: how many tables there’ll be, what is the domain of the data set, and how much data we want. We try to make the data sets used in the courses interesting and realistic. Sometimes we use external data; in that case, we make sure to check the license so everything is legal.

Step 3: Writing

When the course plan is ready, we start the writing process. Each course is divided into parts. We write one at a time, though we often save the introductory part for last.

Parts of the SQL Basics course.

Each course is written by one author. This ensures that all parts of the course are consistent and have the same phrasing. The writers prepare the text of the course: the instructions, the tasks, and the solutions. Everything is carefully reviewed by our SQL experts to make sure the explanations are correct and beginner-friendly. We make sure that the tasks really verify that the user understands the new topic. Also, we set the new features in a realistic scenario so the user can more readily understand how they work.

During the writing process, we prepare actual datasets for use in the course. We also create sketches for images or animations that we plan to use in the next steps.

All the course texts are professionally edited by native English speakers to make sure there are no typos, grammar mistakes, or awkward phrases. We are perfectionists. Although ‘only those who do nothing are never wrong’, we try to fix our mistakes before we publish!

Step 4: On the Platform

The course has been written, but it’s not ready yet. Now we have to put all the moving pieces together. This means putting the course on our learning platform.

Before and after: Exercise text prepared by the author and formatted on the platform’s exercise screen

The course authors prepare the text of the course. Next, our internal team at formats this text in HTML/CSS to make it visually appealing (and visible on the platform). We highlight key parts of tasks and important instructions so the user is sure to notice them. We work with graphic designers to prepare the images you see on the platform. We also upload the data sets and write code that verifies users' solutions.

An initial sketch and a final version of the image in the Recursive Queries course

Once the preliminary version of the course is on the platform, we test it to make sure the final version meets the vision defined in the planning stage. It’s important that the flow from one exercise to another is smooth and that the user has all the information they need to continue.

If something is wrong, now’s the time to fix it. Sometimes this means rewording the instructions, adding additional exercises, or changing the order of exercises. Sometimes it means that the entire course needs to be rewritten. This was the case with our PostGIS course. The first version felt very academic and uninspiring. We decided to rewrite almost all the exercises to make them more interesting and realistic.

Step 5: Internal Testing

When we’re happy with the general shape of the course, we ask our internal testing team to test the course. We fix any issues they find (typos, correct solutions not being accepted, incorrect solutions being accepted, missing or unclear explanations, etc.).

The course is almost ready.

Step 6: Final Proofreading

After internal testing, we send the course text to professional editors for the final proofread. Tasks and instructions are often reworded at the formatting and testing steps, so we do this additional round of proofreading. We want to ensure there are as few typos and grammar mistakes as possible.

Step 7: Publication

The next step is publishing the course on the platform. Our users can now enjoy a brand-new SQL course!

Step 8: Continuous Improvement

Does this mean we’re done with the course? Not really. We continue to improve it based on our users’ feedback. We fix any surviving typos, we reword the tasks and instructions to make them even clearer, and we optimize the solutions.

If you’re taking one of our courses, you can use the Disqus tab on each exercise screen to send us comments or questions about that exercise. And we always look forward to user emails. Drop us a line at

Now You Know Our Secret

Although creating a new SQL course may seem difficult and time-consuming, we like it very much. Every satisfied user brings us joy. Each time someone receives a certificate of completion for a course, we feel that our hard work has not been wasted. After all, learning SQL is meant to help your career. We give you the perfect tool to achieve success. The rest is up to you.

Have you decided on what you want to do with SQL? Cool – choose one of our offerings and start learning! See you at the course!