About

In December, 2013, Doug asked Denny to create a short course in RESTful programming, including some Javascript, JSON, AJAX and similar content.

To get it kicked off quickly, Denny resurrected a class originally created sometime prior to 1996. At that time, Denny thought it would be a good idea to create a course in web technologies for our staff. That original class was envisioned as a more elementary class than the one Doug requested. Denny’s assumption is that many of the introductory concepts will be useful to provide a foundation for the more advanced class that Doug wants.

On this page

Spec for the 2014 class

Media

  • 4 hour course

Spec for the 1996 course

Copied from the original spec in 1996.

Preliminary spec for the course…

Business objectives

  • (For ESI people) Improve the understanding of fundamental programming concepts in order to
    • be able to accomplish simple programming tasks that speed up our work
    • better understand the tools we use all the time
    • better understand programmers and how to deal with them
  • Establish prototype course that we might decide to offer under our label to the general public.

Audience

  • Our production staff (Barbara, Jenn, Mirla, Cherry)
  • Some of our writing staff (see next bullet)
  • Web content developers and power users who want to be able to do simple programming tasks that automate their own work

Training objectives

  • Understanding of, and hands-on experience with, HTML
    • Be able to build complex web pages, including forms that communicate with server processes.
    • Be able to debug HTML problems, either of layout or functionality.
  • Understanding of, and hands-on experience with, JavaScript
    • Be able to write JavaScript functions and invoke them from HTML forms
    • Be able to do implementation-level design of simple applications based on HTML and JavaScript
  • (Non-objective, probably this would define a followon course)
    Understanding of, and hands-on experience with, Java

    • Be able to write Java applets that imbed in HTML documents.
    • Be able to write stand-alone Java applications

Media

  • Weekly, 2 hour lectures
  • Reading, probably 1 or 2 hours per week
  • Programming homework, probably 4 or 5 hours per week
  • I don’t know how many weeks yet.
  • We’ll develop the course materials on the fly.

Pattern of use

  • The sequence of classes will build on one another, so you need to complete the first programming assignment to keep up with the second lecture, and so on.
  • There is not alot of reference material available, so you’ll have to keep good notes to use for your own reference.

Content

(VERRRYYY Preliminary; this is a laundry list, not in order of presentation)

  • Program concepts
    • Sequence, Memory, State, Condition, Repetition, Abstraction, Object, Function, …
  • Language concepts
    • Form, Effect, Intent, Meta-language, Meta-languages
  • Programming concepts
    • Analysis, Design, Implementation, Verification, Debugging
    • Development time vs. run time
  • Design concepts
    • Object modeling: ERM, State transisitions, CRC, Unified method