You do not need to use your personal computer to do CS coursework. The department provides machines running Unix (Linux) and Windows as well as appropriate software for all CS courses. Machines are located in the department computer labs in the Computer Science Building. Additional information on these facilities is available.

However, students routinely find it convenient to use their own computers to write code for course assignments. What they must keep in mind is that unless an instructor explicitly indicates otherwise, it is always the students’ responsibility to ensure their code runs correctly on department machines: instructors and graduate teaching assistants almost always grade assignments on department machines.

Lower division courses using Java typically use tools to write code. Code written using these tools usually transfers easily from a student’s machine to a department machine. The current tool is Eclipse and runs under most common operating systems: Linux, Windows, and MacOS.

In upper division courses and courses not using Java, the particulars vary on how to use one’s personal computer. Instructors will usually discuss the hardware and software requirements for a course at the beginning of the semester. Again, the student is responsible for submitting completed assignments that work properly on the machines indicated by the instructor.

NOTE: make the above one line all assignments need to be able to run on department Linux machines unless instructor specifies otherwise. Please make sure any work you do on your personal computer is double checked on a Linux machine before you submit it.


(Effective for New Admits for Summer 2003 and After)

  1. New Freshmen need a 107 Selection Index to be admitted directly into CS. Others will be admitted to Undeclared w/ Info Tech Interest and will be advised in the Center for Advising and Student Achievement (CASA).
  2. External Transfer students will need to have completed a calculus course and a computer programming course and have a CSU GPA of 2.5 or greater. Students not meeting these criteria will be admitted to Undeclared Math/Engineering Intent.
  3. Internal Transfer students will need to have a C or better in CS163 or CS164, and a C or better in MATH160 or CS165, and have a 2.5 overall CSU GPA to change into the Computer Science major.
  4. CS163/4 and CS165 will be open to all students with proper prerequisites. CS270 and above will be closed to all but CS Majors and CS Minors and ECE Majors.

No students will be allowed to declare a CS Minor as an Undeclared Math/Engineering Intent (or any undeclared major). Students wishing to declare a CS minor will be held to the same standards as those applying to the major.


The Computer Science Department hopes all students are able to succeed in their computer science courses. The Department also wants to ensure that its graduates are capable of meeting any challenges that come their way.

The Faculty of the Computer Science Department meet frequently to discuss the relationships among curriculum topics and the mastery of subject matter. Collectively, the Computer Science Faculty have developed the following policies and procedures to ensure an optimal education for each of the Department’s students.

Grade Policy

Computer Science majors (and minors) must pass certain important courses with a C or better (2.0 GPA), or be required to retake the course. Adequate performance in these courses is essential to success as a computer scientist. The following courses must be passed with a C or better (note that C- grades do not meet this criteria):

  • CS 150
  • All CS courses required for the degree
  • All Math, Statistics and Technical Electives courses required for the degree.

Receiving any grade less than a C in any of these courses means a student must repeat the course. For the purposes of using a course as a prerequisite, obtaining less than a C in one of these courses is the same as not having taken it at all.

Department Prerequisite Policy

It is the policy of the Computer Science Department to adhere strictly to the prerequisite structure established by the Faculty. Students must possess the background necessary to succeed in subsequent CS courses. Students will therefore be required to follow the prerequisites approved and published by the University.


Students may request a prerequisite waiver only under specific conditions. All students requesting a prerequisite waiver must:

Obtain the explicit permission of the instructor of the course for which they lack the prerequisite.

AND, have one of the following:

A 4 year Bachelors Degree from an accredited College or University


A 3.2 GPA or better in all required computer science courses taken.

Once a waiver is approved, the student must sign a prerequisite waiver form with the Key Advisor before the prerequisite override may be granted.


Students believing they should be granted a prerequisite waiver even though they do not meet the conditions set out above can appeal by petitioning the CS Department Chair, in writing, giving the reason why their request should be granted. Exceptions will be made only in very rare cases.

Note: The Key Advisor has only limited discretion and is not empowered to grant exceptions to rules set out by collective faculty action. That being said, it is strongly recommended that students speak with their Key Advisor before submitting any appeals.


