CS220 provides the mathematical background required for a deep understanding of computer science concepts. We will demonstrate the relevance of the mathematical concepts using Python, an easy to learn, widely used programming language.
CS 165 with C or better; MATH 160 with C or better.
The Discrete Mathematics online textbook from zybooks is required for this course. It contains online
exercises that form part of the grade. To get access to the book:
Sign in or create an account at learn.zybooks.com
Enter zyBook code COLOSTATECS220Spring2018
Subscribe, use your EID as your student ID
A subscription is $48 and will last until June 13, 2018.
Here are the graded elements of the course and associated weights:
|Written/Canvas assignments (about 10)   ||15 %|
|Recitations||  5 %|
|Programming Assignments (about 3)||10 %|
|Zybooks reading||  5 %|
|Midterm one test||20 %|
|Midterm two test||20 %|
|Final Exam test||25 %|
Your final grade will be determined by the weights above, with one important caveat: you need to get 65% and above as the weighted average of your test grades to receive a 'C' and above. Therefore, a student who gets below 65% as their exam grade will get a 'D' or worse for the course, even if their scores in other areas raise their overall score to a passing average.
You are expected to complete all the online activities associated with the Zybooks textbook. They are quite straightforward if you do the reading.
Recitations are another required part of the course. Recitations typically begin with a short presentation by a TA, followed by an exercise. For each recitation you receive a grade that reflects having worked towards completing the exercise. You can miss three recitations and still receive the full grade for the recitations. Therefore, there are no makeups for missed recitations.
There will be weekly written or Canvas-based assignments.
Programming assignments will be graded automatically. Your program will be executed on novel test files, and your grade will be determined based on whether it produces the correct output when run on the department's linux machines. If the assignment description is ambiguous, it is up to you to seek clarification from the instructor.
The test files used for grading will be distributed to the class shortly after the due date, so that you can get feedback by running your program on the same test files. If the results you see when running your program do not match the results that the GTA reports for your program, you should talk to the GTA promptly. However, in all but the rarest of cases, you should be prepared to understand that the definitive test of your code is that made by the GTA and what you are seeking in talking to the GTA is an understanding of how to avoid loosing points over similar discrepancies in the future.
Exams are an important part of your grade, and you need a passing grade for them (65%) in order to receive a C or higher in the course.
Recitations, assignments, and exams will all be done individually and grades assigned on an individual basis. You may not submit any work done by other people under any circumstances. That you understand this requirement and follow it is essential and indeed the consequences for what is generally called "cheating" can take many forms including being dismissed from the University. Please see Professional Conduct below for more information.
Semester grades are determined by the weighted sum of points earned in each of the areas summarized in the table above. Total Typically the A- to B+ cutoff falls at 90 points, the B- to C+ cutoff at 80 points, and so on. While this is the typical grading procedure, the instructor reserves the right to make adjustments. Also, repeating from above, any student earning less than 65% on the exam portion of the course should not expect to receive a passing grade.
Deadlines are deadlines. If you fail to submit an assignment, do a recitation, or take an exam on time, you get no points for that element.
There is one important class of exceptions to the rule above: unforeseeable emergencies. Examples might include severe illness, the death of a family member or close friend, a house fire, etc. In the case of an unforeseeable emergency, please talk to the instructor.
|In class midterm 1||Friday Feb. 23 in class|
|In class midterm 2||Friday TBD in class|
|Course withdrawal period ends   ||Monday, March 19|
|Final Exam||Thursday of finals week 7:30-9:30 am|
In-class midterms and the final exam will be held in the same classroom as the regular lectures. While no change to the midterm dates is anticipated, the instructor reserves the right to change these dates with a week's notice.
All students are expected to conduct themselves professionally. We, specifically the instructors and GTAs, assume you are familiar with the policies in the student information sheet for the department. This course will adhere to CSU's policies as explained at the Academic Integrity website and the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.
Additionally, you are computing professionals. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.
We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular:
A class discussion board is being used to support this course. In particular, the discussion board is hosted at Piazza. All normal expectations regarding professional conduct apply to the discussion board. In addition, here are some explicit guidelines to assist in establishing the tone and expectations regarding the use of Piazza.
This last item deserves additional comment. Please, keep in mind every word you type may be retained and shared by the instructor with others when the instructor determines there is good reason to do so. This should not concern you. It is the nature of a public discussion board that what you type is archival and public. However, understanding the public and personally identifiable nature of the discussion board should help reinforce the comments above about the importance of Professionalism.