Alan Kaminsky • Department of Computer Science • Rochester Institute of Technology • 4572 + 2433 = 7005
 Foundations of Cryptography • CSCI 662-01 • Spring Semester 2018
Course Page

## CSCI 662-01—Foundations of Cryptography Course Grading and Policies

Prof. Alan Kaminsky—Spring Semester 2018
Rochester Institute of Technology—Department of Computer Science

 40% Homeworks (best 5 of 7; 8% each) 12% Programming Project 1 12% Programming Project 2 16% Research Paper 20% Final Exam

I will not hand out letter grades during the course, just points. Your final grade will be determined by the total points you earn, weighted as shown above, and converted to a letter using this scale:

 93.333% ≤ A ≤ 100.000% 90.000% ≤ A– < 93.333% 86.667% ≤ B+ < 90.000% 83.333% ≤ B < 86.667% 80.000% ≤ B– < 83.333% 76.667% ≤ C+ < 80.000% 73.333% ≤ C < 76.667% 70.000% ≤ C– < 73.333% 60.000% ≤ D < 70.000% 0.000% ≤ F < 60.000%

For the actual formulas used to calculate grades, see the Grade Calculator.

1. Q: Will you curve the grading scales based on class performance?
A: No.
2. Q: If my final score comes in a fraction of a point below the cutoff, will you give me the higher grade?
A: No.
3. Q: Can I do extra work to increase my grade?
A: No.
4. Q: I will lose my scholarship if I don't get a grade of ___. Won't you give me a grade of ___?
A: No.
5. Q: I will lose my visa and have to leave the country if I don't get a grade of ___. Won't you give me a grade of ___?
A: No.
6. Q: I will go on academic probation or suspension if I don't get a grade of ___. Won't you give me a grade of ___?
A: No.
7. Q: I will not be able to graduate when I planned if I don't get a grade of ___. Won't you give me a grade of ___?
A: No.
8. Q: My GPA will be too low for me to find a good co-op if I don't get a grade of ___. Won't you give me a grade of ___?
A: No.
9. Q: Based on the effort I put in, I feel I deserve a grade of ___.
A: Your grade is not based on the amount of effort or what you feel you deserve. Your grade is based on the grading criteria listed for each assignment.

When I have finished grading each assignment, I will post an announcement on the What's New page that the grades are available.

For further information, see Encrypted Grades.

The required textbook is Christof Paar and Jan Pelzl, Understanding Cryptography: A Textbook for Students and Practitioners (Springer-Verlag, 2010). A free online version is available from the SpringerLink database via the RIT Wallace Library web site.

You are responsible for learning, and will be tested on, the textbook chapters listed in the Course Schedule as well as Structural Attacks on Block Ciphers and Randomness. While I may not cover all the required reading material in class, you are nonetheless responsible for knowing it.

## Exercises

To help you learn the course material and prepare for the homeworks and final exam, Exercises (password required) are posted on the course web site, along with the solutions. I strongly recommend you do the problems before looking at the solutions, then check your work afterwards.

Accessing the exercises and solutions on the course web site requires authentication with a specific username and password. (This is not the same as your Computer Science Department account, and this is not the same as the secret key for decrypting your grade file.) The username and password will be announced in class and will also be listed in your grade file. Please observe the following restrictions:

• Do not make any electronic or hard copies of the exercises or solutions except for your own personal use.
• Do not give electronic or hard copies of the exercises or solutions to anyone else.
If these restrictions are not obeyed, I will not be able to continue posting exercises or solutions.

## Homeworks

There will be seven biweekly homeworks. Homeworks will be posted on the course web site on the dates shown on the Course Schedule. Homeworks will be due at 11:59pm on the dates shown on the Course Schedule. The homeworks will be submitted via email. The date/time at which your email message arrives in my inbox will determine whether the homework meets the deadline. Details of each homework, including grading criteria, will be provided when the homeworks are assigned.

40% of your final course grade will be based on your five best homework scores, 8% each.

Late homeworks: I will not accept a late homework. Late homeworks will receive a grade of zero. (Homeworks are not included in my policy on extensions.)

Plagiarism: Each homework must be entirely your own work. I will not tolerate plagiarism. See below for my policy on plagiarism.

## Research Paper

You will write a research survey paper in two parts. Each part will be due at 11:59pm on the date shown on the Course Schedule. The paper will be submitted via email. The date/time at which your email message arrives in my inbox will determine whether the paper meets the deadline. For further information, see the Research Paper assignment.

