Note - this old version of the CS website will only be kept until the end of May.
Things are being moved over to the new format at and

CS Course Policies

The following policies have been approved unanimously by the CS faculty and also endorsed by the department chairperson. These policies are in effect for all CS courses (for all students in the course, regardless of major). If you have any questions, be in touch with your instructor or the director of CS. See also ISU academic integrity resources.

Honor Code for Graduate Students

All CS graduate students must sign an honor code agreeing to honor the CS policies in all courses. Any violation of the plagiarism and cheating policies by graduate students results in an F in the course. Failure of a graduate student to sign the honor code by the end of the second week of classes also results in an F in the course.

Graduate students who receive an F and fall below 3.0 GPA are automatically placed on academic probation, and the director of CS's policy is to dismiss any CS graduate students being placed on probation due to cheating or plagiarism.

Cheating, Plagiarism, and Collaboration

Definition of cheating

All of the following are considered cheating.

  • Electronic copying of any kind (from another student, from the internet, from a friend/relative, etc.).
  • If you cannot reproduce or explain the solution that was turned in.
  • You talked to someone about something and do not cite them in what you turn in.
  • Searching online to try to find the exact code to solve the problem assigned.
  • Allowing someone else to copy off of you on an assignment or exam.
  • Exams
    • Any of the above, and also: used something that was not allowed - cell phone, cheat sheet, notes, etc. Assume that nothing is allowed, unless otherwise specified by your instructor.
    • Also: communicated with anyone other than the instructor (by any means).

Things that are okay

Things that are okay and not cheating include the following.

  • Talking to classmates about how to solve a problem.
  • Looking online for extra help on lecture material.

Disciplinary action

  • For graduate students: F in the course, see Honor Code for Graduate Students above.
  • For undergraduate students: first offense - 0 on the assignment or exam, and file a report to academic misconduct office. Second offense - F in the course, and report to academic misconduct office.
  • Cheating czar or chairperson should approve of disciplinary actions. Report is filed for Academic Integrity violation.
  • Second offense - is counted in terms of all CS courses taken. E.g., if a student has one offense in CS 151 and another offense in CS 201, the offense in CS 201 is treated as a second offense.

Attendance Policy

In all CS classes, if a student misses or is late to at least 20% of the regular meeting times, then the student fails the class. Each individual instructor and course may require higher attendance.

Exam Makeup

Final exams are cumulative and normally at least as difficult as other exams. For all other exams (not during exam week), there shall be no makeups. If you miss an exam, the final exam grade replaces the exam you missed in the grade calculation.

Programming Assessment

A C programming assessment is given at the end of each of the following courses: CS 202, 499, 500, 685, 695, 699. Examples of the assessments are at programmingAssessmentSample.pdf, programmingAssessmentSample2.pdf. The assessment consists of 5 programming problems in C from basic programming and data structures. The assessment is given on paper with no calculator, computer, etc., and students are given at least 45 minutes to complete the assessment. A student passes the assessment if both of the following hold: answers to all 5 questions are at least partially correct, and at least 3 answers are completely correct.

The following are in effect immediately.

  • CS 202: grade of C requires passing the programming assessment.
  • CS 500: grade of greater than C requires passing the programming assessment.
  • CS 499, 685, 695, 699: passing the course requires passing the programming assessment.
  • The programming assessment will be given four times per semester, around the 5th, 10th, 12th, and 14th weeks. The assessment will not be given any extra times for those who weren't able to pass, so you should definitely not miss any of these chances.
  • The programming assessment needs to be passed only once as an undergraduate and once as a graduate student. If you pass in CS 202 you don't need to take it in CS 499. If you pass it in CS 500 you don't need to pass it in CS 685/695/699.

Note that in particular this means a CS student cannot graduate without passing the programming assessment.

There have been many questions and some anxiety about the programming assessment. See some more information on the faq page. See also /u1/junk/ProgrammingAssessment on the server for more practice problems, and more previous versions of the assessment. Also, see a youtube video by Jeff Kinne with advice and answers for one of the versions of the assessment.

Other Policies

  • Final exam schedule - Students are not allowed to skip exams or arrange for alternate days/times to make their travel arrangements more convenient. Exams must be taken on the assigned day and at the assigned time.
  • Mathematics majors - Mathematics or mathematics education majors will normally be approved to use MATH 320 Discrete Mathematics (with a C or better) in place of CS 303 Discrete Structures as a prerequisite for courses that require CS 303 as a prerequisite. The instructor of the CS course must approve each individual case as a pre-requisite override.
  • Form used for CS faculty to use when visiting classes - classroom visit evaluation template, and form to use by the person who had their class visited classroom visit evaluation follow up template
  • Policies for student workers - here
  • PhD Prelim Exam for Biology and EES PhD students taking CS as part of their preliminary exam.
  • Standard syllabus template for CS courses - here

Faculty responsibilities

Note - the following is a partial list of responsibilities, things which have come up or been voted on by the CS faculty

  • Academic Integrity
    • Mandatory reporting to cheating czar and department chairperson.
    • Verbal interview with student if at all possible.
    • Trying to give assignments that don't show up on the first page of google.
    • Investigate suspicious code/work always, and to look in detail for cheating at least once per course.
    • For courses with over 30 students or with at least half capacity of room, use additional instructor to proctor exam, seat students at random during exams, require students to place all belongings in front/back of the room during exam.
  • University and College Service
    • Complete the Faculty Senate election ballot each spring when it is sent out. Complete the last part after the voting where one indicates the committees willing to serve on. Indicate at least a few willing to serve on.
    • Tenured/tenure track faculty - willing to be placed on college committees, read messages from CAS dean's office asking for volunteers for committee assignments.
  • Teaching
    • Include some all or nothing programming assignment in every class. To be graded as correct must have the correct output for all tested input and also meet minimum style standards (indented code, etc.).
    • Each regular faculty member visits at least one other faculty member's class each semester, and fills out the teaching visit evaluation (template linked above) and has a brief discussion sometime within a few days of the visit.
    • In every course, include at least one graded assignment or quiz per week that is worth points on the final grade and is easy enough to grade that it is graded and returned within one week.
  • University requirements