In addition to responsibilities enumerated in the Colorado State University Student Conduct Code, the Computer Science Department advocates rights and responsibilities of conduct for all its Members: faculty, staff and students, in accordance with the intent of the Code of Ethics of the Association of Computing Machinery. In particular, all department Members are obligated to

  1. Respect the rights of others and protect fundamental human rights including respect of the diversity of all cultures, and foster a safe and comfortable social environment.
  2. Avoid harm to others:
    1. All Members are expected to treat one another with professional courtesy at all times. Harassment or humiliation of one Member by another will not be tolerated.
    2. Members will dress appropriately for an educational and professional setting, refraining from modes of dress that may shock or disturb others.
    3. Members will refrain from using offensive or abusive language.
    4. Members will refrain from offensive public displays, including on computer monitors, wall posters, or engaging in overt public disturbances.
  3. Be honest and trustworthy:
    1. Members will relate honestly with one another, will not submit work that is not their own (unless properly cited), will keep their promises, and will act to merit the trust of others.
    2. Members should adhere to the ACNS policy on acceptable use of computing resources.
  4. Be fair and take action not to discriminate:
    1. Members will treat others fairly, evenhandedly and without capriciousness.
    2. Members will not single out any other Members or groups of Members for discrimination or criticism or unwelcome treatment especially based on race, physical characteristics, age, gender, religious convictions, or membership in any cultural group.
  5. Honor property rights:
    1. Members will respect the personal property of others.
  6. Give proper credit for intellectual property:
    1. Members will respect the work product of others, and will never claim ownership of intellectual work of others as their own.
  7. Respect the privacy of others:
    1. Members will respect the rights of others to be left alone, and will refrain from unwelcome actions towards them, and unwanted intrusions into their affairs.

For questions, explanations, or to report violations, contact your instructor or appropriate department administrator. Mediation of violations will be conducted within the Department and may be referred to the CSU Student Conduct and Conflict Resolution Office.


The Computer Science (CS) Department hopes every student can succeed in our programs. Knowing about local policies and procedures will help students learn about issues related to academic success and to proceed efficiently through our programs. Students new to Colorado State University (CSU) may find some policies of the Department and CSU are different from those whence they have come. Students are strongly encouraged to review this document to see what it contains. We encourage you to study the section on Academic Integrity, which has critical policies that specifically apply to our courses. Knowing about local practices and resources available will help you succeed.

This document is divided into three main sections:

Advising and Registration

This includes information on:

  • Advising;
  • Registration;
  • Course Overrides;
  • Minimum Grades and Prerequisites;
  • Course Overload;
  • Challenge Examinations;
  • Degree Audits.

Academic Integrity Policies

This section includes detailed information on acceptable academic practices, and unacceptable practices (dishonesty) with examples.

Department Policies and Procedures

Policies and Procedures include:

  • Incomplete grade policy;
  • Attendance policy and University calendar;
  • Unauthorized computer usage;
  • Discrimination;
  • Student academic appeals;
  • Sexual harassment.



Students are encouraged to seek advice whenever they have questions about their degree program. Department faculty and staff are here to help students succeed in their academic endeavors. CS faculty have an open-door policy when it comes to helping students. Students are strongly encouraged to ask for help in any situation.

The Department has developed a two-part advising system:

1) a Key Advisor, and assistant advisor, who helps students with policies, procedures, and with making proper degree progress; and

2) a faculty advisor, who helps students select their senior level computer science courses, and advises them on careers paths in computer science.

The Key Advisor:

The Key Academic Advisor is an advising professional who is responsible for helping students complete their degree requirements. The Key Advisor, and the Assistant Director keeps students informed about which set of requirements apply to them, their remaining degree requirements, and how to navigate the policies, procedures, and resources of the Department, College and University. Students should feel free to contact the Key Advisor by phone, email, or in his office at any time.

Faculty Advising:

