| EDK EME 6930
Programming Languages in Education:
Web Programming 1
|
Assignment 0
Use HTML to make a simple web page with various formatting features (a title, a picture, color settings,
some text displayed in varying fonts and other attributes, etc.) and various links to other pages.
The page should also include a form with various input fields & buttons and a "send" button that
posts the form's data to the following cgi "test" program:
http://www.coedu.usf.edu/wwwprog/cgi-bin/post-query.pl
|
Assignment 1
Create an original program that allows the user to enter demographic data into text boxes or other
controls, and then to use buttons to manipulate the data and change the attributes of the controls.
(You may want to use image objects, select objects, and input objects of type text, password, textarea,
and button, but avoid using radio buttons and checkboxes in this effort. They're a bit more complex. Select
objects are difficult in some older browser versions, too.) Your buttons should specify event handlers
that call JavaScript functions that you have defined in the header.
|
Assignment 2
Create an original program that uses multiple groups of controls (such as radio buttons, check boxes,
etc.) and JS selection structures to collect data from a user, perform some kind of processing
on those data, and provide some kind of qualitative response that depends upon the result of the data
processing. Also, use dialog boxes to collect some appropriate text data from the user (prompt), and
to display pop-up messages (alert) or to offer options to the user (confirm).
|
Assignment 3
Create an original program in which you apply methods of repetition
(looping) to indexed (subscripted) controls such as selection lists, radio button groups, checkbox
groups, etc. to manipulate moderately large amounts of information.
|
Assignment 4
Create an original program in which you use JavaScript's built-in
methods to accomplish a substantial task that incorporates randomness and at least one other method
or function appropriately that produces or manipulates a numeric or character value (the Math.floor
or other related method that you use to manipulate the random number range doesn't count unless you
do something original with it.) Sampleiv.html, for example, focuses on the use of timing methods
to time the latency of a subject's responses to a test of the limits of short term memory (Miller's
number - 7 +/- 2 chunks.) Beginning with one digit, then two digits, then three digits, and continuing
until the subject fails, the program displays a random sequence of digits in a text box for a fixed
amount of time, then hides the digit(s) and asks the subject to recall them. When the subject fails,
the latency of the response on the last trial is shown.
|
Assignment 5
Create an original program that manipulates a relatively large
amount of data using modular programming methods.
- Implement major parts of the program as programmer-defined functions that are not tied directly
to event handlers (functions that are called by other functions.) Include in your program at least
one programmer-defined function to which a variable is passed.
- Use a variable (data) array to store a moderately large data set.
- Create a function to which the variable array is passed to perform some kind of processing or analysis
with the data contained in the array.
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.
|
Assignment 6
Create an original program that does the following:
- Collects both demographic data and data related to the program's purpose.
- Stores the data in the browser's cookie.
- Emails the data to you using the copy of Meng Weng Wong's "mailto" program currently available
at http://www.open.org/user-cgi/mailto.cgi.
- Under password protection, allows the data to be retrieved from the cookie and viewed.
- Implements dynamic media elements (e.g. movies, sounds) appropriately (optional).
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.
|
Course Project
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
or the textbook authors. SampleVI.html is an "A" course project. For additional detail, please
review the "A" course grade criteria below.
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.
|
|
|