## MAT 253-01 (Discrete Mathematical Structures)

A rigorous introduction to discrete mathematical structures, proof techniques, and programming. Topics include sets, functions, sequences, relations, induction, propositional and predicate logic, modular arithmetic, and mathematical programming.

- Pr. an acceptable score on the mathematics placement test or a grade of at least C in MAT 151
- Only one of MAT 253 or MAT 295 can count toward degree requirements for a mathematics major.

The class meets MWF 10:00 AM - 10:50 AM in Petty 223. The final exam is Monday, May 5, 2014, noon - 3:00 PM.

### Documents (pdf)

- Handouts: Syllabus, CRT, RSA, Proof writing extra credit
- Programming projects: Due via email 1 week after each
assigment.

P0 (solutions), P1 (solutions), P2 (solutions), P3 (solutions), P4 (solutions), P5 (solutions), P6 (solutions), P7 (solutions), P8 (solutions), P9 (solutions), P10 (solutions), Po (solutions),

tickets.txt, english.txt, german.txt (right-click or CTRL-click to download) - Tests: 1 (2/12/14), 2 (3/24/14) [RSA question], 3 (4/25/13), Final exam (5/5/14 at noon)
- A Guide to Proof-Writing by Ron Morash
- Common Mistakes in Discrete Mathematics by Ken Rosen
- Factorization of RSA-180 by S. A. Danilov and I. A. Popovyan

**Homework**(Check back regularly for updates): Due dates are shown in the calendar.

- Read Common Mistakes in Discrete Mathematics Chapter 1.
- 1.1 (1, 2, 4, 7, 8, 14, 22, 28, 32) solutions
- 1.3 (2, 6, 8, 13, 14, 15, 18, 24, 27) solutions
- 1.4 (1, 2, 6, 10, 15, 16, 28, 30, 34, 35, 38, 61) solutions
- 1.7 (1, 2, 9, 10, 11, 18, 38) solutions
- Read Common Mistakes in Discrete Mathematics Chapter 2.
- 2.1 (2, 4 (a - b), 10, 14, 32, 34, 42) solutions
- 2.2 (1, 2, 4, 13, 20, 22, 34) solutions
- 2.3 (2, 6, 14, 21, 30, 33, 36, 40, 41) solutions
- 2.4 (2, 4, 6 (a - e), 12, 18, 30, 32) solutions
- Read Common Mistakes in Discrete Mathematics Chapter 3. (It says Chapter 3, but deals with Chapter 4 material in this edition.)
- 4.1 (5, 8, 14, 20, 24, 29, 38, 41, 46) solutions
- 4.2 (2, 4, 26, 31, 32) solutions
- 4.3 (2, 14, 18, 21, 32, 42) solutions
- 4.4 (2, 4, 5, 10, 11, 16, 38, 40, 50, 54) solutions
- 4.6 (2, 4, 5, 8, 24, 25, 26, 27) solutions
- Read Common Mistakes in Discrete Mathematics Chapter 4. (It says Chapter 4, but deals with Chapter 5 material in this edition.)
- 5.1 (3, 4, 6, 10, 15, 18, 20, 31) solutions
- 5.2 (3, 10, 12) solutions
- 5.3 (2, 5 (a,b), 8, 9, 10, 12, 25) solutions
- Read Common Mistakes in Discrete Mathematics Chapter 5. (It says Chapter 5, but deals with Chapter 6 material in this edition.)
- 6.1 (1, 2, 4, 12, 18, 30, 46, 52) solutions
- 6.2 (1, 2, 4, 9, 16, 31, 33) solutions
- 6.3 (1, 2, 3, 5, 6, 8, 18, 19, 26, 28, 34) solutions
- Read Common Mistakes in Discrete Mathematics Chapter 8. (It says Chapter 8, but deals with Chapter 9 material in this edition.)
- 9.1 (1, 2, 4, 6, 12, 19, 28, 30, 34) solutions
- 9.5 (1, 2, 9, 15, 25, 36) solutions

### Useful links

- Math Help Center: Tutoring is provided on a walk-in first come first serve basis. No appointment is necessary. See the webpage for the schedule.
- Textbook website has tips, advice, additional exercises, and other supplemental information.

**Python**is a great object-oriented, interpreted, and interactive programming language.

- Non-Programmer's Tutorial for Python 3: The Non-Programmers' Tutorial For Python 3 is a tutorial designed to be an introduction to the Python programming language. This guide is for someone with no programming experience.
- Python 3 Tutorial: This tutorial does not attempt to be comprehensive and cover every single feature, or even every commonly used feature. Instead, it introduces many of Python’s most noteworthy features, and will give you a good idea of the language’s flavor and style. After reading it, you will be able to read and write Python modules and programs, and you will be ready to learn more about the various Python library modules described in The Python Standard Library.
- Python for Non-Programmers: If you've never programmed before, the tutorials on this page are recommended for you; they don't assume that you have previous experience.
- Python for Programmers: The tutorials on this page are aimed at people who have previous experience with other programming languages (C, Perl, Lisp, Visual Basic, etc.).
- The Python Wiki