Welcome to the Spring 2023 iteration of CIS 1600!

If you're new here, welcome!

We have a course Piazza page. It will be used for course announcements and Q&A.

We have a course Gradescope. It will be used for homeworks. The Gradescope course code will be posted on Piazza.

Most questions should be directed to Piazza. However, if you need to get in contact with the course staff for an urgent matter, please email the head TAs at cis1600@seas.upenn.edu (do not contact this email address with waitlist related queries).

Course Description

This course introduces you to math concepts that form the backbone of the majority of computer science. Topics covered include sets, functions, permutations and combinations, discrete probability, expectation, mathematical Induction and graph theory. The goal of the course is to ensure that students are comfortable enough with the math required for the rest of the undergraduate program. CIS 1210 and CIS 3200 and many others heavily rely on concepts taught in this course.

Collaboration Policy

You may organize into collaboration teams of up to 3 current students. For each homework assignment, you can only be in one team and must list all team members on your homework submission, whether or not you specifically spoke with them for this homework assignment. To illustrate, A must list B and C even if A only worked with C and B only worked with C. You may have different teams for different assignments.

Collaboration can only consist of discussions. You must write your solutions on your own. Sharing of solutions essentially as they are written in a LaTeX file, an email, a PDF, over Zoom, or elsewhere is not allowed. This includes submitting solutions that you obtain from the web or from people not enrolled in this course. Penalties could include failing the course and/or being reported to the Office of Student Conduct.

Our suggestion is to discuss the problems together, but if you made any notes or worked out something on a whiteboard with another person while you were discussing the homework, then erase or destroy those notes as soon as the discussion is over. You shouldn’t use those notes while writing up your answer, however tempted you may be to do so. This will force you to write up the solutions yourself and to make sure that you genuinely and fully understand them.

The only materials you may reference when writing homework solutions are course materials (lecture notes, homework solutions, and recitation guides). This policy extends to the Internet. Posting homework questions and/or course materials to online forums such as Stack Overflow, Chegg, Course Hero, etc. is both a violation of this collaboration policy and copyright infringement on the materials authored by the course staff.

If you would like to use part of a solution from a problem presented in lecture, recitation, or past homework solutions you may do so with attribution; i.e., provided you add a comment in which you make clear you copied it from these sources. It's especially important to tell us if you use our words because if multiple students do it for the same words, it looks the same as if you copied each other. Using our words with citation is fine, but copying each other is not.

If you are unsure of whethor or not something is allowed, please don't hesitate to make a private post on Piazza.

Any violations of collaboration policy will be dealt with severely

Example of Allowed Collaboration

  • Val lists Swap and Sampath as collaborators.
  • Sampath lists Swap and Val as collaborators.
  • Swap lists Val and Sampath as collaborators.

Example of NOT Allowed Collaboration

  • Val lists Sanjeev and Sampath as collaborators.
  • Sanjeev lists Sampath and Swap as collaborators.
  • Sampath lists Swap and Val as collaborators.
  • Swap lists Val and Sanjeev as collaborators.

This example is a violation of the policy since the size of the team is 4 (which is bigger than the maximum of 3 allowed). Sanjeev would have to list Val, which would give him 3 collaborators.

Example of NOT Allowed Collaboration

  • Val lists Sanjeev as a collaborator.
  • Sanjeev lists Val and Sampath as collaborators.
  • Sampath lists Sanjeev as a collaborator.

This example is a violation of the policy since Val does not list Sampath. Even if Val and Sampath never directly spoke to each other, they are considered part of the same “team.”

Other examples of collaboration which are NOT permitted include:

  • Discussing or solving problems with friends not enrolled in the course.
  • Posting questions on the internet or searching for solutions on the internet.
  • Borrowing a friend's solutions.
  • Giving your solutions to a friend. This includes screen sharing documents.


There is no required or recommended textbook for this course. A textbook that can be referred to for extra reading is ''Mathematics: A Discrete Introduction'' by E. A. Scheinerman.