Link: http://www-student.cse.buffalo.edu/~atri/cse331/fall17/schedule.html

This course borrows, with permission, much of its material from the Fall offering of CSE331 taught by Dr. Atri Rudra. Please explore his course website for a wealth of resources that will help you study throughout the semester including recorded lectures, support pages, lecture notes, and more.

Your final grade will be determined by your homework and exam grades with the following weighting:

Homework | 60% |

Exams | 40% |

To earn an A in this course, your final course average **must be above 90%**. All other
letter grades, including A-, will be determined by a curve. Since this class is smaller than most,
this curve will take into account the performance of students in previous semesters on similar assignments.

There are 4 homework assignments in this course each with equal weighting (ie. 15% of your final grade is determined by each homework). These assignments will consist of a combination of designing algorithms, implementing your algorithms as programs (coding), proving the correctness of your algorithms, and analyzing the asymptotic runtime of your algorithms.

There will be a midterm and final exam in this course with the following weightings on your course average:

Midterm Exam | 15% |

Final Exam | 25% |

However, if it is to your benefit these weightings will be adjusted to the following on an individual basis:

Midterm Exam | 5% |

Final Exam | 35% |

This means that if you don't do well on the midterm you can still earn a high grade in the course if you show that you have learned the material before the final exam.

Instructor: Dr. Jesse Hartloff

Office: Davis 344

Office Hours: Wednesday 1:00 PM - 3:00 PM

Email: hartloff@buffalo.edu

There is no *required* textbook for this course. However, the material will closely follow this course textbook and it
is strongly encouraged that you get a copy of the book if you want to do well in this course.

Course textbook:

CSE Department Academic Integrity Policy:

https://engineering.buffalo.edu/computer-science-engineering/undergraduate/resources-for-current-students/academic-integrity-students.html

UB Academic Integrity Policy:

https://catalog.buffalo.edu/policies/integrity.html

All submitted work must be of your own creation and you must not share your submission with anyone else. If
any submission is very similar to code that has been submitted by another student
or can be found online, it is in violation of this courses academic integrity policy and all students will
be penalized whether they were copying or sharing their code with other students so they can copy. If two
submissions are similar beyond what is likely if the students worked independently, then **both students are
in
violation** of the academic integrity policy.

All violations will result in:

It is your responsibility to understand what constitutes an academic integrity violation. If you have
any question whether something you are doing is a violation or not, ask for
clarification **before receiving an F in the course**. I will not entertain excuses after you
have been caught.

Examples of acceptable behavior:

- Discussing an assignment with your classmates and brainstorming abstract solutions, then writing algorithms, code, and proofs independently
- Searching the Internet for supplementary material on the course topics
- Asking the teaching staff for clarification on a homework question

Examples of **un**acceptable behavior:

- Submitting an algorithm, code, or proof that you did not write.
- Allowing another student to see your algorithm, code, or proof for an assignment.
- Collaborating with another student to write an algorithm, code, or proof together for an assignment.
- Allowing another student to access your work that will be submitted for course credit. (Examples: Do not host your code in a public repository or allow your roommate to access you laptop)
- Copying a large amount material found on the Internet into your submission.
- Attempting to access the grading code on AutoLab.

If you plan on cheating, plan on taking this course again.