\n"); } else { header("Content-type: text/html; charset=utf-8"); } ?> Script Programming For The Web

This is a generic syllabus for the course. The actual schedule of assignments and exams is given in the course web page.

Unless otherwise indicated readings are in Simply JavaScript by Kevin Yank and Cameron Adams. The book is available directly from the publisher: sitepoint.com.

Class NumbersTopics
1

Introduction to Scripting Languages

Topics
  • Compilers, Emulators, and Interpreters
  • Shell Scripting: Bash; Cmd.exe, …
  • CGI Scripting: Perl, …
  • Scripting Languages: JavaScript; PHP; Ruby; Python, …
  • Libraries and Frameworks
  • Scripting, Web Standards, and Accessibility
Readings
Chapter 1
2

Web Site Structure And Operations

Topics
  • Client-Server Model: Internet message passing; hosts; ports
  • The Apache Server: Configuration file; modules; log files
  • DocumentRoot
  • Subdirectories: css, scripts, images
  • Life-cycle of a web request from browser’s perspective
  • Server request processing: server-side scripting
Readings
Chapter 2
3-10

Client-Side Scripting

Topics
  • script tags, scripts directories, and .js script files. jsmin and jslint.
  • Embedded JavaScript — Not!
  • Values: numbers; strings; references; booleans
  • Variables, Expressions, Statements, Functions, Arrays, and Objects
  • Events: handlers vs listeners; managing
  • Control Structures
  • DOM Interactions: Form verification; Dynamic Effects
  • Debugging/Optimizing with FireBug
Links
JavaScript Tutorial
Readings
Chapters 2, 3, 4, 6, 7
11Midterm Exam
12-20

Server-Side Scripting

Topics
  • Server Processing (Apache): embedding in XHTML documents; code scope; generating response headers
  • Variables, Expressions, Functions, Arrays, Objects, Classes
  • Control Structures
  • Receiving and sanitizing form data.
Readings
21-28

Client-Server Script Interactions

Topics
  • XMLHTTPRequest Processing
  • JSON Processing: JavaScript; PHP
  • XML Processing: Use as a database
Links
JSON Website
Readings
Chapter 8
Final Exam/Project

There will be four programming projects in addtion to the final exam/project. The four projects will count 10% each, the midterm will count 30%, and the final exam/project will count 30%.

This is a “best guess” syllabus: everything is subject to change!