Please familiarize yourself with the information on this page.

Academic Integrity

Cheating or plagiarism will NOT be tolerated!!!

All students are expected to be familiar with, and to comply with, the UCR academic integrity.

[Sanctioning Guidelines] [Academic Integrity Student Guidlines]

Any work submitted as a homework assignment or examination must be entirely your own or your team and may not be derived from the work of others, whether a published or unpublished source, the worldwide web, another student, other textbooks, materials from another course (including prior versions of this course), or any other person or program. You may not copy, examine, or alter anyone else’s homework assignment or computer program, or use a computer program to transcribe or otherwise modify or copy anyone else’s files. It is not acceptable to look at exams or homework assignment solutions from prior quarters.

It is not acceptable to share your solutions or codes with your friends, or anyone else (other than the course staffs) without the permission of the instructors. You are not helping your friends by doing so. It is not acceptable to read other students’ solutions or code. You cannot share the course material (e.g., exams, homework assignments and solutions) with anyone else without the permission of instructors after you have completed the course.

Penalties may be assessed after you have completed the course, and some requirements of the collaboration policy (such as restrictions on you sharing your solutions and standard solutions) extend beyond your completion of the course.

The minimum penalty for cheating (including plagiarism) will be a zero grade for the whole assignment; a typical penalty will be -100% on the assignment, or even more. All violations of this collaboration policy will be reported.

For Homework Assignments:

You can get help from the instructors and TAs. You can also get help from textbooks (or relevant books), the Internet, or discussions with your classmates, but you must cite them fully and completely (i.e., provide citations to the book or website link, acknowledge the other students that had discussions with you). Again, you are NOT allowed to:

  • copy anything from the book or the Internet,
  • read or look at anyone else’s solutions (write-up or code),
  • share your solutions (write-up or code) with any other students, during or after the completion of the course.

It’s OK to get inspirations from other sources, and citing the sources does not affect your grade. However, using any source without citing them will be treated as cheating and will result in unfavorable outcomes.

When you write down your solution, it MUST be close-book. This is to make sure you truly understand and can recreate the solutions.


Homework 1 (algorithm analysis) 25%
Homework 2 (graph algorithms) 18%
Homework 3 (geometric algorithms) 27%
Homework 4 (dynamic programming) 10%
Presentation 20%
Bonus unlimited

Late Policy

You have 4 grace days to use across the quarter, which apply to all assignments. The number of grace days you use for each assignment must be an integer. For example, if you submit 12 hours late, that’s still 1 grace day, instead of 0.5. However, for each homework assignment, you can use no more than two grace days (no more than 48 hours late). You won’t lose any points by using grace days, but if you use up your grace days, you have no further late days to use (i.e., you won’t get any points if you submit late and have no grace days left).

Other suggestions

  • You need basic knowledge about algorithms, data structures, and discrete math. You must take CS 218 as a prerequisite. If you don’t have such basic knowledge and you still want to take the course, you need my permission and have to be aware that you need to spend more time on the course.

  • Actively participate in the discussions on Campuswire. Paying attention to other students’ questions can also be helpful for yourself.

  • Start working on homework assignments as early as possible. You have about 2 weeks for each of the homework assignment. However, don’t start working on it on the last day. The homework problems can be hard and take a lot of time to finish. Also, the course server will be busy when the deadline is close.

  • Please don’t underestimate the time you will need to spend on this course. You should expect to spend the following approximate amount of time:

    • 3 hours/week in lecture
    • 10 to 20 hours/week doing individual study (readings, homework, programming, preparation for lectures, etc).

(Some policies are borrowed from CMU 15-210.)