Sunday, December 21, 2008


The grade is based on three aspects:

  1. The Monday quizes. These quizes are quick and meant simply to verify that you are keeping up with the lectures and the readings. Remember that the "lectures" are actually videos that you must watch at home. I might give a quiz even if I have not explicitly stated that I will so, always be up to date on the lectures and readings.
  2. The in-class exercises. These are more in-depth tests of your ability to apply the knowledge you have acquired.
  3. The homeworks. These are longer projects that will challenge your creativity and resourcefulness.

The final grade will be computed using these weights:



Due Date Lecture Required Reading Homework
Jan. 12 Class Introduction. None None
Jan. 14   None None
Jan. 19 No Classes    
Jan. 21 Internet and HTTP  
Jan. 26 HTML and XHTML  
Feb. 2 Cascading Style Sheets  
Feb. 4 Invited Talk: We meet in 2A27
Jason Beaird
Principles of Beautiful Web Design
Feb. 9     State Farmer's Market Website
Feb. 11 JavaScript Introduction  
Feb. 16 Advanced JavaScript   JavaScript Homework
Feb. 18      
Feb. 23 JavaScript in the Browser
March 2 JavaScript in Browser and jQuery Brain Age Homework
March 4      
March 9 Spring Break    
March 11 Spring Break    
March 16     Ajax homework
March 18 SVG and Canvas Canvas exercise
March 23     SVG Exercise
March 25 Google Ajax APIs Functional calculator exercise
March 30      
April 1 Gears  
April 6 No classes    
April 8      
April 13     Gradebook web application
April 15      
April 20      
April 22      
April 27      
May 4      

Friday, December 19, 2008


Instructor: José M. Vidal
   Office: SWGN 3A51
Class Homepage:
Meeting Time: MW 9:05--9:55am. Swearingen 2A27.
Textbook: Recommended books as well as

This class will cover the development of web applications. We cover all the basic technologies necessary for building web applications as well as new technologies and trends which will used by web application developers in the next decade.

We define web applications as programs whose execution is divided between the web browser (client) and the web server. The client-side is often developed in Javascript while server-side implementations use many different programming languages. Sample web applications include gmail and google maps.

This is an introductory class and no previous knowledge of web technologies or programming is assumed. This class is a pre-requisite for the more advanced CSCE 590: Web applications class. The topics covered are:

  2. Javascript: DOM manipulation, XML, JSON, DHTML, AJAX
  3. Javascript libraries: scriptaculous, jquery, yui
  4. Web application frameworks: Google app engine, Django, Ruby on Rails
  5. Cloud computing: map reduce, hadoop, Amazon's EC2 and S3
  6. Web services and mashups, REST programming
  7. Web applications for the iphone and other mobile devices

No Lectures

Instead of having in-class lectures I have decided to create screencasts of a few of my lectures which you will be responsible for watching. I will also supplement these with other online lectures on by experts on the field. After all, why should you listen to me talk about the birth of the web when you can listen to Tim Berners-Lee instead? There will be in-class quizes to verify that you have seen the lectures and performed the reading for that week. Since we have no lectures, class time will instead be taken up by these quizes and more hands-on exercises, which are also part of your grade, as well as one-on-one help from me. I hope this will provide you with a more personalized experience, and that you will learn faster this way. Because, there is a lot to learn!