CptS 464/564 Syllabus

Distributed Systems Concepts and Programming

Fall, 2001

MW 4:15-5:30, EME B-46 (and WHETS TV to WSU Tri Cities)

http://www.eecs.wsu.edu/~bakken/564.htm

 

Prof. Dave Bakken,EME 55; Office 335-2399; cell 208-301-1865 (only if critical), bakken@eecs.wsu.edu

Office Hours: 2:00-3:00 Monday and Wednesday when not traveling or ill.

TAs: A. David McKinnon (mckinnon@eecs.wsu.edu), Shuohao Zhang (szhang2@eecs.wsu.edu)

TA Office Hours (in ETRL 301): No weekly ones, will have some on a per-program basis.

1)   Background

The last few years have seen a significant number of advances in computer and communications technologies, as well as the sharp decline in their cost.  These developments, coupled with the growing availability (almost ubiquity) of network and internet connections, have resulted in the huge growth in the size and diversity of computer programs, which are executed across multiple computers.  The most prominent examples use the World Wide Web (WWW), which has been called “the last gold rush of the millennium,” but other examples abound.

This course will examine the state of the art and practice in distributed systems and will provide significant experience in programming them.

2)   Course Objectives

As a result of this course, students will:

·        Be well-versed in the fundamental issues involved in designing, programming, and using distributed systems

·        Be familiar with some of the most significant new software technologies for creating distributed programs

·        Have significant experience using CORBA, the most technologically advanced software framework for creating distribute program.

3)   Text

a)    Required Text:

Verissímo, Paulo and Rodrigues, Luís.  Distributed Systems for System Architects, Kluwer Academic Publishers, 2001, ISBN 0-7923-7266-2.

b)    Optional Texts:

Hennig, Michi and Vinoski, Steve.  Advanced CORBA Programming with C++, Addison-Wesley, 1999, ISBN 0-201-37927-9.  Alias: “H&V”.

Coulouris, G, Dollimore, J., and Kindberg, T. Distributed Systems: Concepts and Design, 3ed, Addison-Wesley, 2001, ISBN 0-201-61918-0.  Alias: “CDK3”

4)   Additional Reading

Additional papers will be either handed out or linked to in the web page, or both.

5)   Course Prerequisites

Cpt. S. 360 (Systems Programming), or permission from the instructor.  Also fluency and significant experience in C++.  If you do not meet these prerequisites, you MUST come and talk with me the first week of class.  I reserve the right to drop you from the course if it becomes obvious that you do not meet the prerequisites.

6)   Course Requirements

You are required to attend every lecture.  If you miss one, it is your responsibility to find out what happened and to collect any material, which was handed out in class.  You are also expected to participate in class discussions to a reasonable extent.  This aids your learning and that of your classmates, and provides valuable feedback on the lecture.  I reserve the right to lower the grade of any student who is markedly deficient in attendance and/or participation.

7)   Assigned Work and Tentative Grading Policy

There will be one mid-term exam and one final examination; the final exam will only cover the material discussed and assigned after the first exam.  There will be three homework assignments given out.  There will be five programming projects, all involving C++ and CORBA.

The following allocation of grade percentages is tentative, and may change during the semester:

            Component                                                      464                  564

Exams (2):                                                        40%                 40%

Homeworks (3) and Surprise Quizzes : 20%                 20%

Projects (5):                                                     40%                 40%

564 students will be given additional material to read, as well as additional homework, programming requirements, and exam questions.  Accordingly, 464 and 564 will be graded on separate curves. 

8)   Policies and Expectations

Your exams, homeworks, and programming projects are subject to the academic honor code.  DO NOT CHEAT IN ANY WAY: DO YOUR OWN WORK!  Side effects of cheating may involve expulsion, revocation of assistantships, a pox on your family, etc., not to mention seriously angering me…

It is quite acceptable to ask others things like “Have you gotten this exception before?,” and even have them look at your stack trace and its code  It is quite unacceptable, on the other hand, to have them spend hours helping develop or seriously rearrange your program’s logic.  If in doubt, ask me first….

9)   Disability Accommodation

Reasonable accommodations are available for students who have a documented disability.  Please notify the instructor during the first week of class of  any accommodations needed for the course.  Late notification may cause the  requested accommodations to be unavailable.  All accommodations must be approved through the Disability Resource Center (DRC) in Administration  Annex room 205, 335-1566, e-mail mailto:drc@mail.wsu.edu in Pullman.


