CSE4/587  Information Structures Spring 2003

Bina Ramamurthy

Description

The objective of the course is to give an overview of the use of information technology in large-scale commercial and scientific systems, with emphasis on the use of state of the art computing in realizing various services and the frameworks supporting these services.  Topics include: enterprise modeling, process modeling, process automation and streamlining, workflow management, messaging, persistent message queues, transaction monitoring, document exchange, application servers, service definition (web services, web services definition language: WSDL), connection and resource reservation protocols (TCP, grid computing), integration technologies and architectures (Java 2 Enterprise Edition: J2EE, eXtensible Markup Language: XML, and Globus toolkit).

Outcome Objectives

Acquire knowledge of fundamental components of distributed systems and their functionality,

Gain competence in design, implementation and deployment of large scale distributed systems,

Understand the resource, data and application needs of various application domains such as enterprise systems and grid computing, and

Get an understanding of the technology solutions available for solving large probelms.

Prerequisites

CSE421 or equivalent, good problem solving skills and ability to program in Java. Fluency in basic software design and development process. Good working knowledge of the object-oriented principles.

Time and Place

Lecture meets at 228 NSC from 2.00pm to 3.20pm Tue/Thu. Even though there is no recitation advertised we will arrange for two separate times mutually agreeable to the students and TA.

Textbook

Required Text Book:

Enterprise Integration: An Architecture for Enterprise Application and Systems Integration, by Fred Cummins, John-Wiley & Sons Inc. 2002.

Recommended Supplements:

Computational Grids: The Grid: Blueprint for a New Computing Infrastructure.  By I. Foster and C. Kesselman. Morgan-Kaufman,1999.

Principles of Transaction Processing. By P. Bernstein and E. Newcomer,  Morgan-Kaufmann, 1997.

Instructor: Bina Ramamurthy

Office Room: 127 Bell Hall

email: bina@cse.buffalo.edu

Phone: 716-645-3180 (108)

Office hours: 2.00p.m. - 3.50p.m. MWF

Teaching Assistants

    Virendra Mohit

Grading Policy

Grades will consist of the following components:

Projects (3 projects)                          :  55%

Midterm Exam                                    : 20%

Final Exam                                         :  20%

Class Participation                            :  5%

Grade Range

Letter Grade

95 - 100

A

90 - 94.99

A-

85 - 89.99

B+

80 - 84.99

B

75 - 79.99

B-

70 - 74.99

C+

65 - 69.99

C

60 - 64.99

C-

55 - 59.99

D+

50 - 54.99 

D

0 - 49.99

F

The Minimal point distribution guideline will be as above. We reserve the right to alter component weighting or provide a “curve” on an assignment as warranted. In order to pass this course you must have passing average in the Exam component of the course. All assignments will be graded and returned in a timely manner.  When an assignment is returned, you will have a period of one week to contest any portion of the grade.  Grading conflicts will be first resolved with the TA who graded your assignment.  If the conflict cannot be resolved, the instructor will mediate the dispute.  When contesting a grade, you must be able to demonstrate how your particular solution is correct.  Also, when contesting a grade, the instructor or TA reserves the right to re-evaluate the entire exam, not just the question in dispute.

Projects

Projects constitute a major component of the course.  Students will apply the concepts studied during the lecture in three group projects: an introductory project, and two large projects in two diverse domains, Enterprise Application Integration (EAI) and grid computing.

You will be given approximately four weeks to complete each project.  Do not be lulled into a safe sense of security thinking you have a lot of time to implement each project!   Much of your project development time will be spent in the design phase of your code.  When implementing your solution, you should plan on using an incremental development path.  You should plan your project in achievable stages such that you can get parts of your solution working a little at a time.  This will help maximize partial credit during grading.  You will also be responsible for the development of test cases to show the accuracy of your solution.  You will also be required to perform an analysis of your solution, as well as create external documentation pertaining to your project. Late assignments will be penalized at a rate of 25% of the achieved grade for each day overdue.  The penalty will be assessed from the due date and time indicated on the assignment.

Exams 

There will be a midterm exam that will be administered and graded before the course resign date.  Midterm material will cover all lecture and reading assignments before the exam, as well as concepts from homework and lab assignments. The final exam is comprehensive, covering all lecture, lab, and homework areas. Make-up exams are not administered!  If you miss the midterm exam or final, you will be assigned a grade of 0 points  for that component.

Lecture and Recitation Attendance

Attendance is required for all lectures and assigned recitations.  You are responsible for all materials presented in lecture and recitation, as well as handouts and/or other supplemental material.  If you know that you are going to miss a lecture or a recitation, have a reliable friend take notes for you.   Attendance will be occasionally taken and may be used to determine how to resolve borderline grades at the end of the course.

I do not give incompletes in the course, unless under the most dire of circumstances.  By definition, an incomplete is warranted if the student is capable of completing the course satisfactorily, but some traumatic event has interfered with their capability to finish within the timeframe of the semester.  Incompletes are not designed as stalling tactic to defer a poor performance in a class until an easier professor allows the student to finish the coursework.

Academic Integrity

UB’s definition of Academic Dishonesty in part is, “Students are responsible for the honest completion and representation of their work”.  You should also read the departmental academic honesty policy located at http://www.cse.buffalo.edu/academics-academic_integrity.shtml.

 You must abide by the UB Academic Integrity policy at all times.  Remember that items taken from the web are also covered by the academic honesty policy!   If you are unsure if something violates the academic integrity policy, assume that it does until you get clarification from the instructor.

We reserve the right to check or question any portion of any work submitted at any time during the semester. If you are caught violating the academic integrity policy, you will minimally receive a ZERO in the course.  We will also place the incident in your permanent record.  If it is your second violation, we will recommend to the Undergraduate/Graduate committee Chair that formal proceedings be filed against you, which would mean either you could be expelled, or your degree progress will be terminated within the Computer Science and Engineering department.  

Help

Although I would like to be able to help each of you with your problems in this course, with large numbers students, this is not always practical.  Therefore, when asking questions, please try and talk with the TA first.  He has probably covered the question many times with other students.  Take advantage of my office hours and theirs. We have about 6 hours amongst us. Attend the recitations regularly. 

If you have special needs due to a disability, and are registered with the Office of Disability Services, we need to know as soon as possible!  Do not assume that we have received the paperwork!  (Although it is your responsibility to make sure we receive the paperwork as soon as possible from Disability Services).