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.
Prerequisite: CS 163 with a C or better or CS 164 with C or better; MATH 159 with C or better or 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
COLOSTATECS220SaySummer2019
The bookstore should have sent you a code so you don't have to pay the subscription directly, it will be billed to your student account.
We will also be using zyLabs for all programming assignments this semester.
Here are the graded elements of the course and associated weights:
Activity | Weight |
---|---|
Canvas Quizzes (about 15) | 15 % |
Recitation Participation |   5 % |
Programming Assignments (about 4) | 10 % |
Zybooks reading |   5 % |
Class Group Participation |   5 % |
Midterm one test | 15 % |
Midterm two test | 15 % |
Midterm three test | 15 % |
Final Exam test | 15 % |
Your final grade will be determined by the weights above, with one important caveat: you need to get 60% or above as the weighted average of your test grades to receive a 'C' and above. Therefore, a student who gets below 60% 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. There are also optional Python chapters at the end that you can do if you want to improve your understanding of python.
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.
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.
Exams are an important part of your grade, and you need a passing grade for them (60%) 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. Further, you must not simply re-use your own prior submissions from previous attempts at this course. 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 60% 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. Documentation is required in all instances. That means, if you are sick, please go see a medical professional. Your visit summery is sufficient documentation, no need to have the doc write you an excuse note unless the excuse is to cover days other than the day of visit.
In class midterm 1 | Thursday, June 27 in class |
In class midterm 2 | Thursday, July 11 in class |
In class midterm 3 | Thursday, July 25 in class |
Final Exam | Thursday, August 8 in class |
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.