<cit597>CIT597“The network is the computer”Platform independenceJava, HTML, XML, etc.Some technologies we may coverSoftwareTextbookAssignmentsExaminationsExtra creditRulesThe EndJan 13, 2019<cit597>About This Course2CIT597The formal title of this course is “Programming Languages & Techniques III”A better title would be “Web technologies”Some of these technologies are specific to JavaMost of the technologies are language-independentPrerequisite: CIT594 or equivalent proficiency in JavaTranslation: you had better already be a pretty good Java programmer!3“The network is the computer”The explosive growth of the Web has greatly changed the face of computingBefore, we wrote programs under these assumptions:We could use whatever language was convenientWe could write programs for the computer we happened to have available at the momentWe could design our own data formats and database schemaWe did not have to interact with the rest of the worldToday, all of these assumptions are wrong!Sun’s slogan, “The network is the computer,” is becoming truePlatform independence is no longer a luxury, but a necessityThere is a large and growing need for information interchange4Platform independenceThe Internet connects millions of computers together, running all kinds of programs on all kinds of operating systemsInteroperability of programs and data is a serious issueThere are two possible solutions:Microsoft’s preferred solution: Force everyone to use WindowsMuch of Microsoft’s software is designed with this end in mindIf this happens, it will not happen quicklyDevelop platform-independent languages and systemsThis is what all the other software developers (including Sun Microsystems, the creator of Java) are working onTreat the web itself as an operating systemThis may be what Google is working towardThe programming language of the web is JavaScript5Java, HTML, XML, etc.JavaScript runs in all browsersJava is the most platform-independent language we haveMost web sites use servlets, programmed in JavaHTML describes web pagesCSS describes how to display HTMLXML is a platform-independent way of describing dataWe will look at ways to process XML from JavaSQL is the most widely accepted database languageWe will look at ways to access SQL databases from JavaRails, programmed in Ruby, is an attempt to reduce the number of tools required to program for the webGWT is a way to translate Java into JavaScript6HTMLSome technologies we may coverJavaHTML FormsJavaScriptXHTML & CSSBut underneath...HTTPTCP/IPSocketsmaybe RMIJavaservletsJSPPerl PHPSQLXMLDTDXML SchemasRELAX NGXSL XSLT XPath CSSJavaSAXDOMJAXPJava JDBCApacheTomcatAjaxRuby Rails7SoftwareMost of the necessary software will be available from the Moore 207 labI strongly encourage you to install the software on your own computerThe 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 neededThe newest versions of all this software are freely available on the WebI avoid proprietary (Windows-only) softwareI can’t provide a lot of help with installation8TextbookThe textbooks are:Murach's Java Servlets and JSP, 2nd Edition by Andrea Steelman and Joel MurachJavaScript: The Good Parts by Douglas CrockfordAlso, the Web is full of tutorials (such as w3schools) and specificationsI will provides some links to these, but...You should be able to find this kind of information for yourself!9AssignmentsWe will have approximately one assignment per weekAssignments will frequently build on previous assignmentsAssignments may say something like, “plus five features not covered in class”This is to make sure you explore the resources available to youNote: To make it practical to grade your assignments, it is your responsibility to point out these extra featuresAppearance and content will be factors in gradingLate policy: 5% off for each day lateAssignments will be due by midnight10ExaminationsWe will have a short quiz each WednesdayQuizzes will concentrate on recently covered material, but may include earlier material if appropriateQuizzes may include material that was not covered in classYour lowest quiz grade will be droppedThere will be no final examAssignments and examinations will be weighted as follows:50% assignments, 50% quizzesGrades will be curved: 90% (or any other number) is not necessarily an A11Extra creditI will not, in general, provide specific extra credit assignmentsSmall 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 itExtra credit will be used to adjust grades upward, after they have been calculated for the entire class12RulesYou may:discuss the assignments with one anotherhelp others debug their workuse, without attribution, anything I post to the WebYou may not:share code with anyone but your assigned partner (if any)copy another’s code, or allow your code to be copiedlend your code to someone else, or leave it lying around where someone else may copy ituse any code from textbooks or the Web without my permissionIf you think you may have accidentally broken a rule, come and talk to me about it13The End“I know Karate, Kung Fu, and 47 other dangerous words.” --Source
View Full Document