Late paper: I will not accept a late paper unless you arrange with me for an extension. See below for my policy on extensions. A late paper will receive a grade of zero.

Plagiarism: The paper must be entirely your own work. I will not tolerate plagiarism. See below for my policy on plagiarism.

## Final Exam

There will be a two-hour final exam during the Institute examination period, at the date and time shown on the Course Schedule. The final exam will be open book, open notes, open electronics. The final exam will cover material from the entire course. The final exam will involve numerical calculations; be sure to bring a calculator.

I will not hand back the final exam. To see how you did on the final exam, you may visit me in my office.

Absences: If you are absent from the final exam, your final exam will receive a grade of zero unless before the start of the final exam you arrange with me to take the final exam at another time. I am normally willing to permit this only for absences due to illness or unforeseen personal emergency. However, if you feel you have a valid reason for your absence, please discuss it with me. Appointments, job interviews, career fairs, vacations, trips home, and other activities you schedule are not valid excuses for absence. You have an obligation to this course, and you must schedule other activities so as not to interfere with the final exam.

Scheduling conflicts: If you have a final exam scheduling conflict, please refer to the University Policies, Section D11.0, "Final Examination Policies." You must submit a written request for rescheduling to the head of your home department, with a copy to your instructor, by the last day of the tenth week of classes.

## Programming Projects

There will be two programming projects to be written in Java. The projects will be assigned on the dates shown in the Course Schedule. The projects will be due at 11:59pm on the dates shown in the Course Schedule. The projects will be submitted via email. The date/time at which your email message arrives in my inbox will determine whether the project meets the deadline. Details of each project, including grading criteria, will be provided when the projects are assigned.

I will answer general questions about the project via email, such as requests to clarify or interpret the project requirements.

Late projects: I will not accept a late project unless you arrange with me for an extension. See below for my policy on extensions. Late projects will receive a grade of zero.

Plagiarism: Each project must be entirely your own work. I will not tolerate plagiarism. See below for my policy on plagiarism.

Resubmission of projects: If you so choose, you may submit a revised version of your project after you have received the grade for the original version. However, if the original project was not successfully submitted by the (possibly extended) deadline or was not entirely your own work (i.e., plagiarized), you are not allowed to submit a revised version. There will be a grading penalty for resubmitting a project. Details of the resubmission requirements will be provided when the projects are assigned.

## Extensions

The rules for extensions are:

1. You may request an extension for Programming Project 1, Programming Project 2, Research Paper Part One, and Research Paper Part Two.

2. You may request only one extension for each assignment.

3. You may not request an extension for a homework or for a resubmission of a programming project.

4. The first date on which you may request an extension is three days before the deadline date. You may not request an extension before that.

5. The last date on which you may request an extension is the deadline date. You may not request an extension after that.

6. The length of the extension depends solely on when you request the extension, as follows:

 If you request an extension: You will receive an extension of: 3 days before the deadline date 3 days 2 days before the deadline date 2 days 1 day before the deadline date 1 day On the deadline date 1 day

7. You do not have to give a reason for requesting an extension.

8. To request an extension, send me an email message at ark­@­cs.rit.edu. The date on which your email message arrives in my inbox determines the length of the extension as stated in the above table. I will send you an acknowledgment in a reply email message.

 When asking for an extension, I would appreciate some basic courtesy. Too many students send me a rude message like "I need an extension." The polite way to ask for an extension is, "May I please have an extension for Quiz 1?"

The intent of this policy is not to give everyone an automatic 3-day extension for every assignment. The intent of this policy is to accommodate students who plan and work ahead on the assignments but experience an unforeseen last-minute difficulty, and to penalize students who do not plan and work ahead. If you put off working on an assignment and get sick or suffer a computer breakdown at the last minute, I am not going to give you more time than stated above. You should have been working ahead so you would have been finished before the last minute.

I am willing to waive the assignment deadlines, including extended deadlines as described above, in extraordinary circumstances. I am normally willing to permit this for reasons of illness or unforeseen personal emergency that prevent you from working on the assignments for an extended period of time. However, if you feel you have a valid reason for waiving a deadline, please discuss it with me.

The following policies apply to deadline waivers:

1. Appointments, job interviews, career fairs, vacations, trips home, and other activities you schedule are not valid reasons for a deadline waiver. You have an obligation to this course, and you must schedule other activities so as not to interfere with the course work.

