ECS 400 - First Class - January 17, 1996 ECS 400 Software Technologies for the World Wide Web January 17, 1996 Nancy McCracken NPAC Syracuse University 111 College Place Syracuse NY 13244-4100 First Class - Organizational Meeting This course is intended to introduce emerging software technologies relevant to the World Wide Web and equivalent subsets. The material will cover the languages Perl, Java and JavaScript and their use on the Web, including the development of interactive ³applet² programs that are distributed via a network for execution on a receiving client machine. Lab time will be devoted to using these languages in student projects. Today we will ask students to fill out surveys about scheduling lectures and labs and about students¹ backgrounds. Prerequisites: Students should have a good basic understanding of how computers work and should be confident in C or willing to learn C quickly. Description of the Course Text: HTML & CGI Unleashed, John December and Mark Ginsburg, Sams.net Publishing, 1995. Section 1 - (2 weeks) Introduction to the WWW, networking, HTML including Netscape enhancements and simple forms, Web capabilities such as searching. Create web pages, collections of information and images. Other projects depending on background. Section 2 - (5 weeks) Client/server architectures, http and MIME types, CGI programming. Perl. Programming in C and Perl. Implement a project using web forms to access a ³database² of information and initiate a related computation. Description of the Course, continued Section 3 - (6 weeks) Applet architecture, server side includes and browser plug-ins. Java and JavaScript. Introduction to VRML graphics representations. Implement the project in Java and JavaScript, performing computations on the client workstation. Design a more active web interface. If time permits and the project is suitable, use VRML in visualizations. Section 4 - scattered within other sections Miscellaneous additional topics: ATM networking, video compression, parallel databases, and so on according to time and interest. PERL4 Text: Learning PERL (the Llama book), Randal L. Schwartz, O¹Reilly & Associates, 1993. PERL4 is an interpreted language that can be regarded as a cross between C, Unix shell, sed and awk. It is a C-based language which can also deal directly with Unix commands and file system and easily do string processing matching. In this course, we will concentrate not on using PERL in systems programming, but in using PERL for CGI programming, i.e. implementing programs activated from Web pages. In general, we use PERL for tedious high level things which can take a long time to program but not much execution time. For computationally intense programs, we would use a compiled language such as C. Java and JavaScript Text: Hooked on Java, van Hoff, Addison & Wesley, 1995. Java is a new general purpose object-oriented language developed at Sun Microsystems. It is intended to be a simpler cleaner language than C++. Java features support the implementation of dynamic multimedia web pages. It can run in a distributed manner: Java classes, called applets, can be compiler to architecture independent bytecodes which can be downloaded to a Web browser and run on the client machine. New web browsers such as HotJava and Netscape2.0 allow tags in the web pages to refer to applets on the web server. Applets can also be interpreted directly by putting JavaScript directly into the web page. Projects Example project 1: Air Flow Products Suppose that a company has a collection of heating and cooling units in a product database. They can provide product information through their web pages. Furthermore, they allow architect customers to design ductwork of unusual cross-section to deliver air flow to rooms, when they want the ducts to be visible. The architects can ask for a simulation of the air flow through these ducts for the various units and view its results. Example project 2: Telemedicine Suppose that a doctor or hospital has a collection of patient records, including diagnostic images. A doctor can view this information through the web pages and also add new diagnostic images. He or she can request to run a computation to compare images or to find features on the image. Course Requirements The coursework will consist almost entirely of the three projects. Students will also be asked to keep a lab notebook that records their work and progress in the labs. Each project should be described in a report, which can be web-based, and will include, of course, a link to the web demonstration.