Writing Awesome CoderDojo STEM Blogs

How to get a big impact from little blogs

A mind map for writing awesome CoderDojo STEM Blogs. Image by the author.

STEM teachers and mentors are often buried in social media articles with vendors promoting expensive STEM robot kits that may not provide equitable access to underprivileged youth. I am now working with several other mentors who are breaking new ground on creating low-cost Python-powered robots. They have great ideas, but we need to communicate these ideas to other STEM teachers and mentors. Here are my suggestions for writing STEM and mentoring blogs for my fellow mentors.

We spend a lot of time finding a good title and subtitle for our blogs. It is the first impression many people get, and a poor title will often turn people off to great content. Medium provides a place for both a Title and Subtitle for your blogs. They are often required by republishers like Towards Data Science that might want to include your blog in their site.

Note the “Title” and “Subtitle” on the left—image from Medium edit mode.

This is really important. When a person opens your blog, they will remember it by the first “banner” image. This is so important; it is often called the “Hero Image” in web content design. If readers see the image referenced on social media, they can quickly recognize the blog by the image. I often spend 10% of the time thinking about the image and ensuring it will be a placeholder for remembering the blog.

Medium has an image search feature that allows you to find and insert shareable images and provide attribution quickly.

Always reference your image sources and give clear attribution to the source. If you are the author of the image, add “Image by author” in the caption.

It is a good idea to use captions in your images. Remember that search engines have image search options, and your image captions can help bring more readers to your blog page.

Try to keep your blogs between 700 and 1,500 words. These are bite-sized bits of knowledge with enough content to get a higher ranking on search engines but are not so long that you lose readers. If you find your blog stretching out over 1,500 words, try breaking it up into two distinct blogs.

For example, if you are writing a blog on a new distance sensor and you find your blog gets too long, try breaking it up into one blog about the sensor and how to purchase it and a second blog on how to find the MicroPython driver and how to write example programs.

Medium also provides extensive statistics on your story read-ratio. This is the percentage of people that scroll through your entire blog. If your articles are too short, everyone will be going through them quickly and your read-ratio will be high, but people may not come back for future articles due to lack of good content. If your read-ratio is too low it might mean that your blogs are too long and wander off into topics that people don’t care about. Having a high read-ratio is not always a good thing. But high read-ratio for longer posts means you are getting key content to the right audience. This shows positive engagement.

Google Trends has a “Related Topics” report that shows what trends are related to any topic. The report above was created by looking for trending topics related to “MicroPython.”

Sometimes you commit to writing regular STEM blogs, but you get stuck with writer's block. What should you write about? This is where having a community is important. Reading Medium.com, Reddit, LinkedIn, and searching for STEM coding topics is a great way to start. I also use Google Trends to see what topics have been interesting in the last few months. If you have access to OpenAI’s GPT-3, I use that to generate outlines of topics for STEM classes.

If you are interested in helping out our MicroPython site for CoderDojo mentors and teachers, we have a backlog of projects we need help on.

Medium.com also has extensive stats about the interest of your readers. You can use this to better understand your audience and target new stories to match the interest of your readers.

Sample report of reader’s interest from the Medium.com stats dashboard. The image was taken from Medium.com

Try to summarize what the blog is about and the intended audience in the first three paragraphs. This makes sure that readers do not have to spend a lot of time reading before they realize the blog is not what they are looking for.

One point to remember is that many users have short attention spans. Although you may feel passionate about a topic, we should never assume our readers have the same passions. You may need to tell people why the topic is relevant to STEM and code mentoring.

Readers get bored by “walls of text” and quickly stop reading. If you scroll through your blog and see plain text, try to break up the text with visual elements. You can use short paragraphs, subsection headers, images, tables, figures, diagrams, or quotes.

Try to have at least three subsections and three images in your blog. Just a fun image to break up the walls of text is a good practice.

Use a grammar checking program like Grammarly. I use the paid pro version of Grammarly, which costs about $130/year. I find the quality is well worth the price since I try to blog every month, and I also use it for my day job. I use the Chrome plugin for Grammarly so that it works directly in the Medium editor tools. There are also plugins for Microsoft Word and other desktop tools.

Grammarly has tools that help rewrite your text for clarity. Screen capture from Grammarly user Chrome plugin.

Most AI-powered writing software allows you to set and configure your goals when you are writing. The new generation of tools is based on Large-Language Models (BERT and GPT-3). They are no longer limited to the grammar rules of a single sentence. This means they can take a holistic look at your blog and make suggestions. This means they can look for things and make recommendations on things like your Audience, Formality, Domain, and Tone.

I try to keep my blogs knowledgeable, informal, casual with a Confident, Optimistic, and Friendly Tone. Sample goal settings in Grammarly. Image from Grammarly Settings panel.

I use knowledgeable, informal, casual with a Confident, Optimistic, and Friendly Tone. Sometimes I add the Joyful and Respectful Tone settings.

When you start blogging, you will see what blogs get more “Likes” or Claps.

