Course Description
A second course in discrete mathematics that introduces more advanced topics as well covering some of the material introduced in CSC/MTH 231 in more depth. Topics include growth of functions and complexity of algorithms, number theory, recursive definitions and algorithms, proof techniques, program verification, discrete probability; finite state automata, formal grammars and language recognizers. Hands-on labs allow students to appy one or more course topics to build practical working systems. Prerequisites: CSC/MTH 230.
Instructor Accessibility
My office is in Wentz Science Center 150. You can stop by in person, or call my office at 630-637-5174. Spring term office hours are Mondays, Wednesdays, Fridays 1:30-2:30 pm; Tuesdays and Thursdays 2:30-3:30 pm.
Course Textbook and Schedule of Topics
The class text is Kenneth H. Rosen, Discrete Mathematics and its Applications, Seventh Edition.
The course topics will be covered in the order shown in the following table. The student should keep track of where we are in the course text and read ahead.
Topic | Class Textbook |
---|---|
Review, Program Verification and Algorithm Analysis | Chapter 3 |
Induction and Recursion | Chapter 5 |
Counting | Chapter 6 |
Discrete Probability | Chapter 7 |
Advanced Counting Techniques | Chapter 8 |
Number Theory and Cryptography | Chapter 4 |
Modelling Computation | Chapter 13 |
Graphs | Chapter 10 |
Boolean Algebra | Chapter 8 |
Additional Topics | Online resources |
Course Grading
There will be a number of homework assignments and programming projects.
In addition to the homeworks, there will be an in-class tests in Weeks 2, 3, 5, and 8, and a final examination in week 11. Distribution of percentage points for the tests are 5%, 5%, 12.5 %, 12.5%, and 25% for the tests in weeks 2, 3, 5, 8, and 11, respectively. All homework and programming projects will be equally weighted and will altogether account for 40 % of your grade.
Schedule of In-class Quizzes and Tests
All tests and quizzes will be on Thursdays unless otherwise announced.
Class Event | Date | Percent Weight |
---|---|---|
Quiz 1 | Week 2 | 5% |
Quiz 2 | Week 3 | 5% |
Test 1 | Week 5 | 12.5% |
Test 2 | Week 8 | 12.5% |
Final Exam | Week 11 | 25% |
All homework must be typed and submitted electronically by midnight on the day due. All homework needs to be submitted as a pdf file I recommend that you use LaTeX to write up your homework.
Late homework will not be accepted after I have graded and handed back assignments that belong to the same batch. No programming project will be accepted after the due date of the next programming project. Start working on your homework the same day it is handed out so you have time to get help if you need it.
Policy on Missed Quizzes
In-class tests missed without a legitimate excuse cannot be made up. If you have to miss a test (for some legitimate reason) please let me know at least a week before the test and I will make arrangements for a make up. In the event some unexpected reason beyond your control prevents you from being in class on the day of a test, contact me as soon as possible by phone or email to arrange a make up.
Quality of Written Assignment
All work on homework will be graded for correctness first, and secondly, for clarity and style of presentation. Programming projects will be graded for correctness first, and secondly for programming style and documentation. Make sure your code is readable and neatly formatted. If you use a language with braces, vertically align corresponding braces when those braces go on different lines.
Ethics Statement
All work on the in-class tests must be done without any assistance from anybody, and you may not use cell phones or any electronic devices on the closed book part of the tests. On the online part of the tests (If any), you may use lab computers, or your own laptop if you prefer. You may not email, use a cell phone, or otherwise communicate with anybody else during a test.
You may seek help from the instructor, the class preceptor, other students, and other individuals on homeworks and programming projects. You {\em must} write up your own homework, and you may not help any other student in writing their homework, nor allow anybody to copy your written solution.
You may not copy other people's code, or otherwise submit as your own work code that you do not understand. The goal of seeking help is to get to the place where you can do the work yourself. If you submit any work for grading: you should be prepared to explain it to me. Submission of any work that you do not understand or cannot explain will be considered plagiarism.