This offering of Discrete Mathematics is designed to be an
introduction to the mathematical techniques and reasonings that are
required of a good computer scientist. Upon successful completion of
this course, students should be comfortable with tackling the
mathematical issues confronted in an Algorithms and Data Structures course. More importantly, you will begin to learn how to think like a computer scientist and see how solving problems often confronted in computer science can be fun and challenging!
Students should be comfortable with Basic Algebra such as seen at the high school level. The topics we
will cover in this course will include logic, proof techniques,
induction, recursion, combinatorics, basic probability, algorithm
analysis and efficiency, and discrete structures (including elementary
graph theory).
There will be a small number of programming assignments in the C
programming languages. No prior programming experience is required,
but students will be encouraged to learn the basics of C with some
small problems meant to highlight certain important topics such as
logic rules, basic probability, recurrence relations, basic graph theory, etc.
Updates!
04/25/15  This page created with initial information
05/26/15  Slides for first lecture set posted below
05/31/15  Homework 1 posted below. Due 06/09/15
06/02/15  Lecture 2 slides posted below
06/15/15  Lecture 4 slides posted below as well as homework
#2
07/07/15  Lecture 7 slides posted below
07/21/15  Lecture 9 slides posted below
07/22/15  Final project outlines due. Final project papers
and presentations due 08/11/15
07/26/15  Homework #4 posted. Due 08/11/15
Class Mailing List
All students are required to join the mailing list. We will use the
list for answering general homework questions, posting announcements, etc. Once the mailing list is setup, information will be posted here on how to join
You can join the list be going to the
following url and following the instructions.
Subscribe at http://www.cs.nyu.edu/mailman/listinfo/csci_ga_2340_001_su15
Send messages to: csci_ga_2340_001_su15@cs.nyu.edu
Make sure to only use the email address you intend to send messages
from! Alternate addresses using a forwarding mechanism may get rejected

Textbooks
There will be one basic textbook and several suggested textbooks, from
which sections for reading may be chosen or sample bonus problems. We
will attempt to assign challenge problems continuously (mainly for extra credit).
Required

Discrete Mathematics with Applications
by Susanna Epp
4th Edition, 2010

Suggested/Supplemental  These texts are by no means required, but we may discuss parts of them in class; they also provide extra background and motivation for material covered.

How to Solve It  A New Aspect of a Mathematical Method by G. Polya

Introductory Graph Theory by Gary Chartrand (ISBN: 0486247759)

Puzzling Adventures: Tales of Strategy, Logic, and Mathematical Skill by Dennis Shasha

Puzzles for Programmers and Pros by Dennis Shasha

Homework
The homework will be designed to supplement readings and
lectures. The
best way to become adequately mathematically literate in this
material is through continuous exercises, so homework will given semiregularly and will be due the week following when it is assigned. Students can work with
others, but they must indicate on their homework with whom they have
worked (working together in no way affects your grade). Additionally, homework will be posted online the day it is handed out and students can present their solutions via email in case they are unable to attend a lecture. Collaboration is encouraged but must be acknowledged on the top of your assignment. See the Academic Integrity Policy for more information: http://www.cs.nyu.edu/web/Academic/Graduate/academic_integrity.html.

Student Presentations
Depending on the pace of the course and overall level of student
involvement, a final presentation may replace the final exam.

Exams
There will be a midterm and a final. Dates to be decided. However, as noted below in grading, homework will be weighed more heavily, and exams will be mainly used so that students can evaluate their own progress and understanding of the material. The midterm may also be takehome.

Attendance/Class Participation
Regular attendance is the best way to stay current on the material, especially since we will be reviewing homework assignments and general questions. Plus, new material will be introduced weekly. However, we understand that many students have fulltime jobs during the summer. If you are interested in the class and are unsure how often you will be able to attend, email the instructor. Office hours will also be able for students who need to review certain topics. (The goal of the course is to adequately prepare you for the rest of the graduate program, so we want to make sure students feel comfortable.)
Additionally,
students will be assigned
challenge problems for presenting and leading a discussion for
510 minutes
of a class. They will be problems from Dennis Shasha's books  these problems are often difficult, but the answers are provided; presenting and discussing these problems will give students an opportunity to better understand how to think like a computer scientist when solving complex problems and how to present an interesting problem and its solution.

Grading
Grade distribution has not fully been decided; however, I often feel that homework better reflects students' abilities since not everyone does well on exams, so homework will factor more heavily into the equation:
Class Participation/Attendance = 5%
Homework = 45%
Exam = 25%
Final Exam or Final Presentation = 25% (5% outline + 10% presentation + 10% paper)
Additionally, please note that since the emphasis will be on teaching you as much as possible for preparation for the rest of the graduate program, testing in this course will not be overly intense. Students who routinely strive to complete the homework and stay current with lectures and reading can expect to receive good final grades. Further, extra credit will be available for students who want to work on more interesting problems and supplement their grades.

Collaboration
Syllabus
The course will begin with a review of basic logic and compound
statements. Depending on the level of mathematical sophistication of
the group, the pace and the direction of the course will
change. Students can expect to cover the basics of number theory,
probability, set theory, graph theory, etc. with special topics along
the way as is possible.

Lecture Slides
05/25/15

Lecture 1 (Intro, Beginning Logic, etc.)

Slides (PPT), (PDF)

06/02/15

Lecture 2 (More Logic, Quantified Logic, Beginning Proofs)

Slides (PPT), (PDF)

06/16/15

Lecture 4 (Proofs! Maybe some set theory!)

Slides (PPT), (PDF)

07/07/15

Lecture 7 (functions, algorithms intro, sequences)

Slides (PPT), (PDF)

07/07/15

Lecture 9 (induction, counting, etc.)

Slides (PPT), (PDF)

