<cit597>CIT597“The network is the computer”Platform independenceJava, HTML, XML, etc.Some technologies we may coverSoftwareTextbookAssignmentsExaminationsExtra creditRulesThe EndJan 14, 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-independentThis course, however, uses JavaPrerequisite: 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 has become extremely popularIt connects millions of computers togetherThese computers run all kinds of programs, with all kinds of operating systemsInteroperability of programs and data has become 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 on5Java, HTML, XML, etc.Java is the most platform-independent language we haveThis 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 jobHTML is the language of the WebMost software documentation these days is distributed in HTML, PDF (Adobe’s Portable Document Format), or plain textWe will look at ways to create HTML from JavaXML 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 JavaClient-server architecture is used to communicate across the WebWe will look at creating server-side and client-side applications6HTMLSome technologies we may coverJavaHTML FormsJavaScriptXHTML & CSSBut underneath...HTTPTCP/IPSocketsmaybe RMIJavaservletsJSPPerl PHPSQLXMLDTDXML SchemasRELAX NGXSL XSLT XPath CSSJavaSAXDOMJAXPJava JDBCApacheTomcatAjaxRuby Rails7SoftwareMost of the necessary software will be installed in the Moore 207 labI strongly encourage you to install the software on your own computerThe 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 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 textbook is Programming the World Wide Web, 4th Edition, by Robert W. SebestaThis is, unfortunately, a fairly expensive book (about $90), but it fits this course very wellLike my course, this book is broad but shallow--that is, it covers a great many topics, but none of them in any depthIf you are seriously broke, the Web is full of great (and some not-so-great) tutorials 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