JavaScript Syllabus
Course:
Computer Programming in JavaScript:
Instructor:
James Larson
Phone: (937) 461-7513
Email: jlarson43@juno.com
Course
Description
This
is a computer programming class. The emphasis will be on analyzing, coding,
debugging, and deploying web pages or scripts that do something useful or
entertaining. While eye-catching visual affects like hover buttons will be
touched on, the primary focus is on fundamentals of program development and coding.
In real life, most of the opportunities to write programs will be small
projects involving some tedious task for work, class, or fun. Therefore, it is important to grasp basics
first. Mastering this material will empower the student to view computers as an
intellectual tool they can use in service to God and neighbors.
Prerequisites
Students
must pass an online test in basic HTML coding. Previous programming courses in
other languages may prove helpful, but not essential. Basic math and algebra skills
also required. A desire to learn challenging new problem solving techniques a
definite plus.
Textbook
The
text used in the course will be online material from the Internet written
either by the instructor or others.
Software
The
software will be any text editor or program editor the student feels
comfortable with, such as ConTEXT found at http://www.context.cx/ or UltraEdit-32* found at http://www.ultraedit.com/. Internet
Explorer will be used to run and test HTML pages containing JavaScript. Also
used will be wscript.exe, and cscript.exe (all of which come standard with
Windows XP). The student will also need to download and install the Windows Script Debugger from Microsoft.
* UltraEdit-32 is reasonably priced. All other
required software is free to licensed Microsoft Windows users.
Course
Subjects
Brief
History of Computing
Reasons
to Study Computer Programming
http://www.dst-corp.com/james/programmingforhighschoolers.htm
(Note: this is a preliminary version without
graphics.)
Introduction
to Problem Analysis
Variables
String
Numeric
Arrays
Object
Expressions
String
Numeric
Arrays
Object
Variable
Scoping
Private
Global
Arrays
Indexing
Numeric
String
Object
Indexing
Numeric
String
Statements
Var
Assignment
Conditional
Looping
User function definitions
Grouping
Operators
Parenthesis for expression precedence
Curly Brackets for statement grouping
Square brackets for Array and Object
index expressions
Conditional
Statements
If(expr), if(expr)/else
Switch
While(expr)
Do..While(expr)
For (expr1;expr2;expr3)
Objects
User
Document Object Model
Window Object
File System Object
Properties
Library Object Properties
User Defined Objects
Event
Handlers
Body tag onload
Frameset tag
Form Element Events
onclick
onmouseover
Window Object Events
setInterval
setTimeout
Course
Schedule
Students
can expect to have daily readings, weekly HW assignments and biweekly
programming assignments, which will increase in difficulty as the year
progresses. Periodic tests or quizzes
may be assigned on weeks without a programming assignment.
Grading Policy
All
non-interactive homework assignments are to be graded at home with scores
submitted as requested. Homework is for
your practice and should not be neglected even though the grades will seldom
count. Quizzes may be assigned in advance or be pop quizzes given during class
time. All tests and programming assignments will be due Midnight ET. All late work will assess a 1-letter grade
per day penalty. Assignments more then three days late will not be graded and
will be assessed a 0.
Semester
Grading Schedule
The
semester grades will be calculated as follows.
Homework/Quizzes: 10%
Tests: 25%
Programs: 50%
End
of Semester Exam: 15%
This
syllabus is preliminary and subject to change as experience dictates.
18
May 2007
James
Larson
Instructor
In
God We Trust…