Home

Gregory Motes' USF Web Space

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.

  1. 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.
  2. Use a variable (data) array to store a moderately large data set.
  3. 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:

  1. Collects both demographic data and data related to the program's purpose.
  2. Stores the data in the browser's cookie.
  3. 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.
  4. Under password protection, allows the data to be retrieved from the cookie and viewed.
  5. 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.  


Contact: Gregory Motes
USF Instructional Technology Ph.D. Student
E-Mail: gmotes@mail.usf.edu