"Design is where science and art break even."
- Robin Mathew
to support HTTP GET requests. This means that it can be deployed to directories in a client machine
that has no web server and still run effectively. I use the site, deployed to a laptop, for all
class room discussions.
It is easy to navigate because all of the site's functionality is exposed through the top level menus.
A user can simply hover over each of the links at the top to see all the content associated with that link.
You can try that on this page.
Technical content that is common to more than one course is included in the Core Tech links and in the
Blog. I use the blog to present technical ideas that augment course discussions, perhaps with additional
detail. Blog entries also provide information about some reusable components I've developed, e.g.:
Thread-safe blocking queue used to pass messages between threads and processes
FileSystem that provides access to directory content and properties for C++, modeled after
the very well engineered .Net System.IO namespace contents.
NoSql Database, developed and used for class projects.
Other containers like Directed Graphs and M-ary Trees.
Each course has its own content specific menus - similar from course to course, but not identical.
There you will find notes that serve as brief summaries of things we discuss in class, useful in
preparing for exams and for job interviews.
I've developed some web components to factor site operations into parts that can be reused in multiple
pages, without writing a lot of code:
NavKeysContainer and NavKey support the TBHPN buttons at the bottom right of each page for moving around
the page, getting help, and moving to Next or Previous pages.
toggleVisibility for More/Less management of content (ScriptsTemplate.js)
increaseSize and decreaseSize for expanding images to see small detail (ScriptsTemplate.js)
This component needs some work to remove repedative code in page views.
info-bar displays copyright and last modified dates for each page.
spacer-15 component replaces paragraph tags which have awkward behavior when used in list items.
Next and Prev page handling provides N and P links on the top menus, but only if the page has
logical successor and predecessor, as indicated by hidden link anchors on the page (ScriptsMenu.js).
readings-block, topic-block, notes-block, and caption-text manage presentation of content in styled blocks (StylesTemplate.css).
under-construction, revised-date, more-less, and photo-container are components that support
common display modalities on multiple pages (StylesTemplate.css).
There is a new standard for Web Components that I will
explore later. I expect that most of the components I've cited above will be converted to the new standard.