alert_red.gifDRAFTED:  4/9/02alert_red.gif

COSC 330
WEB DEVELOPMENT
STUDY GUIDE
FOR THE JAVASCRIPT THREAD OF COSC 330
(That part of the course that deals with JavaScript)
Under construction! 
CONTENTS:
  1. INTRODUCTION
  2. STUDY GUIDE FOR THE JAVASCRIPT THREAD
  3. GLOSSARY
INTRODUCTION :

This study guide is intended to facilitate an independent learner's study of JavaScript using only that part of the content of COSC 330 that is devoted to JavaScript.  The subset of the COSC 330 content that covers JavaScript is integrated with the textbook, Teach Yourself JavaScript in 24 Hours by Moncur so it is necessary to use that book.  {EXPAND, saying about how long the study should take.}

NOTE: If you are new to my learning modules, "jumping into the middle" of my Web pages (e.g. following links in this study guide) might confuse you.  Here are a few explanations that may help:

  1. SAQs (Self Assessment Questions) and TPQs (Thought Provoking Questions) are learning aids that are integrated in my learning modules. Both types of questions, inserted throughout the text, are designed to help you focus on the essential characteristics of fundamental concepts. SAQs act as "traffic lights"; if the student can't answer one, it is a symptom of a misunderstanding and (normally) the student should review the notes to correct it. TPQs may have more than one correct answer; they may not even have any correct answer; they are simply there to make you think!  (Since you probably will have not read the prerequisite material for these question, you may not know the answers to these question.  For a hint, and link to Tony's answer, click on the link "Answers, SAQs" and "Hints, TPQs" in the "Navigation Panel" along the left boarder of this Web page.)
  2. The blanks in the text, like the SAQs and TPQs, are learning aids.  Like SAQs and TPQs, the FIBs (Fill in the Blanks), are designed to make you think, i.e. get you involved in your learning rather than treating you as a spectator.  (Since you probably will have not read the prerequisite material for these questions, you may not know the words that best fit into the blanks.  For a hint, and link to Tony's answer, click on the link "Answers, FIBs" in the "Navigation Panel" along the left boarder of this Web page.)


STUDY GUIDE FOR THE JAVASCRIPT THREAD:

  1. I think that JavaScript is an ideal language for introducing novice students to programming  (I prefer the more modern term, "software development" instead of "programming"; I will be doing this throughout this presentation.)  See the reasons JavaScript is the best language to begin learning object oriented software developement (OOSD) in the Study Guide to LMVII. alert_red.gifHowever it should be noted JavaScript is very lenient about syntax, compared to many programming languages.  While this may make it more USER FRIENDLY (especially for beginners), it can foster BAD HABITS, so be careful.  In particular,
    1. JavaScript uses some terms (especially "object" and "property") that differ, slightly, from standard OO terminology.  See the discussion of this in the Study Guide of LMVII.  JavaScript abuses the word "object", the most misused word in object oriented software development, in that it has two meansings in JavaScript.  This originates in the fact that JavaScript does NOT have the word "class" as a keyword; the class is the most important concept in OOSD.  In fact "object" is used for both the abstract construct of OO software (called a "class" in Java, C++, etc.) as well as real instances of a class (called "objects" in Java, C++, etc.).  See the discussion of this in Appendix A of LMVII.  The bottom line is, when you encounter the JavaScript word
      1. "object", think of a "class" in UML (Unified Modelling Language), C++, and Java, and
      2. "property", think of an "attribute" in UML, C++, and Java.
    2. JavaScript, being a "scripting" language, is fundamentally different from traditional programming languages like C++, Java, etc, so students should be careful when drawing parallels with those other languages.  Designed to write scripts within HTML documents, JavaScript does not have the input/output features of "stand alone" programming languages, so it is not a "general purpose" programming language. See the discussion of this in the Study Guide of LMVII.
  2. JavaScript, in LMVII, is covered by parelling the presentation in Moncur, Teach Yourself JavaScript in 24 Hours.  See the Study Guide to LMVII to see how this is done.
  3. JavaScript is discussed throughout the online presentation of this course.  This guide is intended to help the independent learner follow the "thread" of JavaScript discussions and references from the first learning module through LMVII, the thorough treatement of JavaScript. alert_red.gifTo follow the "JavaScript Thread" through this course, "skip through" the online learning modules accessing only important references to Javascrip.  To do this I recommend the following:
    1. Read through LM I, section 4,  OVERVIEW OF WEB DEVELOPMENTReading this section should help you distinguish JavaScript within the context of Web Development techniques in general and programming languages in particularlyIt is unnecessary to "study" or even read all of the discussion of other languages, but it will help to understand the context of JavaScript, i.e. how it fits into the family of programming languages.  Also, there is no need to follow any of the hyperlinks in this section; that would probably distract you from the centeral theme of this thread - JavaScript.  In fact, it is only essential to read section 4.2.B about scripting languages, especially 4.2.B.a, JavaScript.
    2. Skim LMVI Interactivity & the Web, and study its section 3, an overview of JavaScript.
    3. Read the Study Guide of LMVII and
    4. Study LMVII, Introduction to JavaScript.
    (Of course, you can access every uses of the word "JavaScript", in any of the course Web pages, by using the Find in Frame or Find in Page feature of your browser.)