Upcoming Courses in JavaScript: Vote with Your Comments

During the past year I have released what I perceive are the two most time consuming courses to develop: Learn Modern JavaScript: Getting Started and Learn Modern JavaScript: Advanced Topics.

Since the release of the Advanced Topics course I have been hard at work on adding a section to that course on functional programming concepts as well as a new course on regular expressions. And now I have begun to think about what courses should come next, and I would like your input. Here are a list of some of the courses sitting in the wings. (You can get a full list of upcoming topics here.)

  • Full course on functional programming concepts in JavaScript. Functional programming is the talk of the town in JavaScript. And it is important to know these topics.
  • Asynchronous Coding. This course is an important piece in the Learn Modern JavaScript series. These are critical topics that need to be tackled.
  • Using Node and Express. I have stayed away from node in my JavaScript courses because I think it is important to learn JavaScript on the browser side. I feel I need to add this course in order to fill in the knowledge of how JavaScript can be used.
  • jQuery. Yes, jQuery is not the darling child anymore, but it is still used extensively, so it is important to know how to use it effectively.
  • JavaScript Frameworks and Libraries. There are numerous topics here, but those that seem to drift to the top are Vue, React and Angular.

So which topics are most important to you? Let me know in the comments sections.

JavaScript Problems…

I’ve started a new type of tutorial on the YouTube channel: JavaScript Problems.

Every so often I want to do a tutorial which is simply presenting a problem that needs to be solved in JavaScript and then going through the process of solving it. Usually, I will present more than one way to solve the problem because I think that is great way to learn JavaScript: look at different solutions.

In the first tutorials I created, I used some problems found in some of the many JavaScript books I have access to. However, I would also like to include problems you are thinking about. So this is a chance for you to shoot me over some problems. It may end up in the next JavaScript Problem I choose to record.

To submit ideas, you can add a comment to this post, you can send an email to shancock@allthingsjavascript.com or you can add a comment to one of the YouTube videos.

The State of JavaScript Survey

In case you haven’t heard, the State of JavaScript 2017 is now taking survey responses. The survey is officially open! I received my notification yesterday.

The State of JavaScript report from last year was very insightful. A lot of their data is built from survey respondents, so if you haven’t done so yet, take a moment to fill out the survey.

You can access the survey here: http://stateofjs.com/

Advanced Topics Course if Finally Here

After six months, I have finally release the Advanced Topics course. The Advanced Topics course is a part of the Learn Modern JavaScript series which begins with the Getting Started course.

I love the nuances of JavaScript and therefore this new course has been exciting for me to produce. It provides a lot of opportunities to delve into those types of topics.

This brand new course has over 70 lectures, over 11 hours of video, 2 quizzes, 7 assignments, and 1 large project at the end. In this course I also felt the need to create several Think Like a Programmer sections. In these sections I address topics that come into play when you are working as a JavaScript professional. I feel these contain some valuable information.

If you are interested in taking this course, here is a link that will allow you to take the course hugely discounted on Udemy:

Take the Course

JavaScript Problems: I Need Your Help!

Today I launched a new section of tutorials on our YouTube channel. It is called JavaScript problems. The idea is that every so often the tutorial released during that week will be a JavaScript problem to which I will provide one or more solutions.

Here is the first tutorial in this section. It shows two techniques for computing a fibonacci sequence given two starting numbers and how long you want the sequence to be.

The idea isn’t so much to show how to solve a particular coding problem, but more what can be learned about JavaScript by solving the problem. For example, in this first tutorial we use a while loop and also recursion.

So here is where the help comes in. There are numerous problems on the Internet that I can use for these tutorials, but I would rather use real world problems. If you have a problem you have seen in the past or one you are working on, provide it in the comments. It might be the perfect example to use in one of the upcoming JavaScript Problem tutorials.

A Complete List of JavaScript Tutorials

We only publish about half of our JavaScript tutorials in this blog and we want to make sure you have better access to them. So it was decided by the powers that be to create a full list of tutorials on our website. I know, it is not a difficult conclusion to come to; we should have done it a long time ago.

The tutorials are currently organized into 5 categories. As we see the need, we will break them out into more categories. Take a look at the list and find those you would really like to view.

