CURRICULUM PROPOSAL FORM #4
UNIVERSITY OF WISCONSIN-WHITEWATER

CHANGE IN OR DELETION OF EXISTING COURSE

Type of Action
 
  Course Deletion    Requisite Change
X Course Revision   Repeatability Change
X Description Change    Diversity Option
X Title Change   General Education Option
  Number Change    area:
  Contact Hour Change    Computer Requirement
  Credit Change    Writing Requirement
  Add Cross-listing    Other  
Effective Term: Spring 2002   
New/Current Course Number: 950 - 425  Crosslist Number: -
Old Course Number: ________-______/_______   
New/Current Course Title:  Web Development 2
Old Course Title: Client/Server-Internet
15 Character Abbreviation:  WEB DEVELOP 2
25 Character Abbreviation:  WEB DEVELOPMENT 2
Sponsor(s):  Bob Leitheiser
Department(s):  Management Computer Systems
College(s):  College of Business and Economics; College of Letters and Sciences
Other Programs Affected:  None

Check if course is required in:

 X  Major/Emphasis (specify): Management Computer Systems
____Minor/Emphasis (specify):
____Other (specify):
I.   Description of Changes

Title Change

FROM: Client/Server-Internet
TO:  Web Development 2

Description Change

FROM:  This course is designed to give students both conceptual client/server content and hands-on experience in wide-area client/server applications via the Internet.

TO: This course teaches students how to develop Web applications using Java technologies. The course focuses on design and implementation of distributed applications for the Internet and/or intranets. Topics include object-oriented distributed systems and technologies, database access, security, advanced Java programming, and technical design issues for e-Commerce systems.

II.   Justification

This course if part of a two-course sequence that teaches students how to develop distributed applications. The current title of the first course in the sequence (i.e., 950-325) is Client/Server – Local Area. A course change form is also being submitted for that course and will include a title change to "Web Development 1."

The use of "Web Development" in the new titles for both courses better reflects their contents and intents. Internet technology has evolved to be the standard for both Local Area and Wide Area (i.e., Internet) distributed applications.

The new title for the 950-425 course addresses the same basic underlying content but better communicates what the course covers to perspective students.

The change in description for 950-425 is primarily intended to give students more information about the content of the course. The original description was quite vague about course content. The new description provides more information about what web development means so students have a better understanding of what to expect.

Additional Materials

Please find attached a copy of a course syllabus. A list of associated books is given below.

The following books are in the UW-Whitewater Library.

Java programming : advanced topics, by Joe Wigglesworth and Paula Lumby (2000); Course Technology; Call No: QA76.73.J38 W542 2000.

Object-oriented software design and construction with Java, by Dennis Kafura (2000); Prentice Hall; Call No: QA76.64 .K35 2000.

The Java tutorial continued : the rest of the JDK, by Mary Campione, Kathy Walrath, and Alison Huml, (1999); Addison-Wesley; Call No: TS1925 .K5413 1999.

The following books are not currently in the UW-Whitewater Library but will be examined for possible future acquisition.

Building Java Enterprise Systems with J2EE, by Paul Perrone, Venkata S.R.K.R. Chaganti, (June 7, 2000); Sams; ISBN: 0672317958

Client/Server Data Access With Java and Xml, by Dan Chang, Dan Harkey. Paperback (September 28, 1998) John Wiley & Sons; ISBN: 0471245771

Client/Server Programming with Java and CORBA, 2nd Edition

by Dan Harkey(Editor), Robert Orfali. Paperback (March 10, 1998); John Wiley & Sons; ISBN: 047124578X

Core Jini, by W. Keith Edwards. Paperback (June 25, 1999);Prentice Hall; ISBN: 013014469X

Creating Java Beans : Components for Distributed Applications

by Mark Watson. Paperback (September 1997); Morgan Kaufmann Publishers; ISBN: 1558604766

DCOM Networking With Visual J++ 6.0, by George M. Doss. Paperback (January 1999); Wordware Publishing; ISBN: 1556226551

Enterprise Javabeans : Developing Component-Based Distributed

Applications by Thomas C. Valesky. Paperback (May 1999); Addison Wesley Publishing Company; ISBN: 0201604469

