# COm 1310: Mathematics for Computer Science

## Date

## Authors

## Journal Title

## Journal ISSN

## Volume Title

## Publisher

## YU Faculty Profile

## Abstract

Description The course will introduce students to a variety of topics in discrete mathematics that are essential for a Computer Science career. It emphasizes mathematical definitions and proofs as well as applicable methods. Topics include formal logic notation, proof methods; induction, well-ordering; sets, relations; elementary graph theory; asymptotic notation and growth of functions; permutations and combinations, and counting principles. The Python programming language will be introduced during the first few weeks and assignments will require programming in Python. Course Outcomes Students will: acquire a familiarity with the Python language and will use various Python software packages to solve problems in discrete mathematics. be able to understand mathematical reasoning in order to read, comprehend, and construct mathematical arguments understand the relationship between mathematical reasoning and the logical operations of Python. be able to construct logically correct proofs, especially those based on induction and well ordering. understand how inductive arguments are mirrored in recursive designs for computer programs. understand how sets, relations, and graphs are used for modeling in Computer Science and how Python data structures to represent them. be able to perform combinatorial analysis to estimate complexity analyze the time and space complexity of simple algorithms using asymptotic analysis techniques.