CIS 308: Development of Multi-Tier Client/Server Systems
CIS Department,
Syllabus
Spring 2009
Instructor David Lefkovitz
Room 315 Wachman Hall
215-204-5550
The
objective of this course is to teach the principles and development of
multi-tiered distributed systems. The system concept of a three layer
architecture is introduced: The Presentation layer or user interface, the
Application Logic layer, and the Database Service layer. Multiple tiers of program components can then
be distributed over these three layers via the internet or other types of
networks. Within this architecture is a
substructure of client and server sites, which are described by the functions
of and relationships among the browser, web server, operating and file systems,
middleware, database server, and application servers. Specific programming languages and tools for
developing various types of client/server side processing and remote
connectivity are reviewed or taught, including Java, Javascript, JSP, Servlets,
Java Beans, HTML, XML, RMI and CORBA, and EJB.
About 40% of the course is devoted to the above-described theory and
programming techniques. The remainder of
the course will be devoted to putting some of these principles and techniques
into practice using the Java/RMI/ technologies.
A series of progressively sophisticated problems will be designed and
programmed in the lab. These will
include a term project implemented by teams of 2.
Objectives of the course are to (1) understand the principles of web interactivity and networked deployment of components, (2) understand the means of scalability, (3) design, code and debug web deployed components, (4) be introduced to current development tools, and (5) learn about some issues related to operational efficiency and re-usability.
CIS 223: Data Structures and Algorithms
Beginning Jsp 2.0: Build Web Applications Using Jsp, Java, And Struts, by Galbraith, et al, WROX Press, 2003, ISBN:1-861000-831-7.
There are 11 project assignments. These comprise 70% of the course grade. A midterm exam comprises 10% and a final exam the
remaining 20%. Each
project assignment is given a letter grade based on a curve. These are then converted to the GPA numeric
equivalent from 0 to 4, weighted by the Project Weight shown in the Project Schedule, summed and divided by 23,
which is the total of the Projects Weights, and multiplied by 0.7. The exam is graded the same way, making up
the other 30%, and added to the numeric score of the projects. The result is a number from 0 to 4, which is
converted back to the letter grade for the course. The formula is:
0.7*(Swigi)/26
+ 0.1m + 0.2*f
where wi is the weight of
Project i, gi is the numeric grade of Project i, m is the numeric
grade of the MidTerm exam and f is the numeric grade of the Final exam.
Each project has a deadline, shown in the Due Date column of the Project Schedule. Project submission policy is that a project assignment turned in by the Due Date gets the full letter grade. It can be turned in up to one week late (Late Date) but will be downgraded by 1 letter grade. It will not be accepted after the Late Date.