image

Elgin Community College
CIS 246 Programming Dynamic Web Pages, Syllabus

Syllabus, Fall 2010

Course Web page: http://faculty.elgin.edu/mpelczarski

Instructor Information

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.

Course Materials

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.

Description

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.

Assignments

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.

Originality

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.

Topic Outline

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

Schedule and Due Dates

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.

AssignmentsWeek dueDate for Fall 2010
13September 9
24September 16
35September 23
46September 30
57October 7
68October 14
79October 21
810October 28
911November 4
1012November 11
1113November 18
1215December 2
1316December 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.

Grades

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.