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