01 cit597 intro by ozo304



About This Course

   The formal title of this course is “Programming
    Languages & Techniques III”
   A better title would be “Web technologies”
       Some of these technologies are specific to Java
       Most of the technologies are language-independent
       This course, however, uses Java
   Prerequisite: CIT594 or equivalent proficiency in Java
       Translation: you had better already be a pretty good Java

        “The network is the computer”
   The explosive growth of the Web has greatly changed
    the face of computing
       Before, we wrote programs under these assumptions:
            We could use whatever language was convenient
            We could write programs for the computer we happened to have
             available at the moment
            We could design our own data formats and database schema
            We did not have to interact with the rest of the world
       Today, all of these assumptions are wrong!
            Sun’s slogan, “The network is the computer,” is becoming true
            Platform independence is no longer a luxury, but a necessity
            There is a large and growing need for information interchange

        Platform independence
   The Internet has become extremely popular
       It connects millions of computers together
       These computers run all kinds of programs, with all kinds of
        operating systems
       Interoperability of programs and data has become a serious
       There are two possible solutions:
            Microsoft’s preferred solution: Force everyone to use Windows
               Much of Microsoft’s software is designed with this end in mind

               If this happens, it will not happen quickly

            Develop platform-independent languages and systems
               This is what all the other software developers (including Sun

                 Microsystems, the creator of Java) are working on
        Java, HTML, XML, etc.
   Java is the most platform-independent language we have
       This is one of the reasons for its popularity (there are many others)
   HTML is not as feature-rich as MS Word, but it nevertheless
    does a pretty good job
       HTML is the language of the Web
       Most software documentation these days is distributed in HTML, PDF
        (Adobe’s Portable Document Format), or plain text
       We will look at ways to create HTML from Java
   XML is a platform-independent way of describing data
       We will look at ways to process XML from Java
   SQL is the most widely accepted database language
       We will look at ways to access SQL databases from Java
   Client-server architecture is used to communicate across the Web
       We will look at creating server-side and client-side applications
       Some technologies we may cover
 HTML                Java               XML
  HTML Forms           servlets           DTD
    JavaScript           JSP               XML Schemas   Java
      XHTML & CSS                           RELAX NG       SAX
        Ajax                                                DOM
                    Perl          PHP


 But underneath...                                   XSL
   HTTP                                               XSLT
                            Apache         Ruby
     TCP/IP   maybe RMI                                XPath
                             Tomcat         Rails
      Sockets                                           CSS          6
   Most of the necessary software will be installed in the
    Moore 207 lab
   I strongly encourage you to install the software on your
    own computer
   The basic software you need is: Java 6, Firefox 3,
    EasyEclipse for LAMP, XAMPP, Tomcat, and a decent
    text editor (such as jEdit or Notepad++)
       Other software will be recommended as needed
   The newest versions of all this software are freely
    available on the Web
       I avoid proprietary (Windows-only) software
       I can’t provide a lot of help with installation
   The textbook is Programming the World Wide
    Web, 4th Edition, by Robert W. Sebesta
       This is, unfortunately, a fairly expensive book (about $90),
        but it fits this course very well
       Like my course, this book is broad but shallow--that is, it
        covers a great many topics, but none of them in any depth
   If you are seriously broke, the Web is full of great
    (and some not-so-great) tutorials and specifications
       I will provides some links to these, but...
       You should be able to find this kind of information for


   We will have approximately one assignment per week
       Assignments will frequently build on previous assignments
       Assignments may say something like, “plus five features not
        covered in class”
            This is to make sure you explore the resources available to you
            Note: To make it practical to grade your assignments, it is your
             responsibility to point out these extra features
       Appearance and content will be factors in grading
       Late policy: 5% off for each day late
            Assignments will be due by midnight

   We will have a short quiz each Wednesday
       Quizzes will concentrate on recently covered material, but
        may include earlier material if appropriate
       Quizzes may include material that was not covered in class
       Your lowest quiz grade will be dropped
   There will be no final exam
   Assignments and examinations will be weighted as
    50% assignments, 50% quizzes
   Grades will be curved: 90% (or any other number) is
    not necessarily an A
        Extra credit
   I will not, in general, provide specific extra credit assignments
   Small amounts of extra credit will be given for helping to
    improve this class; for example:
       Finding new Web sites that I think are really useful (just finding relevant
        Web sites is easy; there are thousands)
       Pointing out serious problems in my assignments (early enough to help
   I may allow significant extra credit for a project of your own
    devising, if you first get me to agree and then do a good job on it
   Extra credit will be used to adjust grades upward, after they have
    been calculated for the entire class

   You may:
       discuss the assignments with one another
       help others debug their work
       use, without attribution, anything I post to the Web

   You may not:
       share code with anyone but your assigned partner (if any)
       copy another’s code, or allow your code to be copied
       lend your code to someone else, or leave it lying around where
        someone else may copy it
       use any code from textbooks or the Web without my permission

   If you think you may have accidentally broken a rule, come
    and talk to me about it

The End

“I know Karate, Kung Fu, and 47 other
dangerous words.”
                       --Source unknown


To top