10)          Tentative Schedule (Updated 9/12/01; all dates after this tentative!)

#

Day

Topic

Text

HW

Project

1

8/27

Introduction and Overview of DSs

Slides

 

 

2

8/29

DS Foundations

1

 

 

 

9/3

NO CLASS: LABOR DAY HOLIDAY

 

 

 

3

9/5

DS Foundations (cont.); Middleware overview

1

1 out

 

4

9/10

CORBA-I (Basics)

Slides, H&V

 

 

5

9/12

CORBA-II (Basics) & Project 1

Slides, H&V

1 back

1 out

6

9/17

DS Paradigms

2

 

 

7

9/19

DS Paradigms (cont.)

2

 

 

8

9/24

DS Paradigms (cont.)

2

 

1 back

9

9/26

DS Paradigms (cont.)

2

 

2 out

10

10/1

Models of DC

3

2 out

 

11

10/3

Models of DC (cont.)

3

 

 

12

10/8

Models of DC (cont.)

3

2 back

2 back

13

10/10

CORBA-III (Event Service, other) & Project 3

Slides, H&V

 

3 out

14

10/15

MIDTERM EXAM

 

 

 

15

10/17

DSs and Platforms

4

 

 

16

10/22

Case Study: VP’63

5

3 out

 

17

10/24

DS Fault Tolerance

6, some 7

 

 

18

10/29

DS Fault Tolerance (cont.)

6, some 7

 

 

19

10/31

Embedded DSs (guest lecture)

Paper

 

 

20

11/5

Real Time DSs (guest lecture)

11, some 12

3 back

 

21

11/7

Real Time DSs (cont.; guest lecture)

11, some 12

 

3 back

 

11/12

NO CLASS: VETERANS DAY HOLIDAY

 

 

 

22

11/14

CORBA-IV (Real Time) & Project 4

Slides, H&V

 

4 out

 

11/19

NO CLASS: THANKSGIVING HOLIDAY

 

 

 

 

11/21

NO CLASS: THANKSGIVING HOLIDAY

 

 

 

23

11/26

DS Security

16, some 17

 

 

24

11/28

DS Security (cont.)

16, some 17

 

4 back

25

12/3

CORBA-V (Security) & Project 5

Slides, H&V

 

5 out

26

12/5

DS Management

21

 

 

27

12/10

Distributed Quality of Service

Papers

 

 

28

12/12

Distributed Quality of Service

Papers

 

5 back

 

12/18

FINAL EXAM (8-10AM,  Room TBA)

 

 

 


·       Student Survey (complete, tear off, and return to instructor)

a)    Which courses (or their equivalents at other schools) have you taken? 

WSU #

What

Taken before

Taking Now

Not taken ever

CS 460

Operating Systems

18

6

13

CS 455

Intro Networks

23

0

13

CS 555

Comp. Comm. Net

3

12

21

CS 557

Advanced Networks

0

1

30

CS 360

Systems Programming

34

0

4

EE 414

Digital Systems Design

8

0

30

CS 425

Network Security

3

1

30

CS 427/527

Computer Security

8

0

29

CS 451/551

Database Systems

18

7

13

CS 461

Embedded Systems

3

0

33

b)    What is your Major and what category of student are you:

 

CptS

Cpt  Eng

EE

ME

Other

Undergraduate

17

3

 

 

 

Graduate

18

 

 

 

 

c)     What experience do you have with these different languages and environments?

What

0

1

2

3

4

5

C++

 

3

13

16

6

2

Java

5

14

10

5

5

 

LISP

20

12

6

2

 

 

Ada

33

2

2

 

 

 

CORBA

31

6

2

 

 

 

DCOM/COM+

33

2

3

 

 

 

.NET

34

4

 

 

 

 

Microsoft OLE

28

6

 

4

 

 

Microsoft Programming environments (Visual C++/J++, etc)

3

5

10

14

4

1

Linux

1

7

15

10

5

1

Windows NT or Windows 2000

1

6

11

12

7

3

Other (specify):

 

 

 

 

 

 

0 == none or vague familiarity; 1 == played with it a little; 2 == used in 1-2 courses; 3 == used in lots of courses, and am one of the best at it among my peers; 4 == used for years and a local guru; 5 top 100 or 1000 in the US in it.