Also, take a moment and suggest a JavaScript tutorial you would like to see by making a comment in the comment section.

Here is a link to the list:

http://www.allthingsjavascript.com/youtube.html

Approach to Projects

Sometimes the most difficult part about a project is starting. It can reduce a lot of stress and put you well ahead if you have a process for starting a project.

For example, something I commonly do is to spend time setting up the structure of the project and the processes needed to test and minify project files. That little bit gets my head into the project and then I can get going. Otherwise, I feel like I languish before I can really get started.

The other day I read a great article at Sitepoint about how to approach projects. I thought it organized all the starting tasks really well. These starting tasks are not only important, but I realized they can accomplish the same thing of getting your head in the project and getting you going in the right direction.

Give it a read here.

What approaches do you take?

How Do You Know if Someone is an Expert in JavaScript?

I love this type of question! Not so much because I want to find out if I am an expert. It is mainly because I love to read the answers that people post to this type of question.

Obviously the posts will reflect what that person sees as important. I find this very helpful because I can then evaluate whether that is a strength of mine or not. If it is not a strength, I can look to learn more in that area.

This question was recent posted on Quora, and I found the responses interesting. In some cases it caused me to think about whether that skill is really important or not. But most of the time I agreed and mentally marked topics that are important to understand in JavaScript.

What skills do you think make someone an expert JavaScript programmer?

If you want to read the original post go here.

Navigating the Crazy World of JavaScript Libraries and Frameworks

The world of JavaScript libraries and frameworks is exciting, overwhelming, constantly changing, chaotic, and many other adjectives that I can’t think of right now. The popularity of JavaScript has lead to a large number of libraries and frameworks that can help us do our jobs easier.

However, in order to receive that help you have to be able to figure out what is available, find out what it does, and then implement it into your project. It is important to keep abreast of libraries and frameworks, but what is the best way to do that?

I recently found a site that has been invaluable. Javascripting.com contains what is probably the most complete list of JavaScript libraries and frameworks I’ve found. There looks to be over 1200 listed. And it is not just a list; information about each library or framework is provided.

For each one you can access an about page and you can link directly to the repository. Javascripting.com also has a rating system for each item. The rating system is based on several factors, but it can be a good place to start when trying to determine if the library is something you should try. Information from github is also displayed. You can sort the libraries/frameworks by most popular, new or trending.

So…if you want to get up to speed on the latest libraries and frameworks, or check out a particular one you have heard about, navigate on over to javascripting.com and you will appreciate having all this information in one location.

What other resources have you found for JavaScript libraries and frameworks?

My Favorite Book on JavaScript

My first degree from college was a BA in English. The only reason I mention this is to point out that I love to read and that I can sometimes be overly critical of certain books. Because I love to read, I have purchased numerous books on JavaScript.

I’m very analytical about the books I purchase. I won’t buy just any book on JavaScript. But despite that, as I take a quick look at my library, I have over a dozen books just on JavaScript. That doesn’t even include the books on various frameworks and libraries.

So which book is my favorite? Without any further ado, here it is:

This book serves two purposes for me. It acts as a reference which I use several times a week for that purpose. The index is well done, which is necessary for a reference book. Second, it also works quite well as an instructional tool. If there is something in JavaScript I am not familiar with, I can always turn to this book for an explanation of how it works or how to use it.

The book is divided into two main parts: Core JavaScript and Client-Side JavaScript. I like this approach. It sends the message that JavaScript is not just for the browser. However, there are several important nuances when using JavaScript in the browser that are covered thoroughly in the section on Client-Side JavaScript.

This book is nothing if not thorough. I can always find what I am looking for. Want to get an intro to Node or jQuery? It is in there. Want to find out about modules. It is in there. Hoping to understand closures better? It is in there. Or maybe you simply want to know the primitive values in JavaScript. It is all in there. From the simple to the complex, this book has something to say about each topic.

This book is probably not the most exciting book I have on JavaScript. Nor is it the most interesting to read. It is probably not the book that has expanded my thinking the most about JavaScript. But it is the book I always turn to. It is the only book I have purchased twice. I originally bought the 4th edition, and then a couple years back upgraded to the 6th edition.

If you don’t have this book, you may want to add it to your library or use it to start your JavaScript library: JavaScript: The Definitive Guide.