<cit597> About This Course 26-Jul-16

advertisement

<cit597>

About This Course

11-Apr-20

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

This course, however, uses Java

 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 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 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

4

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

5

Some technologies we

may

cover

HTML

HTML Forms

JavaScript

XHTML & CSS

Ajax

Java servlets

JSP Java

SAX

DOM

JAXP

Perl PHP

XML

DTD

XML Schemas

RELAX NG

Java

Java

JDBC

But underneath...

HTTP

TCP/IP

Sockets maybe RMI

Apache

Tomcat

SQL

XSL

XSLT

XPath

CSS

6

Software

 We will be using Java, JUnit, Eclipse, Tomcat, and

MySQL, and several others

 The CD that comes with the textbook has older versions of some of this software

In general, we want the newest versions available

 Newer versions are freely available on the Web

An early assignment will be to install this software and keep a log of any problems and solutions you encounter

I avoid proprietary (Windows-only) software

I can’t provide a lot of help with installation

7

Textbook

 Our textbook this semester is Murach’s Java

Servlets & JSP

 Additional instructional material is on the Web

The Web is full of great (and some not-so-great) tutorials and specifications

In some cases, I will provide links to additional online tutorials

If you find better links, please let me know!

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 approximately every two weeks

Quizzes will be announced in advance (at least on the web site)

Quizzes will concentrate on recently covered material, but may include earlier material if appropriate

Quizzes may include material that was not covered in class

If we have at least six quizzes, 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:

 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

12

The End

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

--Source unknown

13

Download