Description

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.

Important information for students on COVID-19

All students are required to follow public health guidelines in any university space, and are encouraged to continue these practices when off-campus(es). Students also are required to report any COVID-19 symptoms to the university immediately, as well as if they have potentially been exposed or have tested positive at a non-CSU testing location. If you suspect you have symptoms, please fill out the COVID Reporter (https://covid.colostate.edu/reporter/). If you have COVID symptoms or know or believe you have been exposed, it is important for the health of yourself and others that you complete the online COVID Reporter. Do not ask your instructor to report for you; if you report to your instructor that you will not attend class due to symptoms or a potential exposure, you are required to also submit those concerns through the COVID Reporter. If you do not have access to the internet to fill out the online COVID-19 Reporter, please call (970)491-4600. If you report symptoms or a positive test, your report is submitted to CSU’s Public Health Office. You will receive immediate, initial instructions on what to do and then you will also be contacted by phone by a public health official. Based on your specific circumstances, the public health official may: If you report a potential exposure, the public health official will help you determine if you are at risk of contracting COVID. For the latest information about the University’s COVID resources and information, please visit the CSU COVID-19 site (https://covidrecovery.colostate.edu/).

Prerequisites

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.

Personnel

Section 001 and 801
Lectures are online: Canvas Echo360
Instructor Wim Bohm Office Hours: Fridays 9-10am on Teams

All GTA office hours are online on Teams

Teaching Assistants
Sadaf Ghaffari, helpdesk Mondays 8am
Shivani Mogullapalli, helpdesk Thursdays 3pm
Jason Garcia, helpdesk Tuesdays 1pm
Paul Young, helpdesk Mondays 3pm
Michael Boone, helpdesk Tuesdays 3pm

Textbook

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, go through the Canvas Assignments Page.

Recitations

R01 Mondays 10:00 AM - 10:50 AM, Computer Science Building 325, Paul Chong
R02 Mondays 11:00 AM - 11:50 AM, Computer Science Building 325, Shivani Mogullapalli
R03 Mondays 12:00 PM - 12:50 PM, Computer Science Building 325, Michael Boone
R04 Mondays 01:00 PM - 01:50 PM, Computer Science Building 325, Jason Garcia
R06 Mondays 02:00 PM - 02:50 PM, Computer Science Building 325, Jason Garcia

R05 Asynchronous Online, will be published in Teams (under files)

Grading

Here are the graded elements of the course and associated weights:

Activity Weight
Recitations   5 %
Canvas Quizzes (about 15)   10 %
Programming and written Assignments   15 %
Zybooks reading   10 %
Midterm one test   20 %
Midterm two test   20 %
Final Exam test   20 %

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.

On-line readings

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 that you can do if you want to improve your Python skills.

Recitations

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.

Written/Canvas Assignments

There will be weekly written or Canvas-based assignments.

Programming 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

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.

Grading Policies

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 60% on the exam portion of the course should not expect to receive a passing grade.

Late and Makeup Policy

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.

Important Dates

In class midterm 1    TBA
In class midterm 2    TBA
Final Exam    As scheduled by the registrar.

In-class midterms and the final exam will be held in the form of Canvas quizzes.

Professional Conduct

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. 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:

  • For on campus activities, please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
  • In class use of electronic devices in general, and laptops specifically, is permitted as a courtesy so that you may better participate and learn. If at any time the instructor judges that your use of an electronic device is becoming a distraction to others, you may be asked to to turn it off and put it away.
  • All exams and quizzes are to be done without the aid of notes of any kind, except one sheet of paper (A4 or Letter size or smaller) with notes (handwritten or printed) on both sides.
  • University labs (including but not limited to CSB 120) are professional, not personal, spaces. We expect professional behavior in these labs at all times.

Piazza Dicussion Board (Required for announcements, posting optional)

Canvas will be used for class discussion board. Here are some explicit guidelines to assist in establishing the tone and expectations regarding the use of the discussion board.

  1. No posting of any code for assignments.
  2. No inappropriate postings: e.g. profanity, sexism, racism, bullying, inflammatory remarks, bad taste.
  3. No grade inquiries: make those directly to the instructors.
  4. All students are expected to follow the discussions.
  5. Instructor posts, like in-class announcements, may clarify and even alter assignment specifications.
  6. Use the existing topics. Please don't start new threads.
  7. Only answer questions by other students when you are confident you are both correct and able to craft a helpful explanation.
  8. Questions may of course relate to how best to use tools.
  9. Do not expect instant answers. While answers may often come faster, a 24 hour response cycle is reasonable. Questions posted on Fridays or weekends may be answered Monday.
  10. Posts are anonymous, archival and individualized for the instructors.

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.