cit597 About This Course Jan 13 2019 CIT597 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 Prerequisite CIT594 or equivalent proficiency in Java Translation you had better already be a pretty good Java programmer 2 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 3 Platform independence The Internet connects millions of computers together running all kinds of programs on all kinds of operating systems Interoperability of programs and data is a serious issue 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 Treat the web itself as an operating system This may be what Google is working toward The programming language of the web is JavaScript 4 Java HTML XML etc JavaScript runs in all browsers Java is the most platform independent language we have HTML describes web pages CSS describes how to display HTML 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 Most web sites use servlets programmed in Java We will look at ways to access SQL databases from Java Rails programmed in Ruby is an attempt to reduce the number of tools required to program for the web GWT is a way to translate Java into JavaScript 5 Some technologies we may cover HTML HTML Forms JavaScript XHTML CSS Ajax Java servlets JSP Perl PHP XML DTD XML Schemas Java SAX RELAX NG DOM JAXP Java Java JDBC But underneath HTTP TCP IP maybe Sockets RMI SQL Apache Tomcat Ruby Rails XSL XSLT XPath CSS 6 Software Most of the necessary software will be available from 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 5 Eclipse for EE developers 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 7 Textbook The textbooks are Murach s Java Servlets and JSP 2nd Edition by Andrea Steelman and Joel Murach JavaScript The Good Parts by Douglas Crockford Also the Web is full of tutorials such as w3schools and specifications I will provides some links to these but You should be able to find this kind of information for yourself 8 Assignments 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 9 Examinations 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 follows 50 assignments 50 quizzes Grades will be curved 90 or any other number is not necessarily an A 10 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 others 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 11 Rules You may You may not discuss the assignments with one another help others debug their work use without attribution anything I post to the Web 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 12 The End I know Karate Kung Fu and 47 other dangerous words Source unknown 13
View Full Document