SPRING2013
CLASS SYLLABUS
DAY/TIME/PLACE
Instructor: Bruce Donald Campbell
Faculty, Continuing Education - RISD
Providence, RI
Director, Watersheds Project
Providence, RI
Email: bcampbel01@risd.edu
Prerequisites: None
DESCRIPTION
JavaScript is a platform-independent, event-driven, interpreted programming language that enables a web designer to add exciting features to what might otherwise be a static web page.
Part one of this course starts with an introduction to the document object model and a review of basic programming concepts and builds momentum as students learn to use and customize freely available scripts and to avoid common pitfalls. Browser integration with a JavaScript enhanced page is also a lesson topic that pays heed to the primary objective of all web authors as they create an attractive site with full data retrievability. Class exercises give students the experience of setting up a small set of web pages using examples of JavaScript, such as status bar messages, event handlers and image rollovers.
Part two looks covers a more in-depth exploration of programming concepts to build a better instinct for writing popular emerging code styles such as Asynchronous JavaScript and XML (AJAX) and object-oriented library development (for building personal design frameworks). Advanced interactive data processing design and application development are covered as a by-product of investigating available frameworks ideal for JavaScript-based development.
GRADING
Class participation - 20%
Written project - 40%
Homework assignments - 40%
RESOURCES
Books
There are no required books associated with this class - instead, we will use a multitude of online tutorials, advanced research skills, our imaginations, and common sense to piece together a model for how Javascript opens up the Web page to enrich our day-to-day lives and where it might support new human-enabling features in the future.
One free book to consider is http://eloquentjavascript.net/ (we'll consider it together in class)
Course Handouts and On-line Readings as identified below and in class
LINKS
PART I SYLLABUS
Date |
Topic |
Assignment |
|
Welcome to Javascript and the Document Object ModelGoal: To get over any initial angst about learning a scripting language by building a good internal model of how a scripting language builds upon a Web language and takes advantage of available resources in the Web browser. |
Read:
Homework:
|
|
Thinking about Scripting Languages and JavaScript SpecificsGoal: Begin your self-dialog when exploring JavaScript library examples so that you build a personal framework for what JavaScript is and how JavaScript works. |
Read: Homework:
|
|
Events and User InteractivityGoal: Become fluent at understanding Web browser events so that you can write code to handle them for providing intended user interactivity. |
Read: Homework:
|
|
Popular Uses: Javascript Rollovers and Window Management TechniquesGoal: Gain experience with the most popular JavaScript use cases on the Web today. |
Read: Videos:
|
|
Focus on Loops and ConditionsGoal: Learn the features of JavaScript that take advantage of what computers do especially well and humans can find tedious. |
Read: Homework:
|
|
Shared Journey Through Javascript LibrariesGoal: To share JavaScript library exploration together so that we build communication skills typical of a scripting specialist. |
Read: Homework:
|
Welcome to Class
|
||
Class Project Discussion
|
PART II SYLLABUS
Date |
Topic |
Assignment |
|
Advanced Javascript Programming ConceptsGoal: To gain a better fundamental understanding of programming concepts that are directional to Web development and available for use in the JavaScript language. |
Concepts Covered:
Read:
Homework:
|
Aug 9 |
Advanced User InteractivityGoal: Gain experience with all the JavaScript language components available for interactive data processing with your target audience. |
Read: Homework:
|
|
Introduction to AJAX (Asynchronous JavaScript and XML)Goal: Become fluent at communicating AJAX concepts to others and begin to write your own examples of proper AJAX use. |
Read: Homework:
|
|
XML and AJAXGoal: Gain experience with the current popular interactive method for data sharing in applications within a Web browser. |
Concepts Covered:
|
|
Focus on Model-View-Controller Design PatternGoal: Learn the features of JavaScript that allow you to implement the tried-and-true successful design pattern known as MVC. |
Read: Homework:
|
|
Revisiting Javascript Libraries for AJAX IntegrationGoal: To share JavaScript library exploration together so that we build a critical eye in reviewing AJAX implementations. |
Read: Homework:
|