CMST 398J                  Tu/Th 19:30 – 22:10                          Yokota                  Term IV (02-03)

Instructor: Robert Shields (rcshields@ad.umuc.edu)                  Office Hours: Before classes and by appointment.

Web site: http://www.oocities.org/rcshields2/ 

Textbooks: JavaScript: The Definitive Guide, 4th Edition., Flanagan, ISBN# 0-596-00048-0.
And HTML & XHTML The Definitive Guide 4th Edition, Musciano & Kennedy, ISBN#: 0-596-0026-X

Description: A structured approach to programming with JavaScript to build dynamic, interactive Web pages. Topics include adaptive forms, dynamic HTML, event modeling, cross-browser compatibility, cookies, and security issues. Programming projects are included. 

Prerequisite: CMIS 102 and CMST 386, or equivalent.

 

 

Tentative Course Schedule (This schedule is subject to change)

Week

Topic

Read chapters before class: F=Flanagan,  M=Musciano

Assignment: homework #’s and web site #’s

1

XHTML; (review CMST386 html yourself)

JavaScript: Scripts, syntax, data type,

M16; Review: M1-11

F12, F1-3

 

Thur: 1 synopsis + questions

2200 Sat: Web site 1

2

JavaScript: variables, expressions, statements; Review Frames

F4, 5

F6; Review: M11

 

Tue: 2 synopsis + questions

Thur: 3 synopsis + questions

2200 Sat: Web site 2

3

Functions, objects,

Arrays; Review Forms

F7, 8

F9; Review: M9

Tue: 4 synopsis + questions

Thur: 5 synopsis + questions

2200 Sat: Web site 3

4

Forms, form elements and Validation
Exam (F1-9,F12,F15;M1-7,M9-11)

F15

Tue: 6 synopsis + questions

Thur: EXAM

2200 Sat: Web site 4

5

Cookies

Cascading Style Sheets

F16 & study a web tutorial

M8; F18-18.3.3

Tue: 7 synopsis + questions

Thur: 8 synopsis + questions

2200 Sat: Web site 5

6

Events and Event handling

DHTML = html + CSS + JavaScript

F19

F18.3-18.5.4 & study a web tutorial; Review: M11

Tue: 9 synopsis + questions

Thur: 10 synopsis + questions

2200 Sat: Web site 6

7

Compatibility techniques

JavaScript Security

F20

F21 & study a web tutorial

Tue: 11 synopsis + questions

Thur: 12 synopsis + questions

2200 Sat: Web site 7

8

History, Review for Exam; presentations
THURS: Exam (F15-16, F18 -21, M8)

See links

Tue: Team presentations-site8

Thur: EXAM

 

Synopsis + Questions: By the start of class email or turn in a brief summary of the most important things covered for each chapter/tutorial and at least 2 questions that you still have about the chapter/tutorial. If you have no questions then create 2 questions & answers that you think should be on the exam. You may post these.

 

Grades: Exams and Quizzes: (60%), Assignments: Homework(12%), Web sites / presentation (28%)

I will assign letter grades with this scale: A = 90-100%;  B = 80-89%;  C = 70-79%;  D = 60-69%;  F = 0-59%

 

Methodology: You must have read the required materials and prepared the assignments for class.  Classes may include lecture, hands-on work, and discussion. I may direct you to Internet sites to see the “latest” in the field. You will need Internet access to complete work for this class.

 

Attendance: You must attend every class on time. If you come to class late, it is your responsibility to make sure that you are marked present. Excessive absences may result in the assignment of the grade F--failure for nonattendance. You are responsible for anything that is covered in class even if you are not present. It is wise to arrange with another student to take notes when you might be absent.

Objectives:

1.          Create and validate forms for small business Web sites. (competence in information technology)

2.          Employ dynamic HTML for business applications. (competence in information technology)

3.          Design and evaluate cascading style sheets. (competence in information technology)

4.          Write new and analyze existing JavaScripts for optimum cross-browser compatibility. (competence in information technology & effective writing)