If you find a problem or a concern, always warn other teachers and mentors about it. For example, if using small plastic servos is problematic for small kids that tend to break them, that is a good point for classes with younger students.

An example of a warning that you might want to put in your blog. Image by the author. Note that to use the red text, I had to put the text in an image and copy the image into Medium.

We often have photos of small electronics, sensors, and other devices used in programming our robots in our STEM classes. Sometimes it is difficult to photograph these small devices with clarity. Here are some suggestions for better images.

Sample iPhone tripod. Source: Joby Magnetic GorillaPod

Use a tripod or a flexible stand to support your camera while taking photos or images.

Avoid complex backgrounds with grids or fabric designs. Use a generic high-contrast background such as white or light gray if possible. If your blog normally has a white background, use images with a white background if possible.

Watch the reflections from direct lighting. Shiny surfaces can create glare that will make it difficult to read text on surfaces.

An example of a .gif file that shows the moving LEDs. Image by the author.

If you have some motion in a project, take a short video and convert the video to a gif using a website like giffy.com. This only takes a minute, and these websites also have tools to change your gif's start and endpoints quickly. Note that these sites sometimes make it a bit tricky to download the gif. You might need to do a right-click “Save as” to download your new git.

Suppose you have a device with both motion and sound; you might want to create a short video and post it on YouTube. Then paste the link directly into the Medium editor. It will create a nice thumbnail preview. There are features you can access in the upload area of YouTube that will allow you to quickly select a short section of a video and trim the front and ends of the video.

You can always share a draft of your Medium blog before you hit the “Publish” button. This is a great way to get feedback and check for embarrassing errors before you go live.

The Publishing feature of Medium allows you to add keywords to your blog to make them easier to find. Because they limit you to five keywords, you will want to pick your topics carefully. Here are some keywords that you might want to use:

  1. STEM, CoderDojo, and Code Savvy
  2. Python and MicroPython
  3. Raspberry Pi Pico and Microcontrollers
  4. Mentoring
  5. Computational Thinking
  6. Open Source

Cross-posting is the process of mentioning that you published a new blog on websites other than Medium.com.

Sample reader analytics report on LinkedIn shows how many views, reactions, and comments for an article. It also breaks down the companies, job title categories, and geographical distribution of your posts. The image is taken from LinkedIn.

After you Publish your blog, consider cross-posting your link to other social media sites if you cross-post to LinkedIn because I get a detailed analysis of who is viewing my article.

Medium.com allows readers to interact with your blog in several ways. If a reader likes your article, they can give you one or more “claps”:

After your Medium article after published, it will show the amount of “applause” for your blog—image from the Medium.com website.

If you click on the number just to the right of the grey “clapping hands” icon, you can see who has applauded your article and how many claps they have given you.

A sample view of who applauded a Medium blog post. As you can tell, one reader gave this blog 50 applause points.

After I see users applauding my articles, I usually follow them and see if they are also writing blogs on topics I am interested in. Although you currently can’t message others directly on Medium, if I know them from LinkedIn, I like to thank them and see what other topics we should cover in our blogs.

Medium supports the same “triple backtick” format that MarkDown uses to indicate code samples are being used. Medium will wrap this text in a fixed-width font with a distinctive background like this:

import machine
import time
# this is the lower right corner pin on the Pico with USB on the bottom
led = machine.Pin(16, machine.Pin.OUT)
# repeat forever
while True:
led.high() # turn on the LED
time.sleep(0.5) # leave it on for 1/2 second
led.low() # Turn off the LED
time.sleep(0.5) # leave it off for 1/2 second

The problem with this is that there is no way to include things like line numbers, and there is no text highlighting to make the code easier to read. The workaround for this is to use an image file to show your code.

Sample image of source code with line numbers and text highlighting. Note that comments, which are usually in green in most IDEs, are in gray. The “Copy to the Clipboard” link is in the upper right corner, which should not be in the image. Image by the author.

Unfortunately, there is no easy way for readers to copy and paste the code into their project when using an image. To get around this problem, the image caption can provide a link to a microsite created with mkdocs, to the source code on a GitHub site, or a GitHub GIST (a single page file on GitHub).

Many of my most popular blogs are not just be pontificating on the latest and greatest STEM teaching tool, but my frustrations due to lack of a specific sensor, driver, or sample code. My advice is never to be afraid to create a blog about your frustration about a missing component of a great STEM lab or project. Be humble and ask your community to help. By contributing high-quality blogs regularly, you will find that many people in the community will go the extra mile to help you out when you get into a jam.

It also never hurts to ask your audience if they have experience with a given topic or are interested in other topics. Please encourage them to leave comments on your blog and encourage them to follow you on LinkedIn or other social media.

Being in an active blogging community committed to excellence requires us to hold up examples of other high-quality work. It is a great idea to include links to other blogs written by people you admire. If your work is good, they often link back to your blogs.

Distinguished Engineer with an interest in knowledge graphs, AI and complex systems. Big fan of STEM, Arduino, robotics, DonkeyCars and the AI Racing League.