Indiana University of Pennsylvania

T. Andrew Yang 

(yang@grove.iup.edu)
Computer Science Department

HTTP://WWW.CO103.IUP.EDU/


  1. Introduction to Web Development

  1. World Wide Web as a new computing platform

  2. The client-server model

  3. The multi-tier model

  4. Sample Web applications

  5. Alternative Web development technologies

  6. Client side development

  7. Server side development

  8. Summary

  1. Curriculum Design

  1. Curriculum Design Issues

  2. A Sample Course

  3. Lessons Learned

  4. Specialty Track in Enterprise Computing

References

Designing and Teaching a Web Development Course

 

Ø  Lessons Learned from the 1st Offering (Fall 2000)
  • Click here to see the course on line (the syllabus, class notes, assignments, tests, et. al.).

 

Ö  A Mixed Audience & the Final Grades

  • Population size: 12
Previous experience Final grades
Java but no VB AABCC
VB but no Java BC
both VB and Java A
neither Java nor VB BCWW

 

Ö   What have we learned? 

  • A good grab of Java is a must!

  • Some students who took a Java course before still had difficulty completing the assignments.

  • More coverage of fundamental topics in Java, such as Java servlets, will be helpful, especially during the first quarter of the course.

  • ASP can be easily learned even for students without Visual Basic experience.

  • Importance of multi-tier model and distinction between client side and server side development.

  • Lack of textbooks covering both the architecture, the protocols, and the various technologies.

  • Difficult to get system support for the course!

  • A new course on distributed component-based technologies, such as CORBA, EJB, and DCOM, is highly desirable!

 

  • Modification of the prerequisites: 

Prerequisites: cosc304 (Java Prog.) and cosc310 (Data Structure)

Co-requisite: cosc341 (Database Management System)

 

  • An issue for discussion/debate:

IDE versus "raw" systems

- Sample IDE's: CodeFusion, VisualAge for Java

- The "raw" approach: JDK, notepad, ftp, telnet, Java servlets engine, Web browser

Trade-offs?

Development versus Deployment

Should students in an upper-level Web development course be required to deal with the deployment aspects of Web applications?

 

Ö  Alternative curricular design

  • Alternative 1: Two separate courses for separate camps of technologies

    • Course one - focusing on Microsoft technologies, including VB Script, ASP, and COM/DCOM.

    • Course two - focusing on Java technologies, including applets, servlets, JSP, JDBC, RMI, and EJB.

  • Alternative 2: Two separate courses with mixed technologies

    • Course one - focusing on Web-server based development, including VB Script, ASP, Java Script, Java applets, servlets, JDBC, and JSP. 

    • Course two - focusing on distributed component-based technologies, including RMI, EJB, DCOM, and CORBA.

  • Guess which alternative the students voted for?

    The result: alternative 2  (COSC415 + COSC416)

  • Main arguments during the debate:

  • Simultaneous (during the same semester) exposure to compatible technologies from both camps

    aka, "preventing 'single-minded' practitioners who knows one and only one camp" -- a famous quote made by Jeff, who had completed his internship using both Java and ASP before taking the class.

    -> The importance of cross-platform development and distributed connectivity!

  • Moving from Web-server based development to distributed component-based technologies


Previous

Index Page

Next: enterprise computing track