5.          Recommend to Web site administrators JavaScripts to store and read cookies. (civic responsibility)

6.          Articulate the security issues related to JavaScript and analyze existing JavaScripts and JavaScript applications for possible security threats. (civic responsibility)

7.          Critically analyze existing JavaScripts and JavaScript applications and prepare written reports for management indicating areas for improvement. (effective writing)

8.          Research and discuss the historical and current worldwide use of JavaScript for business Web sites. (information literacy, historical perspective & international perspective)

 

Assignments: Work must be neat and organized. To receive full credit, your assigned work must be submitted by the listed dead line and due date. All work must have your full name, class title, date and assignment number written on them. Use Email whenever possible. Use a real floppy disk label with your full name on it for work that requires a floppy. Late assignments are subject to 30% point loss and will not be accepted after final exam. Except for assigned groups, if you copy any portion of an assignment, ALL COPIES of the entire assignment will receive a score of zero.

 

Teams: By no later than the week before a team assignment is due, you should form teams of 3 people and email me the names of your team. (Earlier is better.) I will authorize an exception only if the class count dictates. You may only work in teams on those designated assignments. You must do all other work individually.

 

ACADEMIC POLICIES: UMUC policies discuss your rights and responsibilities regarding such issues as Attendance, Religious Observances, Examinations, Writing and Mathematics, Plagiarism, and Disabled Students. See the policies at http://www.ad.umuc.edu/gen/disc/acadpoli.html. UMUC – Asian Division Student Resources include the Catalog, the Student Handbook, and Library Resources. The URL describing this material is http://www.ad.umuc.edu/docs/welcome.html. Please read the about Plagiarism in the Academic Policies section and Grades & Grading Systems in the Student Records & Grades section of the Catalog.

Students who violate UMUC's policy on Academic Dishonesty and Plagiarism will receive a zero on the assignment in question; further violations of the policy will result in referral to the Dean's office for further administrative action. The grade of I (Incomplete) is only given in extraordinary circumstances. Students requesting an I must have completed at least 60 percent of the course work and hold a C average.

 

PARTICIPATION IN CLASS: To be properly prepared, read each of the assigned chapters and do the assignment before the class begins. In class, you may be asked to complete exercise sheets, to look up things on the Internet, to create some web pages. These exercises are meant to help you learn what you need in this course. Do not skip class to work on assignments.

 

EXAMS: Each examination or test may be a combination of short answer, fill-in the blank, multiple choice, essay questions, and problems. Be able to discuss and apply assigned reading materials. Complete assignments and projects to best prepare for the examinations.

 

MAKEUP WORK: If you miss a test or examination you must submit official documentation stating the reason for the absence before a make-up examination will be given. Only illness, TDY, extra duty, or emergencies are valid reasons for missing a scheduled examination. You must provide documentation showing the reason for the absence; otherwise, late work is subject to a 30% penalty. If you need to take a test or exam either earlier or later than its scheduled date (due to some work related activity), you must contact me immediately to arrange this. You must take the makeup test or exam within one week of your return to class.

 

UMUC Databases: The University subscribes to several on-line library databases that students, faculty, and staff may access via the WWW. see: http://www.umuc.edu/library/ols.html. Log in with your Social Security number. As a student of UMUC you may order up to 10 articles per term (that are not full text). See the Web Databases/MdUSA FAQ or contact a UMUC reference librarian at umuc-reference@info.umuc.edu.

 

Projects/ Web Sites - For each web site:  

 

Web Site 1: XHTML & JavaScript review. (email your homepage URL to me when done)

  1. get a free web host (such as Geocities or Tripod) For example, see: http://www.oocities.org/rcshields2
  2. create a valid W3C XHTML home page with your name, a link to my web page and an image of some animal (a llama for example).
  3. use javascript to put the date on your homepage
  4. create a additional page(s) with the following items:
    1. javaScript code that calculates monthly loan payments. (use example 1-3 and Preface page xv.)
    2. code that uses a for loop to display the first 10 integers, their sum and average.

 

