Thursday, November 29, 2012

Extended office hours instead of recitation tomorrow


There will be no official recitation tomorrow, Friday, November 30th. Instead, the TA will have extended office hours from noon to 1:30pm and from 2pm to 5pm (i.e., will be in his office during the recitation times, in addition to his regular office hours).

Wednesday, November 28, 2012

Clarifications to Assignment #5

Please see the comments of this post for important clarifications to Assignment #5.

Assignment #5 posted

Assignment #5 is posted. It is due on December 14th. There will be no late submissions. There will not be a need to do a demo of it. You need to do it individually.

Tuesday, November 27, 2012

Clarifications to Assignment #4


Please see the comments of this post for important clarifications to Assignment #4.

Assignment #4 posted

Assignment #4, on Javascript, is now available. It is due on Friday, December 7th.

Learn AJAX in 20 minutes

AJAX stands for Asynchronous JAvascript and Xml. The main idea is that a web page can use AJAX to send requests (using Javascript) to a web server and then update parts of the page (which are specified using Javascript) according to the web server's response (which could run any type of script, e.g., PHP).

Here's the detailed sequence of steps typically found in an AJAX-enabled web page:

  1. [@web browser] Some event occurs (e.g., onload or after clicking something)
  2. [@web browser] A Javascript function is called 
  3. [@web browser] An XMLHttpRequest Object is created
  4. [@web browser] HttpRequest sent to web server
  5. [@web SERVER] HttpRequest processed, typically by a PHP script
  6. [@web SERVER] A response is generated (e.g., by looking up a database entry)
  7. [@web SERVER] Response is sent back to browser
  8. [@web browser] Process the returned data using Javascript (data could be text, html, or xml)
  9. [@web browser] Update parts of web page, specified by Javascript (e.g., using elementID)

Examples:

  • hello1.html -- "Hello World" example, where after clicking the "Change Content" button, a request is sent to the web server for file hello_ajax.txt which is retrieved by the browser and used to change the content of the page.
  • hello2.html --  same with the previous example, but with the addition of a timestamp, computed locally by Javascript at the browser.
  • hello3.html --  same with the previous example, but now instead of a static file read from the web server, the content is generated by calling hello_ajax.php (source -- run) which computes the date and picks a random pair of words to show.
  • hello4.html --  same with the previous example, but now the PHP script at the web server hello_ajax_d.php (source -- run) includes a time delay of 2 seconds. This is used to demonstrate the asynchronous nature of AJAX. Notice the difference of the two timestamps displayed.
  • suggest.html -- generate suggestions for first names (that have the same prefix as what has been typed), after one or more letters are typed. Relies on gethint.php 
  • suggest2.html -- generate suggestions for first names (that contain these letters), after one or more letters are typed. Relies on gethint2.php

More information:


    Wednesday, November 21, 2012

    Late submission deadline for Assignment #3 pushed

    The late submission deadline for Assignment #3 has been pushed to midnight Monday, November 26, 2012, because of the problems today resulting from the migration of DNS services from our Department's server to CSSD servers.

    Sunday, November 11, 2012

    Clarifications to Assignment #3


    Please see the comments of this post for important clarifications to Assignment #3.

    Thursday, November 1, 2012

    Posted class notes for PHP and SQL

    Class notes for PHP and SQL have been posted under http://db.cs.pitt.edu/courses/cs1520/fall2012/notes.html. Note that the in-class examples are being posted under http://bit.ly/cs1520files and photos from the whiteboard are being posted in the class google photo album.