DRAFTED:
4/9/02
 |
COSC 330
WEB DEVELOPMENT
|
|
STUDY GUIDE
FOR THE JAVASCRIPT
THREAD OF COSC 330
(That part of the
course that deals with JavaScript)

CONTENTS:
-
INTRODUCTION
-
STUDY
GUIDE FOR THE JAVASCRIPT THREAD
-
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. {,
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:
-
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.)
-
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:
-
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.
However
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,
-
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
-
"object",
think of a "class" in UML (Unified Modelling Language), C++, and
Java, and
-
"property",
think of an "attribute" in UML, C++, and Java.
-
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.
-
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.
-
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.

To
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:
-
Read through LM
I, section 4, OVERVIEW OF WEB DEVELOPMENT. Reading
this section should help you distinguish JavaScript within the context
of Web Development techniques in general and programming languages in particularly.
It 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.
-
Skim LMVI
Interactivity & the Web, and study its section
3, an overview of JavaScript.
-
Read the Study
Guide of LMVII and
-
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.)