EDK EME 6930
Programming Languages in Education:
Web Programming 1
(Syllabus addresses all course sections taught by Dr. White. On-campus and Distance Learning differences are noted.)
Asst 0 Asst I Asst II AsstIII Asst IV Asst V Asst VI Project
ON-CAMPUS SECTION 901: (ref#81215)
James A. White, Ph.D.
SCHEDULE: Thursday Evenings, Fall: 5:15 - 8:00 PM, EDU213
PREREQUISITES: Graduate standing, OS fluency (MS Windows 95/98 or MacIntosh OS or equivalent), and fluency with applications (wordprocessing, email, web browsing, database, etc.)
COURSE PERSONNEL
| James A. White, Ph.D. | EME 6930 Course Professor | EDU162 (mail) EDU302U (office) |
| (813) 974-1629 | wwwprog@tempest.coedu.usf.edu |
University of South Florida, 4202 Fowler Avenue, Tampa, FL 33620-5650
SCHEDULE: There are NO class meetings except for the final exam. The course is conducted by email/WWW. See Schedule of assignment submission and other deadlines. Ignore any materials or web pages indicating any initial meeting for this class. I won't be there.
PREREQUISITES:
The Distance Learning option is offered to a limited number of qualified students for whom the on-campus course is not a productive option. These are students who have substantial programming experience. Participants are expected to be highly motivated and self-directed. Additional prerequisites that you must have are: 1) previous programming experience, knowledge of and experience in using basic data structures (e.g. scalar and arrayed variables) and basic control structures (e.g. if, case, for, do.); 2) email and the ability to use it to send messages with attachments; 3) some previous experience with HTML; 4) your own web space at which you already know how to publish web pages; 5) a Windows 95 system (or later); 6) willingness to come to Tampa for the final examination; 7) you must email the instructor for a permit to register.
TEXT AND OTHER COURSE MATERIALS
REQUIRED: McDuffie, T. S. (2003). JavaScript Concepts &
Techniques: Programming Interactive Web Sites. Wilsonville, Oregon:
Franklin, Beedle & Associates. ISBN: 1-887902-69-4 BUY IT AT http://www.fbeedle.com/69-4.html
COURSE DESCRIPTION
Web Programming 1 is an introduction to problem-solving and programming within the field of education. Course content is developed in the context of its application to instruction and to the collection and manipulation of educational data.
COURSE OBJECTIVES
01.0 Identify strategies and procedures for using high level programming languages to implement instruction and to collect & manipulate educational data.COURSE PRODUCTS
The Course Products that comprise the basis for evaluation of the student's performance are seven formal benchmark Assignments (0-VI), a Course Project (optional), and a Final Examination.
Course Assignments:
Before attempting to write any of the Assignment programs described below:
In each of the Assignments you are instructed to demonstrate mastery of the objectives by creating a single, culminating product. This single, culminating product should be made to demonstrate your mastery of the concepts in a straightforward, spartan manner. The online sample solutions are, in most cases, more complex than what you should create. I will evaluate your assignment solutions and give you feedback (by email) regularly as you notify me (by email) of their completion. However, if you expect to learn the course material well, you will have to write/study many, many more programs other than your Assignment submission. (There are abundant exercises and examples in the course text.)
As you create your assignment submissions, adhere to the general intent of each task, not the exact detail of how it has been accomplished in the sample solution. I don't want you to recreate the sample programs, just to do something comparable -- as long as you accomplish the same general objectives about learning programming. 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/webprog1/). Also, be sure that all your work functions well at 640X480 (very low) resolution.
How Will You Know If Your Assignment Is Correct? In most cases it should be self-evident, but whatever the case you will always receive a return email from me with feedback in response to your message to wwwprog@tempest.coedu.usf.edu telling me that the assignment is ready for evaluation. If the assignment is OK I will tell you so. If it is not, I will tell you what I think you should do.
For those who seek the course "A" by submitting a Course Project, I evaluate projects at the very end of the course, so I normally send no email response. My evaluation is factored into the overall course grade. However, I will respond to specific questions about course projects as best I can.
How Soon Will I Respond? I prioritize. I try to respond to direct questions
from distance learners within 24 hours of my receipt the message. For
on-campus students, it depends upon the nature of the question, but most issues
should be addressed in the weekly lab sessions, not by email. For assignment submissions
and resubmissions about which you don't have questions, I try (and almost always
succeed) to respond on a weekly cycle, much as you would experience in an
on-campus class. I try to let NO message of any kind go unanswered for
longer than a week, except during University holidays. Also, although
I will receive assignment and project submissions
after the overdue deadline near the end of the
course,
I won't usually respond to them. Assignment #0: Introduction to HTML Assignment #I: Introduction to JavaScript Assignment #II: Data and Decision-Making Assignment #III: Repetition and Arrayed Data Assignment #IV: Randomness & Other Useful Methods Assignment #V: Variable Arrays and Modular Programming
http://www.coedu.usf.edu/wwwprog/cgi-bin/post-query.pl OR You may wish to work
ahead to a later course topic and use OPEN.org's email-forwarding script http://www.open.org/user-cgi/mailto.cgi
which is documented at http://www.coedu.usf.edu/webprog1/emailer.html
(But don't use it to forward data to ME. I get enough spam as it is ...)
(Note: I suggest that you build this in at least two phases. First, make the basic web page without the form elements. Then, once that is working, go back and add the form elements.)
References - McDuffie Intro, Chapters 2 (pp. 45-53) & 12 (HTML Form
Elements), and Appendix D; online HTML tutorials; Assignment 0 Demo Programs
Sample Solution 0 - http://www.coedu.usf.edu/webprog1/sample0.html
References - McDuffie Chapters 1, 2 (pp. 54-74), & 5,
and Appendix D; Assignment I Demo Programs
Sample Solution I - http://www.coedu.usf.edu/webprog1/samplei.html
References -
McDuffie Chapters 3, 4, & 6, selection content (if, switch),
and Appendix D;
Assignment II Demo Programs
Sample Solution II - http://www.coedu.usf.edu/webprog1/sampleii.html
References -
McDuffie Chapter 6, repetition content (while, for, do),
and Appendix D;
Assignment III Demo Programs
Sample Solution III - http://www.coedu.usf.edu/webprog1/sampleiii.html
References -
McDuffie Chapters 9 & 10, and Appendix D; Assignment IV Demo Programs
Also, there are many additional methods that belong to the string, math, and other objects that you may wish to incorporate in your work. You can find more information in Netscape's online JavaScript documentation. Here's a good place to start: http://wp.netscape.com/eng/mozilla/3.0/handbook/javascript/
Sample Solution IV - http://www.coedu.usf.edu/webprog1/sampleiv.html
For example, in samplev.html, the code that selects the random stimulus to be presented is now
a programmer-defined function named RndStim(). The expression Answer=RndStim(2)
causes a string of 2 randomly chosen digits to be generated and assigned to the variable Answer.
Also, at the end of the program, instead of
displaying the latency of the last response, the mean latency of all the response trials
is displayed. This was implemented by creating a function named Mean.
The expression: alert(Mean(TrialTime, NumDigits)) causes the mean of all the response latencies (times) stored in the array named
TrialTime to be displayed in a message box. NumDigits contains the number of trials completed.
References -
McDuffie Chapters 7 & 8, and Appendix D; Assignment V Demo Programs
Sample Solution V - http://www.coedu.usf.edu/webprog1/samplev.html
NOTE: Many students find this unit to be the most difficult part of the course.
It is not normally possible to achieve an "A" grade if you fail to "get"
these concepts, however it IS still readily possible to get a "B." Assignment #VI: Data Storage and Multimedia Course Project: Notes: Beginning at about
Assignment IV, if your goal is to earn an "A" in the course, you
should begin work toward your course project by trying to integrate
the new information that you have learned into something larger and more ambitious
than your assignment solution.
If you do that consistently, you'll learn more and you'll have a big head start on your course project. Although I will help you with
your developing course projects, I will
only evaluate the project at the end of the course. Final Examination: The final will be a multiple choice format examination of the rudiments of HTML forms, JavaScript, and related topics. The number of items on a given topic will reflect the amount of attention paid to it in class.
The following example items are indicative of the format and average level
difficulty. Sample Items: (correct answers are indicated by **) See additional sample items at: http://www.coedu.usf.edu/webprog1/wp1sampleitems.pdf STUDENT ASSESSMENT TO EARN A COURSE "B"
You must revise incorrect assignments until they are correct. In order to secure a Course "B" grade, no fewer than 4 assignments must be submitted
on-time.
TO EARN A COURSE "A":
In addition to meeting all the conditions for a "B":
"I" (Incomplete grade) POLICY USF Graduate School policy affords professors the "Incomplete" option only
when a small portion of the student's work is incomplete and only when the
student is otherwise earning a passing grade. 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".
Don't ask me what form the documentation should take or what is acceptable. If I find any problem with it I'll let you know.
"I" requests must be made and valid documentation provided before the course is
over and grades have been issued. This policy, combined with the Graduate School's current policy of refusal to
entertain any petitions to take actions retroactive to a previous semester,
means that you must make a firm commitment to the complete the course, or drop
it very quickly. If you decide to drop the course be sure to do so
formally and follow up to verify, otherwise you are likely to receive a poor
grade in the course -- one that cannot be removed. There is no "grade
forgiveness" policy at the graduate level. Once issued, an "I" will normally 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
the grade that you have otherwise earned.
If you are not satisfied with that outcome your only option will be to repeat (re-registering and re-paying) 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. Specific ISTE Competencies addressed in the course 1.1.1, 1.1.2, 1.2.2, 1.2.3, 1.2.4, 1.3.1, 1.3.5, 2.2.1, 2.3.1, 2.3.2, 2.3.3, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.7, 3.1.9, 3.1.12, 3.2.8, 4.1.1, 4.2.1, 4.2.3, 4.3.1, 4.3.2, 5.2.1 Lab Experiences Approximately 50% of class meeting time is allocated for instructor-facilitated laboratory work.
Objective for All Others -- Create an original program that does the
following:
Samplevi.html, for example, modifies samplev.html by collecting a subject's ID# and age. It then stores that information along with
the performance data in the cookie and emails the data to me. The subject is able to view his/her data on the client under password protection.
Moving images and audio are used to enhance the program.
References -
McDuffie Chapters 11-14, (15 optional), and Appendix D; Cookie Documentation, MAILTO Documentation; Assignment VI Demo Programs
Sample Solution VI - http://www.coedu.usf.edu/webprog1/samplevi.html
for (var Index = 0; Index < 3; Index++) document.writeln(Index+1)
2. What value will be displayed by the program below?
Sum = '1';
while(Sum.length < 3) {
Sum = '0' + Sum;
}
document.writeln(Sum)
USF Policy on Religious Observances: All students have a right to expect
that the University will reasonably accommodate their religious observances,
practices and beliefs. Students are expected to notify the instructor in writing
by the second class if they intend to be absent for a class or announced
examination, in accordance with this policy.