In addition to the Key Advisor, the Computer Science Department brings students and regular, tenure-track faculty together one-on-one to discuss senior CS elective (Group I) choices and career plans and other issues related to their computer science education. The faculty advisor is assigned during a student’s third year in the program. Students are encouraged to maintain contact with their assigned faculty over their last years in school with any academically-related problems and concerns they may have. Faculty advisors can offer unique insight into the nature of the discipline, alert students to opportunities and careers in computer science after graduation, and discuss with them the content of advanced computer science courses.

In summary: the advisors are experts on Department and CSU rules, specific policies, and degree-related information. Faculty advisors work with the students to find and work toward their individual special interests and goals.

Faculty and Staff Help:

In addition to working with academic advisors, the CS Department encourages students to contact any individual faculty to discuss any academic matter at any time. Faculty are here as a resource for students, and can be relied upon to provide help and encouragement. If you want to speak to any professor about any school-related matter, you should not hesitate to stop by their offices, send email to them, or call them on the phone.


Registration for classes is done over the Internet, using CSU’s RamWeb facility ( ). Registration for the next regular semester (Fall or Spring) begins approximately two months before the end of the semester. Graduate, Honors Students, and upper-class students (Juniors and Seniors) register first, followed by Sophomores, and then Freshmen. Freshmen (students with fewer than 30 hours) must see the Key Advisor before registering, to get the advising code they will need to register. Freshmen are generally not allowed to register until a month before the end of the semester.

Class Overrides:

Students may find themselves unable to register for a class for a number of reasons. Courses may be full, or the registration system may not recognize their prerequisites. In such cases students may request an enrollment override from the CS Dept. for CS courses. Access to courses in other departments can only be obtained by the department offering the course.

The CS Dept. allows adds during the first week of classes, after that, unless a student has been attending class, adding a course is not allowed. This is in order that students not add a class in which they are already too far behind to catch up.

Minimum Grades & Prerequisites:

There is a C or better requirement (i.e., greater than a C-) for using a CS (and certain mathematics) classes as prerequisites for other CS classes. This requirement is strictly enforced so that students understand material well enough to proceed in the program. For the same reason, the prerequisite order in which courses may be taken is taken very seriously by the computer science faculty, who have spent considerable time and energy deciding the optimal order of topics in the curriculum. Exceptions are granted only very rarely, and only for academically defensible reasons.

Course Overload:

A Course Overload is anything over 18 credit hours in a semester. Students are discouraged from taking an overload. Only students with sophomore or above status, who have an overall 3.5 GPA or better, and a 3.5 GPA or better in computer science courses, will be permitted to take an overload. This rule applies to graduating seniors.

Challenge Examinations:

Students who believe that they already know the content of a CS course may request “testing out” of the course through a Challenge Examination. Whether a Challenge Examination is offered is up to the department and instructor offering the course for which a challenge is requested.

Since Challenge Exams are to test students on material they have already learned outside normal University courses, challenge exams are not offered to students who have previously attempted a course (including W drops). Challenge examinations may be attempted only once for a given course.

To request a Challenge Examination, students should start by contacting the current instructor of the course for which a challenge is desired. Challenge examinations may consist of a comprehensive examination, a substantial programming assignment, or both. Students must earn a grade of C or better on the examination in order to obtain credit.

Students attempting a challenge examination will be charged $20 per credit whether the challenge is successful or not (this will be billed to a student’s University account). Successful challenges will earn a student credit for the course with an entry on the student’s transcript with a grade of “pass.”

Degree Audits:

All Students who have at least 60 hours are encouraged to contact the Key Advisor for a degree audit — a definitive list of a student’s remaining requirements for graduation. All students who are about to graduate should set up an appointment with the Key Advisor prior to registering for their final semester to go over their requirements.

Degree audits can be requested by email in many cases.


Students taking CS Department classes are required to follow our policies. Students should consult the instructor of the course for clarification before taking action. Ignorance of our rules and customs is not an acceptable excuse for violating a policy of the Department or University.

All CSU academic integrity policies apply within the Department. The CS Department has additional policies to deal explicitly with course work involving computers. It is important to understand these policies, since actions considered acceptable in other types of classes may not be acceptable in the CS Dept. Not knowing CS Dept. policies could adversely affect your grade, or might be considered cheating, even if you had no intention of dishonesty.

