EECS 338 2001 Exams:     Exam1 in pdf    

 

EECS 338 2001 Assignments 

Assignment #1  
  Best Solution by Ran Cao:
click here.

 
  Basic Unix system calls, fork(), exec()
Assignment #2  
  Best Solution by David Rosas:   
      
source: p0 p1 unnamed   
   
    output: unnamed named piped
 
  Named and unnamed pipe system calls
Assignment #3   
  Solution
  
  Concurrent algorithms with semaphores 
Assignment #4
   Solution
   
  Concurrent algorithms with CR, CCR statements 
        and monitors
Assignment #5    
  Best Solution by Ian Charnas:
        
Code   Output   Binary
  
  Unix System V semaphores and shared memory
 

Assignment #6
  
   
  Best Solution by Stuart Morgan:
   
source:  client.c        server.c        MailBox.x
   
output:  client1.txt     client2.txt
   
binary: Client1.out     MailServer.out
  
  Solaris RPCs--Sequential Mailbox Server
     with RPCs

Assignment #7
   
  Best Solution by Ben Adams:
   
source:   client.c       server.c   shared.h
    output:   server   clienta   clientb   clientc
    binary:   server.out    client.out
 
 
  Connection-Oriented (TCP-IP) Sockets
  Sequential Mailbox Server
 

Assignment #8
   
   Best Solution by Ken Alverson:
    
source: server.c    svc.c     client.c    clnt.c 
                  share.c      mail.h
     output: server client1 client2  client3
     binary: server.out  client.out
      

   Connectionless (UDP-IP) Sockets 
          and Posix Threads
   Concurrent Mailbox Server
  

Assignment and Exam Policies

Important notes:

1) All assignments are to be done in C, prefereably, in gcc which is located at /p/gcc-2.8.1/gcc. The binary and the code you submit must run on the department's SOLARIS machines.

2) You should all have web pages in your home directories on the Unix machines. And, you must NOT develop your code in ~/web directory as it is world-readable. Any file that you place in ~/web directory is readable by anybody. 

3) You must restrict access to your UNIX directories as they are set up with the default of world-readable. Limit the access to your directories using the chmod command. If your code is copied by someone and submitted, you are responsible from cheating. 

Assignment submission Policy: 

    * On the due date:
You will submit your  assignment as a hardcopy in the regular lecture time. At this time, you should also make the binary code of your assignment available on your web page. Your grader/recitation leader will run your code, if (s)he wishes.  Late assignments will be accepted for only 5 CWRU days, after the assignment's due date.  

    *
On the 6th CWRU day after the due date of the assignment:  You are to post the source code of your assignment on your web page.  Please note that, because everybody posts their assignments on the 6th day, late assignments will no longer be accepted.

Normally, this course has 8 to 10 assignments. With the exception of two, all assignments are, what I call, Unix system programming assignments. To give you an idea, last year, we had 8 assignments as listed below (check the web page http://nashua.cwru.edu/338.2000/assignments.html):
     --UNIX Assignments: 
                                       (1)
Unix system callls, 
                                       (2) Unix named/unnamed pipe programming, 
                                       (5)  Unix System V IPC semaphores+shared memory programming, 
                                       (6) Solaris RPCs; producer-consumer problem, 
                                       (7) Connection Oriented (TCP/IP) Sockets--Sequential Server, 
                                       (8) Connectionless (UDP/IP) sockets and Posix Threads--Concurrent Server
     --Concurrent Programming Algorithms: 
                                       (3) Concurrent algorithms with semaphores and conditional critical region statements, 
                                       (4) Concurrent algorithms with monitors.

Getting your Accounts and Setting up your web pages

Assignment Grading Policy

EXAM Dates:
       
Midterm #1:  March 8, Thu
       
Midterm #2:  April 19, Thu
       
Final exam:   Will be announced soon.