An Important note on Academic Integrity

You must do all of the homework assignments for grading individually (and the exams, of course). In preparing the solutions for assignments, you may consult with other students, the teaching assistants and myself regarding the general method of solutions. However, the final submission handed in for grading must be your own work. Copying the solutions of others is expressly forbidden. Allowing others to copy your solutions is expressly forbidden. If the instructor permits using fragments of source code from outside sources, such as your textbook or on-line resources, you must properly cite the source. Not citing it constitutes plagiarism. Falsifying program output or results is prohibited. Penalties for violation of this will range from a grade of zero on the assignment, a reduced grade for the semester, to a grade of F for the course, effective immediately, and a letter to the Office of the Dean. If anyone has any questions about what constitutes plagiarism, please see me ASAP. I take this subject very seriously.

By registering for this course, each one of you is explicitly making the following pledge of honesty: "I understand that all tests, exams, and homework handed in for grading in this course are to be done individually. All homework and other assignments handed in under my name are individual efforts: I am to solve, design, and develop these assignments myself. I understand that it is permissible to discuss verbally general methods of solution and points of confusion with other students, the teaching assistant or the professor. However, the final submission will be my own work. I will not copy anyone else's written work, or any copyrighted work, nor will I have anyone other than myself prepare any portion of my work. Copying of the solutions of others is expressly forbidden. I will not allow any other person to create, nor to copy, any part of my assignment handed in with my name on it."

Also see the ``Drexel Policies and Procedures Regarding Academic Honesty,'' in the Drexel Student Handbook.


Submitting Assignments

Read these instructions carefully.
Non-compliance will result in points taken out of your grade, or the entire assignment rejected.

Papers/Essays

Submitted papers or essays should have the form of a conference or Journal publication (e.g. the ``Designing an Embedded Firewall/VPN Gateway'' paper), with an abstract, introduction/motivation, a clear explanation of the concepts involved, and at least 5-6 bibliographical references. Usually I do not provide references or a reading list, as researching the topic is part of the exercise. Look around in the Web but mainly in the academic sites, like ACM, IEEE, citeseer, USENIX, etc. to get a number of references that will help you talk about the subject in an authoritative way.

Read also the Usenix Author Guidelines: How (and How Not) to Write a Good Systems Paper.

Descriptions of protocols used in the Internet (e.g. SUN-RPC, XDR, NFS, etc.) may be found in the Internet Engineering Task Force (IETF) site. The documents are called Requests for Comments (RFCs).

Things to avoid are sites that are selling or pushing systems. Marketing talk is often wishful thinking rather than reality. Be careful of such sites as they are likely to tell only half the story. On the other hand, published research papers that are peer reviewed are more open and frank about limitations, because their statements must satisfy the reviewers.

Programing Assignments

Good coding practices should be followed in the construction and documentation of the programming assignments. You must follow these coding guidelines in your programs. The submissions should be in C or C++ and should compile and run correctly on the main CS servers (SUN/Solaris and i386/Linux). The documentation should include a manual with usage instructions and examples of the use of the programs, sample output and a description of the techniques used to develop these applications. The fact that the code works will contribute no more than 50% of the grade, the rest will depend on the quality of the code and documentation.

Students are expected to have access to a UNIX-based programming platform. Familiarity with basic system UNIX programming concepts is assumed. If you do not have an account on the CS servers, you can create one here.

Naming and Packaging

Unless instructed otherwise, assignments should be e-mailed to the TA (or to myself if there is no TA assigned for the course).

Text files (e.g. answers to short questions) should be sent in ASCII in the body of the email message, i.e. no attachments.

For essays, or other long documents the preferred format is PDF. Instructions on how to convert a DOC file into PDF, appear further down.

Deliverables that include multiple files should have them grouped into a tar file. The files should extract in their own subdirectory.

Naming Conventions

When sending files, please use this naming convention to help us identify the author.

Converting .DOC to PDF

The following process works with the output of most Windows programs.

First we need to create a postscript file from out application. To do that we need to install a printer driver that is compatible with postscript printers.