DEPARTMENT COURSE SYLLABUS
ref# 11580 EME 6930-798 Programming Languages in Education: Web Programming 2
Spring 2009
http://www.coedu.usf.edu/wwwprog/
COURSE INSTRUCTOR
| James A. White, Ph.D. | wwwprog@tempest.coedu.usf.edu | |
| Office: EDU 302U | Phone: (813) 974-1629 | Hours: By Appointment |
CLASS MEETINGS: None regularly scheduled
PREREQUISITES: "A" in EME 6930 PLE: Web Programming 1
COURSE DESCRIPTION
Web Programming 2 is a graduate level education course designed to introduce experienced educational web programmers to intermediate-level topics in client-side educational programming and to the application of the fundamentals of server-side programming to educational goals. The major course content is browser programming with JavaScript, server CGI programming with Perl, and server ASP programming with VBScript.
| REQUIRED COURSE MATERIALS AND RESOURCES | |
| 1. | McDuffie, T. S. (2003). JavaScript Concepts & Techniques:
Programming Interactive Web Sites. Wilsonville, Oregon: Franklin, Beedle &
Associates. ISBN: 1-887902-69-4 NOTE: This is the same text used in Web Programming 1. |
| 2. | JavaScript Docs at Mozilla JS Reference & W3Schools Reference |
| 3. | Castro, E. (2001). Perl and CGI for the World Wide Web (2nd Ed.). Berkeley, CA: Peachpit Press. ISBN #0-201-73568-7 |
| 4. | Appropriate computer system with, at minimum, an appropriate text/HTML editor, Internet/WWW access, Netscape Navigator 3.0 or Microsoft Internet Explorer 4.0. In the process of the course, you may need to secure and implement local web-server software and the Perl interpreter. (No cost involved.) |
| 5. | An Internet account that provides email and web-posting facilities. This account must also allow you to implement Active Server Pages (ASP) or CGI programs that you have written in Perl. USF Academic Computing will provide you with such an account on the myweb.usf.edu host |
| 6. | Many other resources online at http://www.coedu.usf.edu/wwwprog and http://www.coedu.usf.edu/webprog1 |
OPTIONAL COURSE MATERIALS AND RESOURCES
1. Although USF provides server space appropriate for you to practice CGI with Perl, there is no comparable support for ASP. If you wish to practice ASP during the course you will have acquire appropriate server space elsewhere, or install your own local MS server. Regarding the former, ASP hosting appears to be available for as little as $4.00/month. The best option for the latter is XP Pro, which provides MS Internet Information Server. XP Pro can be purchased with a student discount at the USF Computer Store: http://www.computerstore.usf.edu/ Another option is to use the MS Personal Web Server that was supplied with Windows 98 SE. PWS also operates under some other older versions of Windows, but not XP Home Edition.
2. The only ASP/VBScript references that I have identified for you are online. You may wish to invest in some printed references as well. These can often be found heavily discounted at local bookstores.
COURSE OBJECTIVES & PRODUCTS
In each of the following Assignments, write a program that will demonstrate your mastery of the
objectives in a straightforward manner. Throughout your work, remember to refer regularly to the appendices in your textbooks, to the resources located at the web sites that support the textbooks, and to the resources online at the course web site - http://www.coedu.usf.edu/wwwprog/
Also, be sure that all your work functions well at 640X480 resolution.)
Although I have attempted to correlate the assignments below to chapters in the textbooks, it is far from a perfect fit. The books just aren't organized that way.
Assignment #I:
Objective - Convert the multiple data arrays in your Assignment I into a
single array whose members are instances of a programmer-defined object class. Convert at least one of
the functions that processed the data in your Assignment I into a method of your
new programmer-defined object class. Add significant data validation
functions or methods. In the sample solution below, for example, the
parallel arrays that were used formerly for the questions, answers, and prompts
have been replaced by the single array ProblemSet[]. Each element of ProblemSet[]
is a JavaScript object type named Problem. A Problem is defined to have a
Question, a Prompt, and a set of correct Answers, which is another JavaScript
object defined to have as many as three possible correct answers. Note how these
changes are reflected throughout the code; especially how the PresentQ function
is now implemented as the Present method and how the Check function uses the
"with" operator to check all the possible correct answers
conveniently. Assignment #III: Assignment #IV: Assignment #V: Assignment #VI:
References - McDuffie 1-14 (esp. 7) OR Deitel 1-12; HTML Made Really Easy; CGI Made Really Easy
Sample I - http://www.coedu.usf.edu/wwwprog/Sample2b.html
Assignment #II:
References - McDuffie 16 OR Deitel 13, Online JS Docs at http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Creating_New_Objects
and http://www.w3schools.com/js/js_objects.asp
Sample II - http://www.coedu.usf.edu/wwwprog/Sample3b.html
References - McDuffie 7, 16 & find online web references OR 1st Ed.
Deitel 11.9-11.11, 12.7-12.8, 14, 17, 19, 20, 28; 2nd Ed. Deitel 6, 10.10-10.12,
11.7-11.9, 13-17, 17-18, 20
Sample(s) III - 1) getRadioGroupValue Method
2) Animage Object
3) Quiz Object
4) More on recursion
References - Castro 1-6, 8, 17, Appndx A-E; MS VB Script & ASP References. (Also some
relevant Chapters in Deitel.) CGI Wrap on myweb.usf.edu
Sample IV - http://www.coedu.usf.edu/wwwprog/sampleiv.html
References - Castro 7 & 9, reference 10-16 as necessary; MS VB Script & ASP
References.
Sample V - http://www.coedu.usf.edu/wwwprog/cgiqtst2.html
1) store on the server data submitted by the HTML form
2) read data from the file on the server and return it to the client.
References - Castro 18-20,
reference 10-16 as necessary; MS VB Script & ASP References.
(Also some relevant Chapters in Deitel)
Sample VI - http://www.coedu.usf.edu/wwwprog/surveyi2.html
Course Project: ("A" students only.)
Objective – Draw upon overall course material to construct a unique and sophisticated application that differs appreciably from or extends significantly the samples presented by the instructor.STUDENT ASSESSMENT
TO EARN A COURSE "B"
1. Assignments must be completed and submitted according to the Course Schedule, roughly an assignment every two weeks. The term "submit" means that the assignment is complete, that an email message has been sent to the instructor stating such, and the message includes the exact URL at which the work may be accessed. (Please establish a permanent web presence for this course to which I can go and just click links labeled "Assignment I", "Assignment II", and so on.) Incorrect assignments should be revised until they are correct. In order to secure a Course "B" grade, at least TWO of assignments I-III must be completed successfully, at least TWO of assignments IV-VI must be completed successfully, and no fewer than THREE of those assignments must be submitted on-time.
2. Class Participation - On-campus students ARE expected to attend every class and to participate. Students are NOT required to complete assignments in the COE computer labs -- lab activities may be performed at home or at other suitable locations. Prepare readings in advance of class and spend enough time working outside of class to ascertain that competencies are being met. Expect to spend a substantial amount of time outside of class entering, modifying, and executing many different programs. The COE computer labs are open most weekdays and some evening & weekend hours. Check the labs for posted hours of operation.
TO EARN A COURSE "A":
In addition to meeting all the conditions for a "B":
1. All assignments must be completed correctly and no fewer than 5 of them must be submitted on-time.
2. A course project must be completed and presented briefly (5 min.) for discussion at the last class meeting. The project should demonstrate significant mastery of course concepts. (Presentations required of on-campus students only.)
3. The course project must make substantial and appropriate use of modular structure. Inherent in this concept is the appropriate use of data at global and local levels and the consequent passing of data and objects between subprograms.
4. The course project must include appropriate amounts of clearly-written internal documentation (remarks contained within the program code.)
5. The course project must move beyond the level of "brute force", situation-specific programming to the substantial use of generalizable algorithms. For example, if the program needs to present the subject with a number of multiple choice questions, a brute force approach is to make each question a different subprogram of the main program. A more generalizable approach is to write one question subprogram that either generates the questions or reads them from storage.
"I" (Incomplete grade) POLICY
Students sometimes fail to progress in technology-centered courses because adequate prerequisite technical skills are not possessed or because adequate time management and study skills are not exercised. These are NOT appropriate bases for the issuance of an "Incomplete" grade. No "I" grades will be awarded in this course without extenuating, documented circumstances, such as death in the family or extended illness. If you should happen to arrive in such unfortunate circumstances, be sure to provide me with suitable documentation when you approach me about the "I". I won't ask you for it. Also, don't ask me what form the documentation should take or what is acceptable. You make that decision. If I find any problem with it I'll let you know. Your "I" will buy you one more semester in which to finish your work. If you haven't earned a higher grade by that time, your grade will convert permanently to an "F" and there will be no way to complete the course. If you wish at that point to continue, you will have to start anew by re-registering (and re-paying) for the course.
ADA Statement: Students with disabilities are responsible for
registering with the Office of Student Disabilities Services in order to receive
special accommodations and services. Please notify the instructor during the
first week of classes if a reasonable accommodation for a disability is needed
for this course. A letter from the USF Disability Services Office must accompany
this request.
USF Policy on Religious Observances: Students who anticipate the necessity of being absent from class due to the observation of a major religious observance must provide notice of the date(s) to the instructor, in writing, by the second class meeting.
Lab Experiences
Approximately 50% of class meeting time is allocated for instructor-facilitated laboratory work.