2. You must request a deadline waiver before the deadline. I will not grant a deadline waiver retroactively.

3. You must be prepared to document the reason for requesting a deadline waiver. For example, in the case of extended illness, this could be a note from the doctor, counsellor, or other professional you have been seeing.

4. You must meet with me in person to decide on new deadlines for the affected assignments. If a new deadline falls after the last day of classes, I will assign you a grade of Incomplete (I) for the course. The Incomplete grade will be changed after you have submitted the assignments and I have evaluated them.

## Course Withdrawal

If you need to withdraw from the course, you must do so by the Institute withdrawal deadline as listed in the Institute calendar and the Course Schedule. You can do this via SIS, and you do not need my approval.

After the Institute withdrawal deadline, to withdraw from the course you must obtain approvals, from me among others. However, I will not approve a course withdrawal after the Institute withdrawal deadline for any reason. If you're going to withdraw, make up your mind to do it before the deadline.

## Email Rules

My email address is ark­@­cs.rit.edu. To deter spambots, the email address is obfuscated. If you copy and paste my email address from this web site, it will not work. If you type in my email address by hand, it will work.

I apply spam filtering on incoming email. To get your email past my spam filters and into my inbox:

• Your email must be in plain text format (not HTML format).

• Your email must not include any attached files other than files for assignment submissions. (Note that items such as vCards and graphic backgrounds are sent as file attachments.)

• Your email must not mention any spam-related content (pharmaceuticals, mortgages, pornography, anatomy enhancement, etc.) or spam-related web addresses.

I reply in a timely manner to all emails that get past my spam filters and into my inbox. Emails blocked by my spam filters go into a separate spam folder. I do not reply in a timely manner to emails in my spam folder.

It is your responsibility to format your emails so that they get past my spam filters. This includes assignment submissions and extension requests as well as general questions. If I have not responded to your email within one business day (i.e. not counting weekends), contact me again.

For further information, see "Contacting Me."

## Plagiarism

You may use any resources you wish to do the assignments, including resources discussed in class and resources you find on your own. You may discuss the assignments at a general level with others in the class. However, each assignment you turn in must be entirely your own work. You are not allowed to collaborate with anyone else on any assignment. You are not allowed to use any current student's work, past student's work, or any other person's work in any way when working on your assignments.

I will not tolerate plagiarism. If in my judgment an assignment is not entirely your own work, you will receive, as a minimum, a grade of zero for the assignment. Plagiarism incidents will result in disciplinary action in accordance with Computer Science Department policy and RIT policy. I expect you to read and abide by the following policies:

The following are some examples of plagiarism. These are not the only examples of plagiarism.

1. Copying a piece of code you found on the Internet into your assignment.

2. Copying a piece of code you found on the Internet into your assignment, and including a citation to the original source.

3. Copying a piece of code you found on the Internet into your assignment, with modifications.

4. Copying a piece of code you found on the Internet into your assignment, with modifications, and including a citation to the original source.

5. Copying a piece of code written by someone else into your assignment.

6. Copying a piece of code written by someone else into your assignment, and including a citation to the original source.

7. Copying a piece of code written by someone else into your assignment, with modifications.

8. Copying a piece of code written by someone else into your assignment, with modifications, and including a citation to the original source.

9. A sentence, paragraph, or section of text that is identical to or almost the same as text written somewhere else.

10. A sentence, paragraph, or section of text that is identical to or almost the same as text written somewhere else, with quotation marks.

11. A sentence, paragraph, or section of text that is identical to or almost the same as text written somewhere else, with or without quotation marks, and with a citation to the original source. (Yes, I do consider this plagiarism. It also indicates that you do not have a deep understanding of the material, since you are unable to express it in your own words.)

12. A figure or diagram written somewhere else without a citation to the original source. (It's okay to quote figures and diagrams, if cited. It's not okay to quote text.)

There are only two exceptions to the prohibition on plagiarism:

1. You may reuse without modification a source file from the Parallel Java 2 Library or from the instructor's example programs posted on the course web site.

2. You may take a source file from the Parallel Java 2 Library or from the instructor's example programs posted on the course web site and add your own modifications, provided you state that you have done so and give credit to the original author.

 Foundations of Cryptography • CSCI 662-01 • Spring Semester 2018
Course Page
 Alan Kaminsky • Department of Computer Science • Rochester Institute of Technology • 4572 + 2433 = 7005