Warning: include(/home/faculty/schahczenski/webSites_Common/contact.php): failed to open stream: No such file or directory in /opt/www/classes/csci246/csci246.php on line 10
Warning: include(): Failed opening '/home/faculty/schahczenski/webSites_Common/contact.php' for inclusion (include_path='.:/usr/share/php') in /opt/www/classes/csci246/csci246.php on line 10
Office Hours:
Warning: include(/home/faculty/schahczenski/webSites_Common/officeHours_fall.php): failed to open stream: No such file or directory in /opt/www/classes/csci246/csci246.php on line 16
Warning: include(): Failed opening '/home/faculty/schahczenski/webSites_Common/officeHours_fall.php' for inclusion (include_path='.:/usr/share/php') in /opt/www/classes/csci246/csci246.php on line 16
Prerequisites: M 171, Calculus I, and one of the following:
- CSCI 112,Programming with C I
- CSCI 114, Programming with C#
- CSCI 117, Programming with Mathlab
- CSCI 135, Fundamentals of CS I
Meeting times and place: Mon, Wed & Fri 3:00-3:50, S&E 106
Texts
-
Zybooks - required
To purchase access to our Discrete Structures zyBook do the following:- Click on any Moodle zyBooks link in this course (Do not go to the zyBooks website and create a new account)
- Subscribe using any credit card. A subscription is $58 and will last until Dec. 25, 2020.
- Discrete Mathematics and Its Applications, 6th edition, by Kenneth Rosen by Kenneth Rosen - recommended. Other editions are also acceptable.
What is in this course?
This course will give you a toolbox of structures and techniques for working with problems that frequently appear in computer science. We'll explore a mixture of mathematical topics to improve your mathematical reasoning and problem solving skills. The material in this course will be needed in future courses such as Data Structures, Design & Analysis of Algorithms, Requirements and Specifications (SE majors), and Theory of Computation (CS majors). Topics include: propositional and predicate logic; proof techniques; properties of functions, relations, sequences and sets; basic counting techniques including counting permutations and combinations; recursion; and graph theory.
Grading
Activity | Percentage |
---|---|
Exams | There will be 3 exams during the semester and a final exam at the end. The final exam score will count twice, giving you 5 exam scores in all. The lowest exam score will be dropped. All together, the remaining 4 exams scores will count as 90% of your grade (22.5% each). |
Zybook participation and challenge activities | 10% |
Practice Exercises
The material in this course builds on itself. For this reason it is important that you keep up with the material. Not understanding one topic will make the next topic harder to learn. Luckily, you will have many chances to practice solving problems in this class:
- Participation activities within each zyBook section. Take the time to work the problems carefully before clicking to see if your answer is correct. Make a note of any answers which you miss, so you are clear about where your misunderstanding lies, and you will not make that mistake again.
- zyBook challenge questions. These will be automatically graded, similar to the other questions within the zyBook.
- Additional exercises in our zyBook at the end of each section. The solutions to many of these problems will be made available to you. You will learn the most if you solve the problem carefully before looking at the solution. (If a problem does not have the solutions shown, and you would like the solution shown, let me know.
- Class/homework exercises. These will be from the zyBook additional exercises or from the Rosen text. I will furnish typed copies of these problems so that you can start them in class and you don't need to bring the Rosen text to lectures.
- Rosen exercises. The Rosen text contains many exercises. Answers to the odd questions are given at the back of the book. Completely worked out solutions are in the solutions manual. A copy of the solutions manual is in the Math CS office. You can borrow it and use it in the lab. You are not to take the text out of the lab.
Multiple sections of the zyBook are associated with each lecture period. Complete these BEFORE the class period. This way you can come to class understanding some of the material and with questions on what you don't understand. This allows less lecturing, and more class time spent solving problems.
I'll bring typed problems to class. In some cases, you will be able to finish these in class. In most cases these will be homework problems. Solutions will be posted to these exercises. These will not be collected.
Exam questions will be similar to the class exercises.
For the exams, proofs must be written out in their entirety. That is, begin with a statement of what you are proving and end with a statement that makes it clear that you have completed the proof. Use complete sentences in proofs. Practice writing out proofs in this way when doing the homework exercises so that you will be prepared for exams. Feel free to ask me to grade your work so that you know how I will be grading on exams.
Catalog description of the course
Course includes those mathematical topics which will help students in future courses. It refines problem solving skills by providing a vocabulary, structures and techniques for working with problems. Topics include logic, theorem proving, properties of sets, functions, relations, and sequences, counting techniques, recursion, and graph theory. Prerequisite: (CSCI 112, CSCI 114, CSCI 117 or CSCI 135) and M 171. (1st)
Expected skills students have coming into the course
- E1. Students are proficient in a programming language and have learned basic error handling, testing and debugging techniques. (Programming Course)
- E2. Students are familiar with summation notation, union and intersection of sets, logarithms, exponential functions, and are able to work with abstractions and manipulate formulas. (M 171)
Expected outcomes from taking this course
- R1. Students are able to use propositional and predicate logic to specify and reason about program requirements. (SE: 1)
- R2. Students can use inference to prove statements, can distinguish valid from invalid proofs, and know the vocabulary of proofs. (SE: 1)
- R3. Students can use mathematical structures such as sets, relations, functions and sequences to reason about problems. (SE: 1)
- R4. Students can use graph terminology and theory to reason about problems. (SE: 1)
- R5. Students know when induction can be applied and can develop inductive proofs; similarly they know when recursion can be employed and can develop recursive algorithms. Students understand the relation between recursion and induction and can prove the correctness of recursive algorithms using induction. (SE: 1)
- R6. Students can use combinatoric approaches to problem-solving and will be able to apply counting arguments to algorithmic design. (SE: 1)
Related ABET student outcomes
Software Engineering (EAC)- SE 1: An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- III-1-2-3 - Discrete mathematics, probability, and statistics, with applications appropriate to software engineering.