Each and every one of the optional assignments must be graded at least 60% of the maximum
number of points for that assignment. Anything that's below 60% will be counted as
zero (0) for purposes of your final score. The reason for this is simple, I don't want
anyone to get a passing grade in this class by just submitting lots of mediocre work.

You must get at least 60% in the final AND 60% in the class presentation in order to pass
this class.

The relationship between the number of points you accumulate in this class and your final grade is
given in the table below.

Grade

Points required

A

500+

B

[450, 500)

C

[400, 450)

D(1)

[350, 400)

E

[0, 350)

(1)This grade may not be applied to graduate students.

Class participation will help settle borderline grades. While class attendance is not taken,
your instructor believes that regular class attendance is important and expects students to
actively participate in class. Questions and comments are always welcome.

I understand that from time to time you'll get overwhelmed with work, or that you may
have personal problems that will make you less productive than you'd like. That's why
each student in this class has a credit of 20 points for late work.

You can use this credit as you see fit, for good reason or no reason at all, all at once
or in pieces -- though there is no fractional credit, i.e. you cannot request 0.3 points
of credit. The only thing we ask for is that, in your Blackboard submission (in the COMMENT
field) you indicate how much of your credit you want to use.

After you've used your "late work credit", or if you don't want to use it, there is
a 5% per calendar day penalty for late work. The way this works is that the late penalty
is taken from the top, and then the TA -- or whoever grades your work -- applies other
penalties that result from grading the work.

Let's say you're N days late on an assignment that's worth X points; also, let's also assume
that the TA finds errors in your submission that accumulate to a total of Y points.
Then, your mark for the said work is going to be (X - N*0.05*X) - Y.

For example, let's assume we're talking about PA-2 where you can earn a maximum of 70
points (X=70), and that you're three days late (N=3). Let's also assume that the TA finds
errors in your submission that are worth 11 points. Then your mark on this assignment will
be (70 - 3*0.05*70) - 11 = 48.5, which will be rounded up -- using the round half up
rule -- to 49.

It's not automatic; you have to request an incomplete from your instructor
before final grades are posted.

It's a single piece of work that's holding you back. For example, you forgot it's
finals day and failed to take the final exam. Well, I can give you an incomplete
for that. However, I cannot give you an incomplete if you failed to submit one of
the programming assignments and you failed to get a passing score in the final.

You accept whatever work I'll be assigning you to remediate the incomplete; I promise
you that the work will be relevant to this class, however it may not be the exact same
as the work you just missed.

NOTE: the fact that your code runs on your computer and not on ours is not enough
to earn you credit for your work.

We'd love to accommodate you with other test environments, however the TA -- assuming one is even assigned
to this class -- is already overworked, which means we're not going to do it.

Let me repeat, we're not going to test under any other version of Windows, nor are we
going to do it under and other Unix variant other than the one described above.

If your application requires things (e.g. libraries, plug-ins, gems, etc.) that don't
come with the standard distribution, then you should tell us, in the README file you
provide with your other deliverables, how to install required dependencies.

BackTrack is a Linux distribution
that includes lots of tools used for penetration testing, including the tools you'll need to
test your programming assignments. You can run BackTrack from a LiveCD or from a full
installation on your computer.

Alternately, you can just download, install, and use just the tools you need for the task
at hand.There is no hard-and-fast rule, just do what works best for you.