Tuesday, December 11, 2012

Q: how do you annoy a web developer?

Q: how do you annoy a web developer?
(thought everybody could use a bit of comic relief during Finals Week)

Saturday, December 8, 2012

Office hours during finals week

Although there is no final exam for this class, there is still Assignment #5, which is due on Friday. Here are the expanded office hours that the instructor and TA will hold during finals week:

  • Monday: 1:00pm - 2:45pm (TA @ room 6804)
  • Tuesday: 4:00pm - 6:00pm (Instructor @ room 6105)
  • Wednesday: 1:00pm - 2:45pm (TA @ room 6804)
  • Thursday: 10:00am - 4:00pm (TA @ room 6804) 
  • Thursday: 3:00pm - 5:00pm (Instructor @ room 6105) 
  • Friday: 10:00am - 3:00pm (TA @ room 6804) 

Sample create DB SQL for assignment #5 released

A sample create DB SQL script has been released for Assignment #5. The three tables (Users, Places, Checkins) are also available in the SHARED database.

Thursday, December 6, 2012

Class canceled today

Class canceled today - instructor under the weather. Please check your email for important announcements.

Wednesday, December 5, 2012

jQuery material posted

The material on jQuery that was discussed during class yesterday has been posted under
Class Notes.

Monday, December 3, 2012

Course web site and php web site are now up, after CSSD-caused, preventable CS network outage

The course web site and the php web site are now up and running, after the preventable outage we experienced on midnight, November 30th, when CSSD cut off the CS network.

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.

    Thursday, October 25, 2012

    Recitation tomorrow -- Google Image Charts

    Part of the recitation on Friday (Oct 26) will be on the Google Image Charts API, which is available at https://developers.google.com/chart/image/. You are encouraged to browse through the API documentation ahead of time.

    Tuesday, October 23, 2012

    Saturday, October 20, 2012

    Wednesday, September 26, 2012

    Due date for Assignment #1 pushed back by two days


    The due date for Assignment #1 has been pushed back by two days, i.e., it will be due on Friday, October 5th. However, you are strongly encouraged to finish before the deadline, to leave time to prepare for the midterm the week after.

    Updated input data for Assignment #1 (take 2)

    Unfortunately, in trying to shield you from the ugliness of real data we have fallen victim to it ourselves. As such, we had to update once again the input data file for assignment #1. The updated set was posted at http://db.cs.pitt.edu/courses/cs1520/fall2012/assign.html#1 Only the .txt files were changed, slightly.

    Tuesday, September 25, 2012

    Perl Quiz in class on Tuesday, Oct 2nd

    There will be a short (<15 min), in-class quiz on Tuesday, October 2nd (on Perl). You will have internet access during the quiz and will be able to look up online references and class notes during the quiz. Please make sure to arrive on time.

    Monday, September 24, 2012

    Updated input data for Assignment #1

    The input data file for assignment #1 has been corrected (to account for some minor inconsistencies between the raw input files and the processed data) and was posted at http://db.cs.pitt.edu/courses/cs1520/fall2012/assign.html#1

    Friday, September 21, 2012

    Assignment #1 (Perl) posted

    The first assignment, on Perl, has been posted in http://db.cs.pitt.edu/courses/cs1520/fall2012/assign.html#1. The assignment is due on October 3rd, before midnight.

    Test assignment posted

    The test assignment has been posted under Assignments (http://db.cs.pitt.edu/courses/cs1520/fall2012/assign.html). This is required by all, in order to make sure you are comfortable with the submission interface.


    Wednesday, September 19, 2012

    Tuesday, September 18, 2012

    Fall 2012 web site is up and running

    The web site for the Fall 2012 incarnation of the CS 1520 / CoE 1520, Programming Languages for Web Applications, is up and running at http://db.cs.pitt.edu/courses/cs1520/fall2012

    Wednesday, April 18, 2012

    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:


      Sunday, April 15, 2012

      Clarifications to term project

      Please see the comments of this post for important clarifications to the term project.

      Clarifications to Assignment #4

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

      Term Project released

      The term project has been released. It will be due on Thursday, April 26th (at midnight). We will do demos all day, Friday, April 27th (a sign-up sheet will be provided). If you are working in groups, we need to create new databases for you, so that your personal username/password are not shared.

      Friday, April 13, 2012

      Assignment #4 posted

      Assignment #4 on javascript has been posted. It is due on April 24th. This assignment is optional. If you submit it, we will count the best three assignment grades for your assignment grade.

      Update on Final Exam / Grading Policy

      As we have discussed in class and via email, there will not be a final exam, but instead we will give more weight to the term project. The updated grading policy is as follows:
      • Assignments: 35% (was 30%)
      • Term project + demo: 30% (was 15%)
      • Class participation: 5% (was 5%)
      • Midterm exam: 30% (was 25%)
      • Final exam: 0% (was 25%)
      Also, the fourth assignment is an optional one. If you submit it, we will use the best three grades out of the four assignments to determine your assignments grade.

      Wednesday, April 11, 2012

      Tuesday, March 13, 2012

      Wednesday, February 29, 2012

      Tuesday, February 28, 2012

      Thursday, February 16, 2012

      Midterm exam this Monday

      We will have the midterm examination for the class on Monday, February 20th, during the regular class time (3-4:15pm). The exam will cover all material discussed in class until now (i.e., Perl and PHP). Check the class notes for more details.

      Posted PHP examples

      PHP examples from all lectures until now have been posted under Class Notes.

      Friday, February 10, 2012

      Electronic submission interface is now online

      The electronic submission interface is now operational. To submit your assignment(s), click the Submit button from the menu on the left. If you have not used the system before, you are highly encouraged to do a test submission to Assignment #0, AND verify that your submission was successful by listing the submitted files.

      Clarifications to Assignment #1

      Please see the comments in this post for important clarifications to Assignment #1

      Sample input for Assignment #1

      Posted directory with sample files to use while testing your programs (a1.sampledir.zip).

      Wednesday, February 8, 2012

      Posted PHP examples

      Whiteboard photos from today's class have been posted on Google+ and all the PHP examples have been posted under Class Notes.

      Posted Perl reference material

      Reference books and additional online resources for Perl have been posted under Class Notes.

      Friday, January 27, 2012