George Washington University

Course Syllabus

Course Number

Course Title

CSCI 234

Design of Internet Protocols

 

Fall Semester

Spring Semester

Summer Semester

Year

X

 

 

2008

 

Name of Instructor

George Blankenship

 

Meeting Day, Time, and Room Number

Saturday, 9:30 am – 12:00 pm, RESRC1 222

 

Office Hours

(Saturdays after class, and by appointment)
telephone: (301) 734-0227 - office
           (703) 622-2315 - cell
email:
BlankenG@GWU.edu

 

  1. BROAD PURPOSE OF COURSE

This course presents protocol specifications and form description methods.  The course presents finite-state description notation, a specification and description language (SDL), and an implementation of a protocol specification.  Student should be comfortable with C programming or Java; CSCI 210, and CSCI 211 would help the student understand background concepts.

The course introduces and explores a variety of formal process description and analysis techniques used in the design of modern communication and software systems. It also illustrates the practical issues when using a number of such formalisms and software tools, particularly within the context of developing communications protocols and other telecommunications applications.  This course presents an overview of computer protocol design and analysis.  The student will be introduced to the major concepts of protocol evaluation and analysis.  The class will also examine the wireless networking protocols for areas where a number of the fundamental algorithms are used.

  1. COURSE OBJECTIVES

Upon successful completion of the course students will:

a)    Understand the issues in protocol design, implementation and analysis

b)    Know how to use an automated software tool (SPIN) and a language (PROMELA) for specification and analysis

c)    Understand the various concepts of concurrency, communication and control in systems and their associated modeling issues

d)    Know how to graphically express protocols (state machines, message sequence charts)

e)    Understand event-based and state-based formalisms

f)     Design and analyze a system or a communications protocol using appropriate design techniques and automated analysis tools

g)    Understand the features and limitations of languages used to model protocols

  1. TEACHING METHOD

The class will consist of lectures, formal and informal discussions, homework assignments, programming assignments, and two exams.  All notes will be posted on the class web page.

  1. GRADING POLICY

Course grades will be computed according to the following percentages:

Homework

20%

Research Project

25%

Mid-term exam

25%

Final exam

25%

Class Participation

5%

Homework is due two weeks following the assignment.  It can be delivered by email to BlankenG@GWU.edu, on a floppy, or in printed form; email is the preferred method of delivery.  Each page of the homework must have the student's name and id, date, and assignment number. Each page should be numbered "page x of y". If an assignment is submitted in hardcopy (paper) form, it should be stapled.  It is too easy to loose or misplace homework.  Each student is expected to keep a copy of all homework and projects submitted.  Homework will be assigned in most classes.  Late homework risks a grade of zero.  It is better to turn in an incomplete homework assignment for a partial grade, than to accept a zero.  Generally each homework assignment will include extra credit problems; late homework will not be eligible to receive extra credit points.  All of the homework assignments will be averaged for an overall homework grade.  The homework and research assignments represent 45 points of the final grade.  There will be 6 homework assignments and 1 research assignment.

There will be a mid-term exam and a final exam on the lecture material. Each will be worth 25 points of the final grade.

Active participation is encouraged in the class.  Questions and discussions are a significant portion of the learning experience.  Class participation will be worth 5 points of the final grade.  Repeated absence, or tardiness, can generate a negative value for class participation.

  1. CLASS SCHEDULE

The following table gives the topics covered in each class.  September 30, 2008 is a holiday since the weekend includes Labor Day.  November 29, 2008 is a holiday since the weekend follows Thanksgiving.

Date

Material to be covered (or other task)

8/23/08

Introduction to protocol and protocol inspection

8/30/08

(Labor Day holiday)

9/6/08

Error and flow control

9/13/08

Finite state machines

9/20/08

Concurrency

9/27/08

Concurrency (continued)

10/4/08

Database operation

11/8/08

Midterm (covering lectures 1 – 5)

10/11/08

Protocol testing

10/18/08

PROMELA and SPIN

10/25/08

PROMELA and SPIN (continued)

11/1/08

(protocol validation examples)

11/8/08

Midterm

11/15/08

(project preparation)

11/22/08

HL7 Protocol Validation example

11/29/08

(Thanksgiving holiday)

12/06/08

Research presentations

12/13/08

Research presentations

  1. REQUIRED TEXT

Holzmann, Gerard J., Design and Validation of Computer Protocols, Englewood Cliffs, NJ: Prentice Hall, 1991, ISBN 0-13-539925-4

  1. REQUIRED OR SUGGESTED READINGS OR AUDIO-VISUAL MATERIALS

(Please review the class web page: http://gwu.gblankenship.us)

  1. Academic Integrity

A learning experience is a combination of independent study and co-operative investigation with both the instructor and classmates.  The results of the learning experience are measured by the achievement of the individual.  Co-operative study is encouraged; however, all work submitted must be the result of the individual submitting the work and all other sources must be acknowledged.

This class, along with all classes at GWU, follow the "The George Washington University Code of Academic Integrity".