Java Distributed Computing (O'Reilly Java) by Jim Farley, Mike Loukides(Editor). Paperback (January 1998); O'Reilly & Associates; ISBN: 1565922069

Distributed Programming With Java, by Qusay H. Mahmoud. Paperback (September 1999); Manning Publications Company; ISBN: 1884777651

JavaSpaces(TM) Principles, Patterns and Practice (The Jini(TM) Technology Series)by Eric Freeman, et al. Paperback (June 1999); Addison-Wesley Pub Co; ISBN: 0201309556

Java RMI: Remote Method Invocation by Troy Bryan Downing. Paperback (February 2, 1998); IDG Books Worldwide; ISBN: 0764580434

The Jini(TM) Specification (The Jini(TM) Technology Series) by Ken Arnold, et al. Paperback (June 1999); Addison-Wesley Pub Co; ISBN: 0201616343

Programming with Enterprise JavaBeans, JTS, and OTS: Building Distributed Transactions with Java and C++ by Andreas Vogel, Madhavan Rangarao. Paperback (April 13, 1999); John Wiley & Sons; ISBN: 0471319724

Programming With Java Idl by Geoff Lewis, et al. Paperback (November 1997); John Wiley & Sons; ISBN: 0471247979

Client/Server Programming With Javabeans by Robert Orfali, Dan Harkey. Paperback (Not Yet Published -- On Order); John Wiley & Sons; ISBN: 0471189316

Corba & Java : Where Distributed Objects Meet the Web (Masters Series) by Bryan Morgan, Brian Morgan. Paperback (September 1998); Computing McGraw-Hill; ISBN: 0079137490

Corba and Distributed Applications Including JAVA by Deshparde, Salil Deshpande. Paperback (September 20, 2001); Prentice Hall; ISBN: 013349960X

Distributed Java 2 Platform Database Development by Stewart Birnam. Paperback (November 17, 2000); Prentice Hall PTR; ISBN: 0130268615

Distributed Virtual Worlds : Foundations and Implementation Techniques Using Vrml, Java, and Corba by S. Diehl. Hardcover (November 2000); Springer Verlag; ISBN: 3540676244

Java Network Programming : A Complete Guide to Networking, Streams, and Distributed Computing by Merlin Hughes, et al. Paperback (July 1999); Manning Publications Company; ISBN: 188477749X

JavaTM Programming with CORBATM : Advanced Techniques for Building Distributed Applications by Gerald Brose, Keith Duddy. Paperback (January 5, 2001); John Wiley & Sons; ISBN: 0471376817
 
 

950-425 Web Development 2

Course Description:

950-425 Web Development 2: 3 cr

This course teaches students how to develop Web applications using Java technologies. The course focuses on design and implementation of distributed applications for the Internet and/or intranets. Topics include object-oriented distributed systems and technologies, database access, security, advanced Java programming, and technical design issues for e-Commerce systems.

Prereq: 950-325 and an overall g.p.a. of 2.50.

Text: Java Distributed Objects. McCarty, Bill and Cassady-Dorion, Luke. SAMS, Division of Macmillan Computer Publishing, 1999.

Java Trail Tutorials from JavaSoft. http://java.sun.com/docs/books/tutorial/

Table of Contents: http://java.sun.com/docs/books/tutorial/reallybigindex.html

Java 2 SDK Standard Edition, v. 1.3.0: http://java.sun.com/jdk/

(Note: the self-extracting software download file is free but is 30M in size.The Software Development Environment (SDK) has been installed in the MCS lab. There is also a zipped documentation file that is about 18M.)

Sun Forte Community Verion GUIDE: http://www.sun.com/forte/ffj/ce/

Course objectives:

This course is designed to give undergraduate MCS students the conceptual knowledge and skills necessary to develop Java-based Internet/Intranet applications.

Specific learning objectives include:

Course methods:

The methods used for meeting these objectives include:

Grading:

Performance in the class will be measured through the use of 2 exams, 10 computer assignments, one special topic team project, and class participation. One exam will be given during a regular class session while the other is scheduled for the final exam period.

Point Breakdown:
 
Exams 2 @ 100 points  200 points/40%
Topic Team Project  1 @ 80 points 80 points/16%
Computer Assignments  10 @ 20 points  200 points/40%
Class Participation 20 points 20 points/4%
Total 500 points/100%

Grade Assignment:
 
Grade % of Points Points
A 90-100% 450-500
B 80-89% 400-449
C 70-79% 350-399
D 60-69% 300-349
F 60% 0-299

 Computer assignments:

Ten computer assignments will be given. Students will turn in their assignments by FTPing them to their subdirectories on the MCS server. Each student will have Read/Write/Delete access to their own subdirectory. The timestamp on the file(s) must be before the beginning of class time to avoid the late penalties.

To receive credit for programs they must be compiled (i.e., to class files) and must run without errors. They must also meet the requirements of the assignment including within program documentation using comments and appropriate use of white space. At the beginning of each program source file must be (1) the file name, (2) author name, (3) due date, and (4) a brief description of the purpose of the program.

Special Topic Team Project:

A project is used to cover or extend topics that are related to the course. Each team will research a topic and do a class presentation on it. Topics will be suggested by the instructor but may be supplemented by student ideas.

Class Participation:

Students are expected to attend class and participate in lectures and discussions. Students will be encouraged to share news items about Internet/Intranet topics at the beginning of every class.

Standard University Policies

Absence for University Sponsored Events

University policy adopted by Faculty Senate and the Whitewater Student Government states that students will not be academically penalized for missing class in order to participate in university sanctioned events. They will be provided an opportunity to make up any work that is missed; and if class attendance is a requirement, missing a class in order to participate in a university sanctioned event will not be counted as an absence. A university sanctioned event is defined to be any intercollegiate athletic contest or other such event as determined by the Provost. Activity sponsors are responsible for obtaining the Provost’s prior approval of an event as being university sanctioned and for providing an official list of participants. Students are responsible for notifying their instructors in advance of their participation in such events.

Academic Misconduct

The University believes that academic honesty and integrity are fundamental to the mission of higher education and of the University of Wisconsin System. The University has a responsibility to promote academic honesty and integrity and to develop procedures to deal effectively with instances of academic dishonesty. Students are responsible for the honest completion and representation of their work, for the appropriate citation of sources, and for respect of others’ academic endeavors. Students who violate these standards are subject to disciplinary action. UWS Chapter 14 identifies procedures to be followed when a student is accused of academic misconduct. For additional information, please refer to the section in the Student Handbook titled, Student Academic Disciplinary Procedures.

Applied specifically to this course, students are expected to write and debug their own programs. They may ask other students (or their professor) for assistance in determining a general approach to solving a problem or they may ask for help in solving a particular, specific problem. All implementations of solutions must be done by the student who turns in the assignment. Students may not copy all or part of other students programs and turn it in as their own work. It will be assumed that any student who turns in another student's work as his or her own, probably did the same thing with earlier assignments and will receive a zero grade for all assignments turned in to that point in time. Since it will not be clear which student did the original work, both students involved will receive the penalty. I trust that I will not be forced to use these penalties.

Religious Beliefs Accommodation

Board of Regents policy states that students’ sincerely held religious beliefs shall be reasonably accommodated with respect to scheduling all examinations and other academic requirements. Students must notify the instructor, within the first three weeks of the beginning of classes (within the first week of summer session and short courses) of the specific days or dates on which they will request accommodation from an examination or academic requirement. For additional information, please refer to the section in the University Bulletin and the Timetable titled, Accommodation of Religious Beliefs.

Concluding Remarks:

A class should be a two-way learning process. This syllabus describes what I hope you will learn during the term. I also expect to learn from you. Please share your pertinent ideas and experiences during the class sessions.

Finally, I am always looking for ways to improve the course. If you have any suggestions, please pass them on either in person or anonymously.

Let's have a good term!


Example Schedule
Wk Dates Topics Readings Assignments
1 Sept 5 Course Overview Ch1: Distributed Object Computing
  Sept 7 HTML/XHTML Review
Ch2: TCP/IP Networking
http://www.w3.org/MarkUp/Guide/Overview.html 
Ch2: TCP/IP Networking 
2 Sept 12 Review Java Basics Ch7: Java Overview
  Sept 14 Objects
Overview/Review
Ch3: Object-Oriented Analysis and Design Asn #1:
Applets
3 Sept 19 Client/Server
Architecture and Design
Ch4: Distributed Architectures
  Sept 21 Design Patterns and Java Ch5: Design Patterns Asn #2: OO Application
4 Sept 26 Object-Oriented Analysis Example Ch6: Airline Reservation System example
  Sept 28 Concurrent Processing Ch8: Java Threads Asn #3: Design Pattern
5 Oct 3 Software Components
Java Beans
Ch9: Java Serialization and Beans
  Oct 5 Java Security Ch10: Security Asn #4: Threads
6 Oct 10 Database Access Ch11: Relational databases and SQL (review); 
Ch12: Java Database Connectivity (JDBC)
  Oct 12 Java Networking Ch13: Sockets
Ch14: Socket Airline Example
Asn #5: Java Beans
7 Oct 17 Distributed Objects Ch15: Remote Method Invocation (RMI)
Ch16: RMI Airline example
  Oct 19 Midterm Exam    Asn #6: JDBC
8 Oct 24 Java Network Applications Ch17: Java Help, Java Mail, and Other Java APIs
  Oct 26 Java Servlets Ch18: Servlets and the CGI;
Ch19: Servlet Airline example
Asn #7: Sockets
9 Oct 31 DCOM and Java Ch20: Distributed Component Object Model
  Nov 2 CORBA Overview Ch21: CORBA Overview; 
Ch22: CORBA Architecture;
Ch23: Survey of CORBA ORBs
Asn #8: Servlet
10 Nov 7 CORBA Example Ch24: A CORBA Server
Ch25: A CORBA Client
Ch26: CORBA Airline exampl
  Nov 9 Advanced CORBA Ch27:Quick CORBA
Ch28: Portable Object Adapter
Ch29: Internet-Inter-ORB Protocol (IIOP)
11 Nov 14 Agent Technologies Ch34: Voyager Agent Technology
Ch35: Agent Airline example
Asn #9: CORBA
  Nov 16 Enterprise Beans http://developer.java.sun.com/developer/
onlineTraining/Programming/JDCBook/code2.html
12 Nov 21 XML and Java http://java.sun.com/xml/tutorial_intro.html 
13 Nov 28 Project Presentations   Asn: #10: XML
  Nov 30 Project Presentations  
14 Dec 5 Project Presentations  
  Dec 7 Project Presentations  
15 Dec 12 Project Presentations  
  Dec 20 Final Exam  

Note: the schedule given above is subject to change. Students are responsible for being informed about revisions which are announced in class, communicated via electronic mail, or posted to the web site.