In questionable situations, the decision as to whether a student cheated is made based on the intent of the assignment, the ground rules specified by the instructor, and the behavior of the student. Two guidelines help an instructor decide if cheating has occurred:

* Program plagiarism will be suspected if an assignment that calls for independent (single-student) development and implementation of a program results in two or more solutions so similar that one can be converted to another by mechanical transformation.

* Academic dishonesty will be suspected if a student who was to complete an assignment independently cannot explain both the intricacies of his or her solution and the techniques used to generate that solution. In the case of paired programming, each student in the pair must be able to explain independently the intricacies of the pair’s overall solution.

Here are some examples of cases which are clearly unacceptable and others that are clearly considered acceptable in the CS Department.

Examples of clearly unacceptable behaviors:

  • Turning in someone else’s work as one’s own (with or without the other person’s knowledge).
  • Posting class assignments on the Internet and asking for answers.
  • Turning in a completely duplicated assignment is a flagrant offense.
  • Intentionally or unintentionally making it possible for someone else to turn in your work as his or her own. Students who share their work with others are as responsible for academic dishonesty as the student receiving the material. Students are not to show work to other students prior to the assignment due date, in the class or not. Students are responsible for the security of their work and should ensure that printed copies are not left in accessible places, and that file permissions on accounts on shared machines are set to be unreadable by others.
  • Several people writing one program and turning in multiple copies, all represented (implicitly or explicitly) as individual work.
  • Using any part of someone else’s work without the proper acknowledgment.
  • Stealing an examination or solution from the instructor. This is an extremely flagrant offense.
  • Any form of plagiarism is unacceptable. Examples of Acceptable Practices:
    • Turning in work done alone or with the help of the course’s staff.
    • Submission of one assignment for a group of students if group work is explicitly permitted (or required).
    • Getting or giving help on using the computer for the course.
    • Getting or giving help on how to solve minor syntax errors.
    • High level discussion of course material for better understanding.
    • Discussion of assignments to understand what is being asked for.
    • Reviewing examinations from previous semesters.IN SUMMARY: you may discuss assignments with other students but the work you turn in must be your own:
  • You have crossed the line if you start comparing someone else’s work to your own (or vice versa).
  • You have crossed the line if you cannot explain/understand the work you submitted.
  • The Computer Science Department faculty will not condone academic dishonesty. When academic dishonesty is suspected, instructors will take action to establish whether it has actually occurred. If it has, the instructor will apply appropriate disciplinary policy. The University specifies that academic dishonesty may be grounds for dismissal. Penalties less severe may be imposed instead. A list of possible disciplinary actions is given below.

Actions Within the Course:

    • Negative credit for assignment.
    • No credit for assignment and loss of letter grade for course.
    • Makeup assignment over same material; no credit.
    • Forced drop or failure in course.

Actions by the University:

    • Suspension from Departmental courses for a designated period.
    • Expulsion from Departmental courses.
    • Warning probation.
    • Suspension from the University for a designated period.
    • Expulsion from the University.

The following policies apply to all cases of academic dishonesty:

    1. For the first offense, the penalty will always be more severe than the penalty for failing to turn in the assignment (or take the exam) in question.
    2. For either repeated offenses or a flagrant offense by any student, the instructor shall refer the incident directly to the University for action and assign a penalty no less severe than failure in the course.

NOTE: Faculty are obligated by University policy to report to the Office of Conflict Resolution and Student Conduct Services all violations of academic integrity for which any penalty is imposed.


Incomplete Grade Policy

The University Manual specifies the guidelines for incompletes. The Computer Science Department recommends a grade of I (incomplete) be granted under conditions of grave emergency which could not have been reasonably foreseen by the student at the beginning of the semester and which conditions are essentially beyond the control of the student. An instructor may request documentation confirming the nature of the emergency.

In order to encourage progress through the degree program, it is recommended that a grade of I only be given if the student has completed at C level or higher the majority of work in the course, and it is anticipated that the remaining work will be finished within a specified time period.

