CS 360 Distributed Applications Engineering

Syllabus, Spring 2007

 

Course title:        CS 360 Distributed Applications Engineering

Credits:                  4 elective CS credits; satisfies the CS Software Engineering requirement 

Prerequisites:   CS 205 and either CS 245 or CS 250

Instructor:         Dr. Gancho Ganchev

Office: WS114

Phone: (203) 837-9349

Email: ganchevg@wcsu.edu, gfganchev@yahoo.com

Description:

This course introduces principles of software engineering with emphasis on building distributed applications. After an introduction and overview of the fundamentals of distributed computing, computer networking and interprocess communication, students will study the architecture of typical distributed applications. Examples and case studies will be provided. This is a project-centered course. It will use COMET (Concurrent Object Modeling and Architectural Design Method) - a methodology for designing real-time and distributed applications, which integrates object oriented and concurrency concepts and uses the UML notation. The project teams will consist of 3 – 4 students. Active student participation, including presenting/discussing problems and solutions, topics of interest, examples, case studies, etc. will be required.

 

Resources:

Books

1.      Tanenbaum (2006), Distributed Systems Principles and Paradigms, Prentice Hall

2.      Deitel & Deitel (2007), Java How To Program, Prentice Hall

3.      Deitel & Deitel (2001), E-Business and E-Commerce How To Program, Prentice Hall

4.      Deitel & Deitel (2002), Wireless Internet and Mobile Business How To Program, Prentice Hall

5.      Ince (2004) , Developing Distributed and E-Commerce Applications, Prentice Hall

6.      Liu (2004), Distributed Computing - Principles and Applications, Addison Wesley

7.      H. Gomaa (2000), Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison Wesley

Additional literature may be listed during the course

 

Internet resources will be provided throughout the course

 

Class notes and additional course materials will be posted on the N: drive in the folder N:/Class/GanchevG/CS360.

 

Attendance:      You are expected to be present for each class session.

Withdrawals:     No withdrawals will be approved after the official University deadline.

Assessment:     

Mid-semester test:  20%
Team project:       40%
Final exam:         40%

Tentative Schedule of Topics:

 

Session

Date

TOPIC

Reference

1-Mo

Jan 22

Introduction – Distributed systems

[1], Ch 1

2-We

Jan 24

Distributed systems

[1], Ch 1

3-Mo

Jan 29

Communication

[1], Ch 2

4-We

Jan 31

Communication

[1], Ch 2

5-Mo

Feb 05

Java RMI vs CORBA

[5] Ch. 9, 10, [6] Ch. 7, 8, 10,

6-We

Feb 07

Exercises: Java RMI

[1], Ch 3

7-Mo

Feb 12

Processes

[1], Ch 3

8-We

Feb14

Processes

[1], Ch 3

Mo

Feb 19

Holiday

 

9-We

Feb21

Exercises: Multithreading

[2], Ch 23

10-Mo

Feb 26

Naming

[1], Ch 4

11-We

Feb 28

Naming

[1], Ch 4

12-Mo

Mar 05

Exercises: TCP and Datagram Socket Programming

[2], Ch 24

13-We

Mar 07

Mid-semester test

 

14-Mo

Mar 12

E-Commerce Applications

[3], Ch. 3,4

15-We

Mar 14

Software Methodology – Life Cycle

TBA

 

Mar 19-25

Break

 

16-Mo

Mar 26

Software Methodology - UML

TBA

17-We

Mar 28

COMET - Requirements

TBA

18-Mo

Apr 03

COMET - Analysis

TBA

19-We

Apr 04

COMET – Analysis, System Design

TBA

20-Mo

Apr 09

COMET – System Design

TBA

21-We

Apr 11

COMET – Detailed Design

TBA

22-Mo

Apr 16

COMET - Implementation

TBA

23-We

Apr 18

Revision: XML

TBA

24-Mo

Apr 23

Exercises: Java Servlets, Java Server Pages, Java Server Faces

[2] Ch 26,
[5] Ch 7

25-We

Apr 25

Web Services, SOAP, WSDL

[2] Ch. 27, 28

26-Mo

Apr 30

Exercises: Web Services

[2] Ch 27, 28

27-We

May 02

Wireless and mobile computing

[4]

28-Mo

May 07

Exercises: Wireless and mobile computing

[4]

29-We

May 09

Project demonstrations