IT 320, CS321
Web Technologies
Syllabus
Fall 2008
Details of dates      
Table of Contents
Are on the
Schedule  
for the notes/site
Instructor: Margaret Menzin
menzin@simmons.edu
Office: tel:
x2704
physical office: S209
Home tel: 781-862-5107 (not after
Office Hours: I am here MWF from
Mon
Wed
Fri
Please give me a heads up if you plan to come during lunch.
Note: There is no class on
This
class will be made up at a time to be determined by us.
Texts: For HTML/XHTML and CSS: Xeroxed Notes
For JavaScript: above plus "Teach Yourself JavaScript in 24 Hours " by Michael Moncour
Fourth edition; published by SAMS
For Web Services: "Executive Guide to Web Services" by Marks & Werrell published by Wiley
"Web Services Essentials" by Cerami; published by O'Reilly
For XML: Learning XML - 2nd edition - published by O'Reilly written by Erik T. Ray -
ISBN 0-956-00420-6
Note that XMLSpy, the tool we will use in the last part of the course, is available for a limited free trial.
Do NOT download it before we are ready to start on that topic.
Accommodations for Special Needs: Reasonable accommodations
will be provided for students with documented physical, sensory, systemic,
cognitive, learning, and psychiatric disabilities. If you have a disability and
anticipate that you will need a reasonable accommodation in this class, it is
important that you contact the Academic Support Center Director at 617-521-2471
early in the semester. Students with disabilities receiving accommodations are
also encouraged to contact their instructors within the first 2 sessions of the
semester to discuss their individual needs for accommodations.
Expectations:
This is an advanced level course which introduces you to important cutting-edge
technologies that make the web so useful across many different kinds of
computers and systems. Wherever possible we will use the current standard tools
in the IT industry. Because this is very new material we will use books
aimed at IT professionals rather than text books. This, in itself, is a
valuable experience for you. This is all very cutting-edge and it should
be a lot of fun! I hope that, by reading professional documentation, books, and
newsletters, you will also learn how to learn about new technologies as they develop.
The course should be both a lot of fun and a goodly amount of work.
There is a lot of material, but it is not intrinsically overwhelmingly
difficult. Also, there is ample opportunity for you to be creative.
I have tried to pre-load the work (heavier at the start of the semester;
lighter at the end), but since this is an evolving course, the schedule is a
little less firm than it might otherwise be.
I expect you to be present for all classes and laboratories. The labs are
a very important part of the course, and, by now, you are experienced enough in
computing to know that there is no substitute for hands on experience with the
material.
Likewise, projects are to be handed in on the due date, unless an extension has
been granted well in advance of the due date.
In general, it is easy to get a hold of me, and I am happy to help you with
debugging (if your work is properly commented.) Indeed, I recommend that
after you stare at a bug for 15 or 20 minutes, you seek help. There are
lots of times when someone else can see your error (and you would see hers)
faster than you can. I also encourage you to work together unless you are
specifically told that a project is to be individual. Not only is it more
fun to work in groups, but everyone learns more.
Finally, knowledge of this material, because it is very current, will be useful
in looking for internships and jobs.
Let's go!
.
Grading:
Each major
assignment or project or test counts equally towards the grade. Smaller
assignments will have ?points? as indicated. In team projects grades are
assigned based on both how the team as a whole does with the problem and how
your team-mates assess your own contribution.
Schedule(spreadsheet)
IT320 Schedule
of classes and labs
Unit
1 HTML/XHTML, JavaScript, and Client-Side Programming.
In the
first part of the course we will focus on technologies that allow people on
various computer systems to all call upon the same computer to do things for
them. Of course, as you have all used browsers like Internet Explorer and
Netscape, you are all familiar with how easy it is and how you can access your
favorite site whether you are on a PC, a Mac, or on a workstation. The
underlying technology here uses an agreed upon method for encoding information
(Unicode), HTML (the mark-up language for web pages), and JavaScript (a very
straight-forward programming language). As you already know how to program
in one language (Java if you took CS112, or JavaScript if you took CS101) it
will take us only 3-4 weeks to breeze through this material. Our emphasis
here will be somewhat different from CS101, as we will spend much less time on
mathematical models, will be able to omit the material you have previously
studied on the components of a computer, etc. Instead, we will focus on
forms and events, and ?include material on cascading style sheets (CSS), DOM,
and
Further, I
am asking the
Week
1 - Brief review of what we all know about the Internet;
Beyond Classic HTML (Wed. Sept 6 and Fri.
Sept. 8)
.
Week 2 - XHTML
thru tables, frames, etc. This also introduces the XML model and we will
spend a lot of time reading w3c.org?s documentation on XHTML.
Week 3/4 -
JavaScript - variables (global and local), loops, control statements,
functions.
Project
due (Further pieces may be added to this project):
Print out the a song which follows a pattern similar to the 12 Days of Xmas
using all the following methods:
Write a function which prints one
verse (backwards) and a loop in your body which calls the function for days
1-12
Write a nested loop in your body,
with the outer loop going forward (for each day) and the inner loop going
backwards (from your day down to day 1)
(Optional) a. Write a
recursive function which prints one day and calls itself on previous day;
in the your body you should call the function in a loop (going forward)
b. Write a
recursive program for "the Farmer in the Dell" or for " I packed
my trunk" where the user inputs the items in an array with each verse and
the program prints it out recursively.
Week 4/6 -
Advanced JavaScript - forms, validating user entered information; CSS, the DOM,
introduction to
Project: Details TBA, possibly a utility to turn text
announcements into HTML one.
Unit 2 -
Server Side Programming for Web Pages
In the
first unit of the course you will have constructed sites where a page or pages
is requested by the user but then the page/program runs on the user's
machine. This is called client-side programming. Sometimes,
however, the user needs to have the machine which hosts the site do some work
and return some information. For example, imagine that you order
something from an on-line store such as Amazon. Amazon's computers need
to check availability of the books you want, calculate shipping costs, ask for
your credit card number, etc. Then Amazon's computers need to
return information to you (Is a book out-of-print? When will your order
be shipped? etc.) The programs which do this work and communicate with
you, the user, are called server-side programs. In this unit we will
learn how to make your web page post information to the server, have a program
on the server retrieve this information and respond to the client.
Week 6/7 -
Dreamweaver workshop and group project due and start on Unit 2 below
Classes will talk about post and get, CGI, Perl,
etc. You will modify some simple Perl scripts.
Group Project: Multi-step interaction between a user
and server involving several web pages. Specific requirements for the site will
be handed out.
Unit 3 -
Introduction to Web Services
The first
two units dealt with technologies which allow a person on any computer to
interact with another computer. Now we turn to the problem of computers
interacting with each other without human intervention. (The lingo for this
(and there is lots of lingo out there) is ?interoperate?.) We begin
by examining the components and technologies (and what stage of development
they are in) which go into making this possible. In this relatively short
unit you will learn how to toss around lots of acronyms, such as SOAP, WSDL,
UDDI and XML, XST, etc. You will understand how these technologies work
together, who keeps everything universal, etc. There will be a test.
Week 7
- Alphabet soup - XML, XSLT, SOAP, UDDI etc. What each does,
how they interact, state of adoption and standards
Paper at end of week 7
Unit 4 -
XML
Just as HTML
is the vehicle for designing web pages which may be displayed on any computer,
we also need a universal language for describing data. That language is
XML. XML stands for eXtensible Mark-up Language. XML allows you to do two
things: describe in general form what your data looks like, and give particular
examples of that data (which may even be "validated" as conforming to
the general description.)
For
example, a student transcript might contain 'student personal information' and
one or more 'semesters', a semester has one or more 'courses' a 'course'has
exactly one 'department name', one 'course number', one 'section number', one
'credits', one 'title' and one 'grade'. Further you might specify a
'course number' as an integer from 100 to 999 inclusive, etc. What you
are doing is building, as your 'general description', a giant properties
section of a class, but you are also storing it in such a place that many
computers can refer to it. (Imagine that all publishers, librarians, etc.
agreed on what a book record looked like. That record format could then be used
by all of them, and a library ordering a book would know, for example, that the
'title' always came before the 'authors'. It would make it much easier
for a library's computers to order books from the publishers' computers.)
If you
think this looks pretty easy, you?'re right. We will use XMLSpy to
construct our XML schemas (definitions). Also, as you might guess from
the name, XML may be added to by various industries to make it more useful.
So, for example, there is a mathML, an eBXML (for e-business) which have
addition types for those fields. There will be individual projects, a
test, and, hopefully, you will get to use each other?'s XML schemas. We
will touch briefly on how data is transformed from programs and databases into
XML and vice versa.
Week 8/9 -
Basic XML and DTDs; small project due at end of DTDs
Week9/10 -
Move to Schemas; true extensibility
Week 11-
Namespaces
Project due at end of Week 11.
Week 11/12
XSLT (and Thanksgiving)
Unit 5 .
More Server-Side Programming and the X in XML
In the
second unit of the course you looked at server-side programming for web
pages; now we look at server-side programming for web services.
There will be a team or individual project.
Week 13/14
- More on the server side - including SOAP, RPC, etc; reading the
Journals and professional sites
Final project
presentations: each of you will be asked to give a lecture on an extension of
XML: how to become an Amazon Web Services Associate, or RSS feeds or the
Semantic Web and RDF or eBXML or MathML or a topic of your choosing (with my
approval.)