As an alternative to the incomplete, there is a university procedure in case of emergency to permit a student to withdraw late (with a grade of W) from a course after the regular drop period.

Attendance Policy and University Calendar

The University calendar is set two years in advance by the faculty council in accordance with the authority invested in it by state law. The calendar is published in the CSU directory, CSU bulletin, and class schedule. It is a student’s responsibility to be aware of important dates such as beginning of classes, final examinations and deadlines for withdrawing from a course with no record or with a grade of “W’” recorded. Students do not have the legal competence to change the calendar and, hence, should not ask for special consideration to allow them to miss classes or not take examinations, including finals, at appointed times. The Department does not accept a student’s travel plans or arrangements as an excuse for missing examinations or classes. The Department expects students to attend all classes including the last class prior to a vacation and the first class after a vacation. It is a corporate faculty prerogative to set the length of a vacation and not that of an individual student.

Participation in official University activities, e.g., an out-of-town athletic event, or special religious observances may provide a legitimate reason for an excused absence. The student is responsible for discussing this with the instructor at the beginning of the semester.

The student may be required to provide verification for absences due to the death of a family member. A funeral announcement or a newspaper notice of the death is usually sufficient. (This requirement may appear harsh, but the reporting by students of deaths that have not occurred has led to it.)

Unauthorized Computer Usage

It is a violation of the law in the State of Colorado to make entry or use of a computer account for which authorization has not been granted. Academic Computing and Networking Services and the Computer Science Department treat all such incidents seriously. When warranted, violations will be reported to the district attorney for prosecution.


It is an instructor’s duty not to discriminate amongst students on the basis of irrelevant criteria. In particular, no special consideration is given based on class standing, e.g., being a graduating senior.

These principles apply explicitly to grading practices. Instructors shall not assign grades based upon capricious criteria, nor shall students expect special treatment based upon conditions unrelated to the course in which the grade is to be assigned.

Student Academic Appeals

The policy of the University is to assure the speedy and fair resolution of perceived grievances, to provide for review processes to guarantee fair and reasonable application of University policy, and to encourage mediation of possible conflicts at the earliest possible moment. A student who believes that he or she has been treated unfairly should first appeal to the instructor involved and try to resolve the problem on a mutually satisfactory basis. The student should then discuss the matter informally with the Key Advisor, if the problem has not been resolved with the instructor.

Academic Dishonesty:

Faculty members are expected to use reasonably practical means of preventing and detecting academic dishonesty (see Catalog for the Academic Integrity Policy). If a faculty member has evidence that a student has engaged in an act of academic dishonesty, the faculty member will notify the student of the concern and make an appointment to discuss the allegations with the student. The student will be given the opportunity to give his/her position on the matter. If the student admits to engaging in academic dishonesty or if the faculty member judges that the preponderance of evidence supports the allegation of academic dishonesty, the faculty member may then assign an academic penalty. Examples of penalties include assigning a reduced grade for the work, a failing grade in the course, or other lesser penalty as the faculty member deems appropriate.

If a student disputes the allegation or the penalty imposed by the faculty member, he/she should appeal to the Office of Conflict Resolution and Student Conduct Services. A hearing will be conducted to determine whether a preponderance of evidence exists in support of the allegations of academic dishonesty. If the University Hearing Officer finds insufficient evidence or clears the student of the charges, the faculty member will change the grade to that which the student would have earned if the penalty for dishonesty had not been assessed. If the University Hearing Officer finds the student responsible for the charges, the Hearing Officer may uphold the academic penalty imposed by the faculty member or recommend a greater or lesser academic penalty and may impose additional University disciplinary sanctions.

Appeals of Final Grades:

Faculty members are responsible for stating clearly the instructional objectives of the course at the beginning of each term and for evaluating student achievement in a manner consistent with these objectives. Students are responsible for meeting standards of academic performance established for each course in which they are enrolled. Faculty members and instructors are responsible for assigning final course grades. Graded examinations, papers, and other materials used as a basis for evaluating a student’s achievement will be available to the students for inspection and discussion.

