CSC 231 Discrete Structures II
Spring 2018

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.