Welcome to Javascript for Advanced Users

Thanks for enrolling in class. I have been at RISD long enough to know that a JavaScript course can be a source of much angst and frustration for some students. They have told me this explicitly and without hesitation. My life has taught me that some of the best accomplishments in life come through fighting angst and frustration and not giving up. Never before has Javascript been so important to Web designers and developers as JavaScript has become more and more dominant as the scripting language of choice for client-side Web processing - especially as popular HTML5 features are being integrated in our Web browsers. I will do my best to motivate you so you can fight any set backs with your full potential. I will also do my best to eliminate unnecessary angst and frustration, but I know I have a particular style that might just frustrate some of you no matter what the learning objective. My aim is to make you self-sufficient, confident, thoughtful developers and I don't think that can be done with a technical presentation and study alone. I need to give you so-called "life skills" in the process of battling new technical information.

As you should have learned in your first six week introduction, JavaScript is a cross-platform, object-oriented scripting language. A scripting language is different from a programming language only in the level of access the language has to fundamental computing resources. A programming language accesses computing resources more directly. A scripting language accesses computing resources that have already been programmed for use.

I am hoping you have had enough exposure to JavaScript that Chapters 1 through 3 of our JavaScript course book (available electronically at will not intimidate you and mostly be a refresher of concepts you were introduced to previously. Even if they do intimidate you a bit, become familiar with them as soon as you can in preparation of where we are headed in class. Note that the author, Douglas Crockford, suggests there are nice aspects where JavaScript is an elegant language (i.e., designed well for use): Syntax, Objects, Functions, Inheritance, Arrays, Regular Expressions, Methods, Styles, and a few beautiful Advanced Features. First and foremost in this class, I would like you to have a deeper sense of what that means. Secondarily, I'd like you to be able to take advantage of the elegance to incorporate code in your Web designs elegantly (especially so you can maintain and extend your work with the most graceful of ease).

Although you may have had some good exposure to Functions in Javascript, we are going to start our adventure together there. We'll absorb Douglas' perspective of functions (as readily seen in Chapter 4) as he has been lauded around the world for providing that insight to us all. Chapter 6's presentation on Arrays will be similarly reviewed. Then we will head on to the new areas of exploration that are specifically meant for this second six-week course (Chapters 5 and 7-10). We will use a hands-on approach to creating examples for each of the major concepts we learn.

The object-oriented learning we gain will be very relevant to many other scripting and programming languages (I learned similar concepts in C++ which made it easier to apply them to Java and now JavaScript). This part of the course can be the most mind-expanding and enjoyable, but it can also be a source of frustration since the potential learning here lasts multiple lifetimes (even the gurus I know and have learned from continue to adjust their thinking on the material). We'll all have a great time together with that... if you let yourself have fun!

Part One Welcome

File Size: 37 kb
Posted: Sun, May 30, 2009