Students may appeal faculty grading decisions. The burden of proof, however, rests with the student to demonstrate that the grading decision was made on the basis of any of the following conditions:

  • A grading decision was made on some basis other than performance and other than as a penalty for academic dishonesty.
  • A grading decision was based upon standards unreasonably different from those which were applied to other students.
  • A grading decision was based upon a substantial, unreasonable, or unannounced departure from previously articulated standards.

Before making an appeal, the student should discuss the situation with the faculty member involved in the grading decision.

To file an appeal, the student shall submit a written request to the department chair. The request must set forth the basis for the appeal identifying one of the three categories set forth above. The request must be submitted or postmarked, if mailed, no later than 30 calendar days after the first day of classes of the next regular semester following the date the grade was recorded. If the appeal is not made within this period the grade shall be considered final.

Within 30 days of receipt the request for an appeal, the student’s appeal shall be provided to the faculty member who assigned the grade and an appeals committee as set forth in the Dept. Code. This committee shall be composed of two faculty members not involved in assigning the disputed grade, and two students from within the department and one outside faculty member who will serve as a voting chair.

The appeals committee will review the written appeal and response of the faculty member. They may elect to interview both the student and the faculty member before rendering a decision. The decision of the appeals committee will be based upon whether one of the conditions for an appeal set forth above has been met. At the conclusion of the deliberations, the committee will render one of the following decisions:

1) The original grading decision is upheld, or

2) The department chair or his/her designee will reevaluate the student’s achievement of the instructional objectives of the course and assign a grade accordingly.

Written notice of the committee’s decision and the reasons for the decision normally will be sent to the student and the faculty member within 30 calendar days of appointment of the committee. The appeal committee’s decision is the final decision of the University. Written summaries of the hearing and decision, together with a rationale for that decision, shall be provided the student and the faculty member who assigned the grade and retained in the department office for a period of one year.

Sexual Harassment

Colorado State University affirms its commitment to maintaining a work and study environment for faculty, staff, and students that is free from sexual harassment. The display of sexually explicit digital computer images on or in campus facilities may constitute conduct of a sexual nature that creates an intimidating, hostile, or offensive environment, even if not directed at offending a particular individual, and is prohibited by the University Sexual Harassment Policy. Any violation of the University Sexual Harassment Policy may result in the imposition of appropriate sanctions.


Course Website Management Best Practices for CS
As approved by the Operations Committee
February 5, 2014

There is great flexibility built into how each of us approach the construction of our classes and this flexibility is important in general and should  extend to course websites. That said, course websites are a shared resource, and these best practices are proposed to foster better sharing and archiving. To be clear, we are discussing the sites reached through links such as

Class Account: all classes have associated accounts with public_html directories. Course materials for the website should be stored in those folders using class accounts. Symbolic links to other accounts create problems for future instructors who wish to see a clear picture of what has been available before. Our Systems Administrators are routinely asked by new instructors to reset passwords in the time running up to a new semester and this procedure should be followed. Instructors wishing to maintain their own personal archives should do so by copying their website material to a destination of their own choosing at the close of the semester in which they have taught the course.

Archiving: content for individual semesters should be clearly broken out into subfolders with understandable names. For example, fall13 or spring14. The exact naming convention is not prescribed here so long as it is understandable.

Portability: everything necessary to re-create a working version of a course website should be present in the semester specific subfolder. In other words, a clean install of the contents of that folder on a new Web server on a new machine should have the result of reproducing the complete working website. To satisfy this practice all internal links must be relative.

Redirection: a URL going to the top level for the course should redirect to the most recent semester in which the course is or was being taught. This may be accomplished either by using a PHP redirect or a UNIX symbolic link.

Seeing the past: Instructors are encouraged to leave available the course website as it existed at the close of the semester. Instructors in future semesters should refrain from altering these sites. Adding some visual cue, such as a background watermark, will help in avoiding confusion between current and past semesters. There is a practical limit on how long these sites should remain in general, and the rule of thumb shall be that after five years instructors or the department will take down old sites by moving them to a directory path outside of public_html. The default is to leave these open. Instructors may choose to password protect these archives if deemed necessary.