Over a million developers have joined DZone.

JavaScript From the Beginning...

DZone's Guide to

JavaScript From the Beginning...

Author Bill Sourour recounts his experience volunteering as a mentor at an introductory JavaScript workshop run by Ladies Learning Code. He ends the piece with some quick, helpful takeaways for both teachers and students. Read on for more.

· Web Dev Zone ·
Free Resource

Jumpstart your Angular applications with Indigo.Design, a unified platform for visual design, UX prototyping, code generation, and app development.

Author's note: This article was originally written in 2014. Since then I've started a project called "Dev Mastery" dedicated to helping developers write better code and advance their careers. If you or someone you know is just starting out, I highly recommend my free eBook; The Practical Guide to Becoming a Professional Web Developer. Enjoy the article!

A while back, I spent a day volunteering as one of many mentors at an introductory JavaScript workshop run by Ladies Learning Code, a not-for-profit aimed at helping women (and others) learn technology. The workshop was inexpensive and targetted at the absolute beginner. As someone who’s been programming for an eternity and working with JavaScript in one way or another for almost 18 years, this was a rare glimpse into what it’s like for non-techies to first encounter JavaScript in the age of Twitter and Facebook and WordPress and Tumblr and Pinterest and iPhones and so on and so forth.

Today, the web is everywhere. It touches everyone. Today, the web is easy and frictionless and powerful beyond what I ever imagined it would be when I wrote my first line of HTML back in 1994. I expected that this would mean the concepts we would be covering would be intuitive to these students; that it would all come as second nature to them. I was naïve and foolish.

As a mentor, I was paired with two "learners" and my job was to help them through the various exercises throughout the day and to answer any questions they may have. My protégés, if you will, were two older women. One had never written a line of HTML—much less JavaScript—in her life and the other had taken a prior workshop on CSS and HTML but had focused more on WordPress of late.

The instructor was an intern at a tech company and would be starting his senior year in college in the fall as a Computer Science major. In many ways, he was almost as new to JavaScript as the students he was teaching but he moved through the material quickly and spoke about things in the sort of shorthand one would expect from a person immersed in technology and code day in and day out. My students, at least two generations removed from him and brand new to all of this, were completely lost.

I commend Ladies Learning Code on the mentor model of the workshop, being able to provide personalized coaching to small groups of students at a time ensured that no one was left behind. I was able to bring my group up to speed during the breaks and throughout the exercises and I think they ended up getting a lot of value out of the experience. Also, in fairness to the instructor, he paused often to ask for feedback from the room and make sure the students were engaged and did a good job getting through a metric ton of material in a very short amount of time. He also worked very well with the mentors and was quick to course correct if someone asked a question or spoke up to clarify a particular point he may have been glossing over for time.

Nevertheless, one of my big takeaways from this experience is that, to the uninitiated, JavaScript is difficult, complex and, at times, overwhelming. Also, somewhat more surprisingly, new learners sometimes fail to see the point of it. When you can create a website or publish content with just a few clicks, it’s hard to fathom why anyone would spend so much time and energy writing all that code! (Imagine if we were trying to teach them Assembly.)

The funny part is, I spend a lot of time preaching these same ideals to many of my Enterprise clients; I often discourage writing custom applications in favor of using software off-the-shelf. So, I see these students’ point. Still, I think programming is a ton of fun and JavaScript, because it’s so easy and ubiquitous, is a skill that more people should acquire.

* * *

Insights for Teachers

To those who would teach JavaScript (or maybe any technology) to beginners, based on this experience. Here is what I learned:

1. Assume Nothing

Challenge yourself to explain, in simple terms, those concepts that you take for granted and that are the foundation for your understanding of the subject matter.

2. Read the Room Early and Often

Take a moment up front to figure out where your audience is at in terms of knowledge, experience, and expectations. Check back in with them frequently to make sure you’re bringing everyone along with you.

3. Connect Your Lessons to Something Practical and Useful

Find a way to tie the concepts and material you are teaching to real-world, practical scenarios that will resonate with your students.

4. Repeat, Repeat, Repeat

Repetition is key. Repetition is key. It’s important to say the same things over and over again. It’s also nice to change the way you say those things so that people who don’t understand it one way, have a chance to understand it another way. Also, did I mention you should repeat things?

5. Tell, Show, Try

First, explain the concept. Then, show an example of the concept. And finally, let the students try out the concept for themselves through exercises.

6. Embrace Mistakes

See students’ (or even your own) mistakes as an opportunity to gain more insight into the subject matter. Give people room to make a mistake and follow it up with a discussion about what the mistake tells us about the subject matter and how it works.

* * *

Insights for Students

If you’re a first-time student, here are some tips that may help you get the most out of your experience:

1. You Won’t Learn Everything in a Day

No matter how good the workshop is and no matter what the brochure says, it’s impossible to master a subject in a single day. Embrace this truth and understand that today is the first step in a long journey.

2. Ask Questions

This is probably a cliché by now, but it’s true; there’s no such thing as a dumb question. If you’re not sure about something, ask.

3. Be Patient and Keep an Open Mind

It may not always be obvious at first how the subject matter is connected to the outcome you’re trying to achieve by learning it. Especially with something like programming, you have to be patient and get through the fundamentals before you will begin to see the value. Trust your instructor.

4. Practice, Practice, Practice

Strive to use what you’ve learned early and often. The more you put newfound knowledge into practice, the more likely it is to stick.

5. Listen, Read, Engage

Pay close attention to the instructor. Don’t just skim, but actually read the materials being presented and give any excersices or hands-on activities your full, undivided attention.

6. Embrace Mistakes

Mistakes are an opportunity to gain more insight into the subject matter. They are a sign that you’re really trying. Give yourself room to make a mistake and follow it up with a discussion with your instructor that reveals what went wrong and why.

* * *

While I’ve taught tech before, this was my first time mentoring at Ladies Learning Code. I thoroughly enjoyed it. As a business owner who hires and works with coders, I am happy to help grow the local talent pool. As the father of a young girl, I am thrilled to contribute to a world of expanded opportunities and diversity for all.

For the record: At the time of this writing, I am not affiliated with Ladies Learning Code in any official or unofficial capacity. I’ve volunteered only once to date and the opinions expressed in this article are mine and mine alone.

* * *

I’m on a mission to help as many developers as I can. You can help me by recommending and sharing this article so that more people see it. For more advice like this, I invite you to sign up for my weekly newsletter at devmastery.com.

Take a look at an Indigo.Design sample application to learn more about how apps are created with design to code software.

beginner ,javascript ,presentations

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}