How to Succeed in CS 361

Having taught CS361 many times, I have some insights into who succeeds and who fails in this class. By "success" I mean more than getting a passing grade. I mean really learning the material that you'll need if you plan to continue in security.

Keep Up.

Many of you are very smart and coasted through high school and your first few semesters here without having to work very hard. The course load in CS361 is not that great, but you need to view the lectures and do the homeworks and labs as they come.

Keep in Touch.

If you have some emergency or situation that negatively impacts your performance in the class, let me know right away. I've had students come to me during the final week of classes and say something like: "I haven't been to class for the past two months because my grandmother died." I'm going to say: "You didn't have access to a phone or email or a friend who could let me know?" You have to take responsibility for your own success or failure.

Come to Class.

I have noticed that there is a direct correlation between class attendance and success in the class. Attendance is checked, but and the slides and textbook material are all available. Some students find it tempting to try to get the material outside class. For some folks, that works. For most, it doesn't. It's almost impossible to get an A without the attendance portion of the grade (since you'll also be missing the quizzes).

When You Come to Class, Pay Attention.

In class we'll be going over most of what you'll need to do well on tests and labs. If you spend the entire class playing games, surfing the web, or talking to your friend, you might as well stay home. Also, you're very likely distracting everyone around you, and me. So keep your phone and laptop closed during class.

Read Carefully.

Many points are lost on tests because the student answered the question they was expecting, and not the one actually asked. Read the questions carefully. Then, if you don't understand the question, ask for an explanation!

Read assignments carefully. The TAs and I get really tired of answering questions on Piazza that are answered in the assignment write-up. After you've read the assignment carefully, if you still don't understand, then ask.

Read due dates carefully. If you wait until the last day to start an assignment, that's not our fault. Schedule your time wisely.

Every semester, I get messages from students saying: "I turned it in 5 minutes after midnight. Can it be counted on time?" If you have two weeks for an assignment and still miss the deadline, it's almost certainly because you didn't start early enough. If it's late, it's late.

If you Need a Certain Grade, Earn It.

At the end of each semester, I always have students come to me with one of the following pleas: The next question is always: Can you give me some extra work to raise my grade? I would love to help, but it's illegal and unethical for me to offer an opportunity to one student that I don't offer to everyone in the class. The TAs and I have plenty to do without making up an extra credit assignment. So please don't ask.

If you need to receive a certain grade in the class to preserve your standing in the department, in the university, or in your family earn it during the semester. At the end of the semester, it's too late.

There's always a highest B.

I assign you a letter grade at the end of the semester based on a numerical average I computed from your work throughout the semester. To do that, I use the percentages listed in the course syllabus. The numerical average that divides an A from a b, say, is also listed in the syllabus. I do reserve the right to be more generous in setting that boundary, based on the number of students in each range. For example, I may decide that there should be more A's and lower the threshold for obtaining an A from that in the syllabus. I will never raise the threshold. This means that you know at the beginning of the semester what average you need to guarantee yourself an A.

But there will always be some student with the lowest average assigned an A and some other student with the highest average assigned an A-. If you are the second of those, this does not qualify as unfair to you. So please don't ask me to raise your grade because you were only, say, 2 points away from an A. If you need an A, work hard during the semester to ensure that you're above the published threshold. If you are, you're guaranteed an A in the class. If not, your strong desire to get an A or your urgent need for an A won't be a factor.

Don't cheat.

Whatever else you do, make sure that you understand acceptable standards of behavior on labs, homeworks, tests, etc. and follow them. If you're caught cheating, you will certainly fail the class and be reported to the Dean's office. It is better, by far, for you to get a low grade on a test or assignment than to be caught cheating.

Don't imagine that you won't be caught. Every semester, students are shocked at how good we are at detecting cheating.

Don't publish your work in any publicly available place, including GitHub. If you do and someone copies it, you are both responsible. If you want to share your work with potential employers use BitBucket or other services that support private repositories. Those allow you to give access selectively.