Such widely used applications as Google Maps, Google Suggest, and Gmail are built using AJAX (Asynchronous JavaScript and XML) Web Services.
Learn the concepts necessary to build AJAX Web Services applications, and discover how AJAX Web Services can help developers create dynamic web application experiences,
eliminating deployment problems and lackluster user experiences. Using AJAX, developers facilitate asynchronous requests to the web server
while the client interacts with a webpage, therby delivering a richer user interface and experience.
COURSE LEARNING GOALS:
1. Course Objectives:
The objective of this course is to learn AJAX Web Services and understand how AJAX Web Services can enhance the web experience and interactivity.
The course will cover advance topics such as HTTP the Hypertext Protocol Language used on the web to communicate between the browser and the web server.
We will learn how to shift from a synchronous transmission paradigm to an asynchronous one. The course will cover advanced topics
in XML which is used to deliver data from the web server to the web browser, as well as JSON, an alternative and a simpler data delivery mechanism.
The course will cover the core Document Object Model as it relates to both HTML and XML.
The course will also cover how to build a web service using either PHP or Python to obtain requests from the client, and deliver the content requested
using AJAX in both XML and JSON format back to the browser.
We will also learn about JSONP which allows you to get around AJAX "same domain policy" restriction.
The course will conclude by introducing you to jQuery, and how jQuery uses AJAX.
The focus of the course will be on the following topics:
HTTP - the Hypertext Transmission Protocol
Synchronous vs. Asynchronous transmission
XML - the eXdensible Markup Language
JSON - the JavaScript Object Notation
AJAX - performing AJAX using JavaScript
Web Service - examples of how to create a Web Service in PHP and in Python
DOM - the core Document Object Model as it related to both HTML and XML
JSONP - JSON with padding
jQuery - the jQuery JavaScript library
AJAX - performing AJAX using jQuery
2. Student Learning Outcomes:
Obtain a deep understanding of the HTTP transmission protocol
Understand the reason and advantages of asynchronous communication
Master the syntax of XML, and how to use it properly
Master the syntax of JSON, and how to use it properly
Learn the Document Object Model as it pertains to HTML
Learn how to navigate and manipulate the DOM from within JavaScript
Understand (and possibly create) a server-side PHP Web Service, or Python Web Service
Understand how to asynchronously connect to the server-side Web Service to obtain data
Learn how dynamically display returned data on the web page
Differentiate between AJAX style communication and JSONP style techniques
Class Attendance and Participation: To receive full credit for the course, you must attend all classes since much of the learning occurs during class presentation and discussions.
Please contact the instructor if you anticipate missing any part of the class.
Grades will be based on:
Involvement in class activities
Participation which demonstrates integration of reading, class work, relevance and application.
Willingness to learn by accepting feedback, trying new skills and approaches, etc.
Quality/quantity of providing effective and balanced feedback.
Homework: Homeworks must be submitted on time within 1 week of date assigned.
Late submission will severely impact your homework grade, or may not be accepted altogether at instructor discretion.
Class Project Presentation: There will be an individual class final project.
The project will be a culmination of your learning of all the topics, concepts and competencies presented in this class.
Final Exam: There will be a final exam. The exam will be an open book, open notes style exam.
The exam will test the student's acquisition of topics, concepts and competencies learned in this class.
How to Submit Homeworks.
- Homework assignments are always due the next session we meet.
- Print out your homework code and output and bring with you to class the next time we meet.
- I will either collect, or will ask students to discuss their solutions in class.
- I will not accept homework via email unless you are not able to attend the class.
- For PHP or Python, proper indentation is a must. If not properly indented I may return it without grading it.
- Multiple pages should be stapled together.
Grades are FINAL.
Please do not negotiate for a better grade. If you are expecting to receive a grade of an "A"
at the end of the semester, then I expect you to attend all sessions (unless I am notified ahead of time),
to participate in these sessions, to keep up with the class reading material, and to complete your homework assigments.
This will ensure that you stay current with the class content, and will ensure that you get a good
grade on your test(s), project as well as your final grade.
If you are not interested in a grade, or you do not submit your homeworks/project or take the exams,
then you will receive a grade of an "NE" (Non-Evaluative). A grade of NE is final, and cannot be changed.
A grade of NE cannot be applied as partial fulfillment for any NYU certificate program.