Web Site 2: variables, expressions, statements, frames

  1. convert your home page to 3 frames: the top row should have your name and class info, the lower row should have 2 columns: the left column has links to your homework & web sites (target the right frame.)
  2. create string variable(s) for your name and assignment number and display them on new pages.
  3. create additional page(s) with the following items:

a.       javaScript code that shows the use of the 9 arithmetic operators in section F5.3

b.      javaScript code that shows the use of each of the statements in section F6.3-6.9 & F6.13-6.15

 

Web Site 3: functions, arrays, forms

Create page(s) with the following items:

a.       javaScript function that checks that the correct number of arguments (3) is passed to it and displays an alert box if not. (See section F7.4 for this and the next topic.)

b.      javaScript function, min, that loops through its arguments to determine the smallest of them. Start by setting the prospective minimum to the value of the first argument rather than any constant.

c.       Implement and demonstate the Circle class in exmple 8-5. Add x and y values for the center.
Add the toString function from section F8.7.2.

d.      Create an array of the first 6 prime numbers (2,3,5,7,1,13). Demonstrate each of the 9 array methods in F9.2 and array.length from F9.1.4. Add 17 as the 7th element at some point in the code.

e.       Create a form that has one of each of the 13 different form elements listed in Musciano table 9-1. Test your form. Use the code below but substitute your email address for noone@nowhere.com:
<form name="myform" action="http://cgi53.Freedback.com/mail.pl" method="post" >
<input type="hidden" name="to" value="noone@nowhere.com" >

 

Web Site 4: form validation

Create a duplicate example F15-1 (but use the action and hidden tags above) with the following items:

a.      request a confirmation onreset (see p. F251

b.      indicate on the form which fields are required, numeric, and have min and max values.

c.      validate with the onsubmit handler in example 15-2. Have at least one each of optional text field, numeric, min, and max.

 

Web Site 5: cookies and CSS

Create page(s) with the following items

a.       example F16-1; write and read a cookie that counts the number of time the page has been viewed.

b.      set the 4 optional attributes: expires, path, domain, secure. Check them by looking at the cookie with your Netscape cookie manager or IE: tools/internet options/General/Settings/view files.

c.       using 3 examples of each of inline, embedded and external styles (total of 9 style definitions).  List the URL of the external style sheet on the page.

d.      clearly document and demonstrate an inline style that overrides an embedded style

e.       clearly document and demonstrate an embedded style that overrides an external style

f.        clearly document and demonstrate each of the attributes in table F18-2.

 

Web Site 6: DHTML

Create page(s) with the following items

a.       example F18-4; color changing animation

b.      use example F18-5 with at least the following code (be careful this differs from the textbook. You should also try the examples in the text.):
<script src="animatecss.js"></script>

</HEAD>

<BODY>

<div id="title" style="position:absolute"> <h1>animate test </h1></div>

<script>

      animateCSS(document.getElementById("title"),

                  70, 50,  // 70 frames of 50ms each

                  { // Set top attributes for each frame as follows

                  top: function(f,t) { return 300-f*5+ "px"; }

                  });

</script>

a.       another page with DHTML from your research on the Internet

 

Web Site 7: Event handling compatibility and Security

Create page(s) with the following items

a.       use every other event handler in table 19-1 (you may choose even or odd ones)

b.      use the return value from an event handler (see section F19.1.4)

c.       a dragable element using example 19-2 and code on page 373. Test in both browsers.

d.      a dragable element using example 19-3 and code on page 373. Test in both browsers.

 

Web Site 8: History Presentations: In teams of 3, research historical and current worldwide use of JavaScript for business Web sites. (There are 2 links on my web page. Find others on the Internet.) Create a web site similar to PowerPoint slides to support a 5-minute presentation (timed + or – 10%) of what your team deems to be the most important or interesting topics in the history of the web/JavaScript. You must explain why you believe these topics are important or interesting. Each team member must deliver 1/3 of the presentation.