This course will focus on various aspects of systems programming for
distributed systems. We will address client-server programming and
applications, study the UNIX programming and socket interface, and
have a closer look at UNIX operations such as file, I/O, or process
management. We will also address Internet programming solutions such
as event communications, CORBA, SOAP, XML, RPC, Java RMI, etc. The
programming assignments will be based on C or C++ for UNIX (Linux)
computers. Other topics, applications, or programming languages may
be discussed or used if time permits.
Douglas Comer and David Stevens, "Internetworking with TCP/IP,
Vol. III: Client-Server Programming and Applications, Linux/Posix
Sockets Version", Prentice Hall, ISBN: 0130320714, 1st Edition.
Papers and handouts will be provided throughout the semester.
4/17/05: The final exam will be on 5/4/05 from 4.15-6.15pm in DeBartolo 125.
4/11/05: There is no office hour this week, please contact the
instructor if you need to discuss something.
2/21/05: Today's (2/21) office hour will be from 3-4pm!
2/20/05: Programming assignment 3 is available!
2/14/05: Programming assignment 2 submission has changed: the code is due on 2/18/05 (as before), the extra credit section, however, can be submitted
until 2/23/05 (no extensions after that). If you do not submit your code by
2/18/05, you can still do so by 2/23/05, however, the extra credit part becomes mandatory to obtain 100% of the grade (the usual -25% rule will apply after that).
2/13/05: Homework 2 is now available!
2/13/05: Homework 1 has been graded, you can find your grade in a file
in your dropbox. For details about the grade, contact the instructor.
2/8/05: There will be a Q&A session for programming assignment 2 on 2/16/05 (in class). There will be a review session before the midterm on 2/25 (in class).
2/7/05: Beginning with programming assignment 2, resubmissions will be allowed, the best of the grades will count (i.e., I encourage everybody to
resubmit improved versions of your code even after the deadline has passed).
2/3/05: Programming assignment 2 is now available! (Use C or C++!)
1/31/05: The first homework assignment is available.
1/28/05: The evaluation part of the
first programming assignment has been changed: note that the first test case
is now "./mailbox 4 1 95 10" (however I will accept submissions with the test
case mentioned in the original assignment due to the short notice).
1/20/05: The instructor's office hour on 1/24/05 will NOT take place, however, there will be an office hour on 1/28/05 from 2-3pm (in 354 Fitz).
1/20/05: Programming assignment 1 is now available! (Use C or C++!)
1/20/05: Dave Salyers (TA) will give a guest lecture on Monday, 1/24/05, reviewing some basic Data Networking information.
Pre-requisites/Co-requisites:
This course should be taken after or at the same time as either
the Operating Systems course (CSE341) or the Computer Networks course
(CSE364) or any similar courses.
This course requires several programming assignments, students are
assumed to have a solid background in C and/or C++ programming and experience
with the UNIX environment.