Monday, February 21, 2011

HTML, CSS, and XML Technologies

While you are trying just to do the tasks in each week, it might be useful at this point to stop for a while, step back and look at what you have learned so far. The combination of HTML, CSS, XML, and XSL actually allows you to build complete web sites. Some people make a living just on these technologies and their creative combinations. In actuality a modern web site is a system allowing for presentation level (HTML and CSS) to be separated from the model/controller complexity that is usually on the server and deals with data processing and transformation. From this perspective, XML can serve (and often does) a role of a data store with possibility of moving data from databases to XML and back (we will use SML as such later). Server side XSLT is actually a programming language which can compete with other programming languages and is especially effective for data processing and transformations using XML.

Even such well developed programming language as Java (and some others) has constructs (after version 1.4) allowing to use XSLT instead of writing a similar program in Java. Although the most widespread use of XSLT is in preparing HTML out of other data sources and formats for delivery to the user devices so that they will need only a browser, other transformations (see w3schools examples) are possible  and even more exquisite ways of data processing. ASP systems also often use XSLT as well as it can be useful on its own on both: server and client sides.

Saturday, February 12, 2011

CSS and JIT Learning

CSS (and especially CSS3 being quickly assimilated in modern browsers) is an important part of Web development allowing to control the presentation of your content and possibility of its separation in external .CSS files where you can just substitute name of one .css file for another to totally change the look of your site. There is the whole type of industry – site template creation where people develop nice CSS templates (some cost money) for download by anybody. Later we will use CSS in application to XML and this is why it is important this week to understand its capabilities and way of using. There are many CSS constructs but in this course where we learn many important technologies the learning approach is the following:
1. Learn the idea of the particular technology, what is it for, its use
2. Understand how to apply it in Web development
3. Do some simple labs obtaining hands-on experience with it
4. Learn how to creatively use this technology in you project
5. And understand the concept of JIT (Just-in-Time) learning where you do not need to spend semester on memorizing ALL CSS or other technological constructs, tags, and forms but understanding how to use it – can always go to the site with the list of commands/constructs and pick what you need for that particular moment.

Wednesday, February 2, 2011

Attendance Notes

Looks like majority of the students are scoring points in attendance by logging into Moodle and checking new tasks the First Day of the learning week. Since you are on the curve, - others should probably adopt this practice for better learning and grade results.

Plans for the rest of the semester

Based on the analysis of current students' backgroounds, skills, and computing environments the plan for the rest of the semester is the following:

This week you will deal with XML as a basis for many Web communication methods and protocols which together with refreshed HTML creates the foundation of the main information formats pushed over HTTP. After that we get into CSS styling to see how they can be applied to HTML and XML allowing to separate Web design aspects (pretty looks) from Web development (basic functionality). Then different people/departments can handle these issues separately.

After that we get into JavaScript to learn popular client-side development technologies and how JavaScript can be applied to XML and HTML documents. After that you will move to Ajax to learn how the previously learned technologies can be enhanced by more advanced client-server interactions where a page will be seen not as a document but a number of rather independent action parts with each allowed to communicate with servers whenever the situation calls for it without complete page reloading or other parts' participation.

After that we move to the server side of the development learning PHP and MySQL that can not only enhance the power of asynchronous communications of AJAX but give you the full spectrum of development tools includeing both client- and server-side.

Role of this blog

Since the course is dynamic and using online technology we have a chance to use more frequent communications and getting ongoing feedback for you - I am cerating a blog that will be a dynamic tool allowing to better assist you in your learning efforts.
In this blog I will write reflections on your performance, on grading methods, explain possible task difficulties, provide additional help if needed, etc. Check this blog often since I assume that you've read it in the evaluations of your course work and in creating quiz questions.