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 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 instructor and TA. 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.


    Entrance Exam 3%
    Background Survey, Course Survey, Academic Integrity 3%
    Assignments (Written + Programming) 33%
    Quizzes 6%
    Midterm Exam 20%
    Final Exam 35%
    Bonus up to 10%

    Late Policy

    You have 4 grace days to use across the quarter, which apply to both written and programming assignments (per GradeScope submission entry). 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. 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. Courses such as CS141 is helpful. If you don’t have some basic background in algorithms, you should take these courses first. If you don’t have such basic knowledge and you still want to take the course, you have to be aware that you need to A LOT OF time on the course.

    • 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. The programming assignments may need a lot of time to debug.

    • Please don’t underestimate the time you will need to spend on this course. You should expect to spend about 10 hours per week on this course (including lectures, homework assignments, programming assignments, preview/review, etc.) From previous survey of the course, the median of number of hours spend on this course is at least 10h per week.