Why You Need To Know About VARK

Mo Ali
Engineers Haven
Published in
3 min readJan 3, 2022
Photo by Max Delsid on Unsplash

What is VARK?

Before I delve into the question above, ask yourself. What type of learner are you? Are you a visual learner, auditory learner, or read/write learner?

Most likely, you’ve answered yourself as a visual learner. Maybe I’m right, may I’m not, and only you know which.

I used to think I was a visual learner. Then when I joined the workforce, I figured I learned by doing. But what does that mean? It means I’m a kinesthetic learner. Now what does that mean? Means I learn by practice. Whether it be repetition, mimic’ing a video, tutorials, etc…

Is that really how I learned anything though? Sadly, No. Whenever I learned something in the past, I always saw, heard, or read, then practiced it myself. It could be a musical instrument, learning a programming language, riding a bike, swimming, finances, etc… I applied multiple of these learning mechanisms without even realizing.

Now to finally answer the question, what is VARK? Well if you haven’t guess already, it stands for Visual, Auditory, Read, and Kinesthetics. It is for your learning preferences.

How do you use it to learn programming?

Programmers often learn on the job or on a project. They read tutorials or books but not without attempting the exercises or examples themselves.

I know I learn by going on LeetCode and trying out the most basic questions when learning a new Programming Language.

Now you might be thinking “I already know that, tell me something I don’t know.” Well Mr. or Mrs., or whichever pronoun you call yourself with, what you don’t know is how to effectively use what you know about VARK when learning programming.

Let’s take a look at one of the easiest problem, for me at least, on LeetCode.

Now I know that LeetCode isn’t a place where you learn programming but I would argue that it is a good place to practice what you have heard/read about programming on their platform.

LeetCode Problem Two Sums (slightly changed)

“Given an array of integers nums and an integer target, return two values which total the target.”

Meaning, they’re going to give you a list of numbers like [1, 3, 4, 6, 7, 3] and they want you to find which two numbers total the target, in this case let’s say that’s 11.

So looking at the array/list, only 7 and 3 would give you the desired target 11. How would I write that so a computer knows how to find the indexes which total the desired target?

Well there’s the brute force method. I could start with 1 and then add 3 and check if that’s 11, and then 1 and add 4 and check, and so on.

Here’s a visual picture for you.

By Author. It was a pain to draw but you get the picture I hope

The brute force method is the most inefficient method, and if you didn’t know before, now you see why.

So now, given your new visionary powers of using LucidChart or PowerPoint, you can draw, discuss, workout potential solutions to this problem. Could split the array, could use bidirectional checks, or whatever else you concatenate.

Here is a bonus diagram for bidirectional checks.

Thank God I only had to do one this time

By simply starting with index zero and moving up one each iteration and also starting at the last index and moving down each iteration, we can solve for this simple problem much more efficiently.

This article is not endorsed by Lucid, LeetCode, or Microsoft. It is not endorsed by any company.

Thank you for reading

--

--

Mo Ali
Engineers Haven

Sr. DevOps Engineer, self-taught programmer, financially independent.