Course Web page: http://faculty.elgin.edu/mpelczarski
Name: Mark Pelczarski
Phone: (847) 214-7498
Office: ICT-124
Campus E-mail: mpelczarski@elgin.edu
Office/Lab hours, Fall 2010:
Monday 4:00-6:00pm
Tuesday 12:45-2:00pm
Wednesday 12:45-6:00pm
Thursday 12:45-2:15pm
Class Hours:
Self-paced, online. See the section below about
Schedule and Due Dates.
Required Text:
None.
There is a list of recommended books on the course home page, and
several links to websites that have good resource and reference material.
Software:
You will need a web browser (such as Internet Explorer,
Firefox, Chrome, Safari, or Opera),
an FTP client program (such as Filezilla),
and a text editor (such as Notepad or Notepad++). These are all free for
download on the Internet and links are given on the course home page.
In this course you will learn a variety of applications for client-side scripting on web pages. "Client-side" scripts are programs that run within the web browser on the client computer, not the server. Anything you can run on the client machine generally makes your website faster and more efficient, saving processing time on the server and communications time between the server and client. Javascript (or ECMAscript) is the most common client-side scripting language.
The most useful application of client-side scripting is form validation, used before the contents of a user-completed form are submitted to a server for processing. We will also learn how to use the events generated by the browser (keypresses, mouse clicks, etc.) to make pages more interactive by doing things like swapping images or opening informative dialog boxes (windows) while keeping the same web page in place.
Then we will extend our use of browser events to explore DHTML, or Dynamic HTML. This is the use of Javascript to dynamically change the content or look of an HTML page while it is being displayed. Using the Document Object Model (DOM), Javascript can change any HTML or CSS element on the current page. This makes it possible to change the visible page content and make a page interactive without the time lapse involved with communicating with the server.
Finally, we will learn to use AJAX, which is not a language. "Asynchronous Javascript And XML" is a method of programming combining DHTML with a Javascript function that communicates with the server while a page is being displayed. This makes it possible to update only portions of a page by communicating just small chunks of information back and forth with the server instead of loading entire new pages. Less data transfer is faster, and AJAX makes it possible to create a truly interactive web page that replaces a multipage interactive website. Taken to the extreme, this allows one to take almost any application that can be created in a window and create it in a web browser window.
There will be a series of programming assignments throughout the course that will give you an opportunity to practice what you are learning. Your grade will be based on successful completion of each of the programming assignments. Although the course is self-paced and you can work ahead and complete the course as quickly as you want, you are expected to keep to a minimum timetable. See the schedule below for minimum due dates.
Each assignment should be primarily your own work. I realize that certain programming tasks will require doing things in ways that you've learned from specific samples, either from a book or from other resources. If you use multiple lines of code from any source, you musst use comments above that code that clearly list the source. If it's a web site, give the URL. If it's a book, give the title, author, and chapter or page. Remember, though, that your programs should demonstrate YOUR knowledge about the specific topic of the assignment, not your ability to copy and paste!
As with any written assignment, any excerpts of code from ANY source should be attributed by using comments in your code that clearly show which block of code is from another source along with complete links that would let anyone find that source. Failure to give proper attribution for any code, which therefore implies that you created it yourself, is plagiarism and will be treated accordingly.
1. Overview and Language Essentials
2. Javascript Functions and Objects
3. Programming events
4. DHTML: Modifying the document and its styles
5. AJAX 101
6. Form elements and events
7. Form Validation and Regular Expressions
8. AJAX with forms
9. Using Querystrings
10. Timeouts and Intervals
11. Cookies
12. AJAX with multiple results, JSON
13. Yahoo User Interface library and Google Maps
Extra: Expanding the Mouse interface
This is a "self-paced" course, with conditions. You must keep a minimum pace as described below to pass the course and avoid being dropped. But you may also work through the course as quickly as you are able.
Assignments are due by Thursday at noon of the week of class specified below.
| Assignments | Week due | Date for Fall 2010 |
| 1 | 3 | September 9 |
| 2 | 4 | September 16 |
| 3 | 5 | September 23 |
| 4 | 6 | September 30 |
| 5 | 7 | October 7 |
| 6 | 8 | October 14 |
| 7 | 9 | October 21 |
| 8 | 10 | October 28 |
| 9 | 11 | November 4 |
| 10 | 12 | November 11 |
| 11 | 13 | November 18 |
| 12 | 15 | December 2 |
| 13 | 16 | December 9 |
You may complete the assignments as early as you are able. Just send me an e-mail each time you complete an assignment and I will usually check it within a day or two. You do not have to wait for me before starting (and perhaps completing) the next assignment.
The only variance for the due dates is if you register for the course after the beginning of the semester. You will be allowed a proportional amount of time to catch up to the schedule, but you will still be expected to finish the final assignment by the date listed.
To allow adequate time for grading and corrections, late assignments will not be accepted in the last three weeks of the semester.
Your grade will be based on satisfactory completion of each of the assignments in a timely manner, and the quality of work represented by those assignments. A checklist is provided for each assignment. On-time completion of all checklist items for all assignments is the minimum requirement for a grade of B or better. A's are earned with exemplary work.