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


10 January

Welcome to Javascript and the Document Object Model

Goal: 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:

  • Pre-test: Please write a 1000-word essay of your current understanding of Web scripting languages and what they provide a Web designer, or if you think you know nothing, admit it and let me know what you do with any programming or scripting language general. We will discuss our understanding online and debunk any myths that emerge as a level set.


17 January

Thinking about Scripting Languages and JavaScript Specifics

Goal: 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:

  1. Read more about the Document Object Model.
  2. Review the previous week two workbook suggested solutions as we did in class.
  3. Diagram the JavaScript examples page we used in Week One and e-mail me your attempt before next week's class.
  4. Start the JQuery Tutorial(s)


24 January

Events and User Interactivity

Goal: Become fluent at understanding Web browser events so that you can write code to handle them for providing intended user interactivity.

Read:

Homework:

  1. Review the workbook diagramming from Week 2
  2. Review the Student Example from class.
  3. Try out the HTML 4 Event Triggers in a Web page.
  4. Create a project proposal document as described in class.


31 January

Popular Uses: Javascript Rollovers and Window Management Techniques

Goal: Gain experience with the most popular JavaScript use cases on the Web today.

Read:

Videos:
  1. Video One-31 minutes (Introduction to Video Night)
  2. Video Two-14 minutes (Form Field Prompt Example)
  3. Video Three-21 minutes (JQuery Expand/Collapse)
  4. Video Four-34 minutes (JQuery Draggable and Clone)
  5. Video Five-16 minutes (Editable Content with Local Storage)
  6. Video Six-22 minutes (HTML 5 Canvas)
  7. Video Seven-15 minutes (Gallerific Framework Example)
  8. Video Eight-22 minutes (JQuery API and Tutorials)
Homework:
  • Work on your projects (submit a project plan if you have not done so)
  • Do the workbook assignment for this week.


7 February

Focus on Loops and Conditions

Goal: Learn the features of JavaScript that take advantage of what computers do especially well and humans can find tedious.

Read:

Homework:


14 February

Shared Journey Through Javascript Libraries

Goal: To share JavaScript library exploration together so that we build communication skills typical of a scripting specialist.

Read:

Homework:

  1. Projects are Due Wednesday, July 25th, at 11:59pm
  2. Check out the class project submissions
Welcome to Class

File Size: 37 kb
Posted: Sun, May 30, 2009

Class Project Discussion

File Size: 24 kb
Posted: Fri, Jun 26, 2009

PART II SYLLABUS

Date

Topic

Assignment


Aug 2

Advanced Javascript Programming Concepts

Goal: 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:

  • Object-Oriented JavaScript
  • Design Patterns

Read:

Homework:

  • Diagramming Workbook

Aug 9

Advanced User Interactivity

Goal: Gain experience with all the JavaScript language components available for interactive data processing with your target audience.

Read:

Homework:

  1. Start the AJAX Tutorial(s)


Aug 12

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:

  1. Create a project proposal document as described in class.


Aug 16

XML and AJAX

Goal: Gain experience with the current popular interactive method for data sharing in applications within a Web browser.

Concepts Covered:

  • loading XML
  • Receiving Served XML Responses
  • Passing XML to the Server
  • Overview of Server Side Technologies
Read: Homework:
  • Work on your projects (submit a project plan if you have not done so)
  • Do the workbook assignment for this week.


Aug 23

Focus on Model-View-Controller Design Pattern

Goal: Learn the features of JavaScript that allow you to implement the tried-and-true successful design pattern known as MVC.

Read:

Homework:
  • Work on your projects


Aug 30

Revisiting Javascript Libraries for AJAX Integration

Goal: To share JavaScript library exploration together so that we build a critical eye in reviewing AJAX implementations.

Read:

Homework:

  1. Projects are Due Sunday at 11:59pm
  2. Check out the class project submissions