# CS 330 Syllabus

## Course Outcomes

This class covers a variety of mathematical concepts and techniques critical to computer science. After successfully completing this class, students should be able to:

1. Illustrate by examples the basic terminology of functions, relations, and sets and demonstrate knowledge of their associated operations.
2. Demonstrate in practical applications the use of basic counting principles of permutations, combinations, inclusion/exclusion principle and the pigeonhole methodology.
3. Calculate probabilities of events and expectations of random variables for problems arising from games of chance.
4. Establish and solve recurrence relations that arise in counting problems including the problem of determining the time complexity of recursively defined algorithms.
5. Model logic statements arising in algorithm correctness and real-life situations and manipulate them using the formal methods of propositional and predicate logic.
6. Outline basic proofs for theorems using the techniques of - direct proofs, proof by counterexample, proof by contraposition, proof by contradiction, mathematical induction.
7. Relate the ideas of mathematical induction to recursion and recursively defined structures.
8. Illustrate by example basic terminology of graph theory and model problems in computer science using graphs and trees.
9. Deduce properties that establish particular graphs as Trees, Planar, Eulerian, and Hamiltonion.
10. Illustrate the application of trees and graphs to data structures.
11. Explain the basic concepts modeling computation including formal machines, languages, finite automata, Turing machines

## Textbooks

The following textbook is required for this course:

Your final score is based on the following weighted components:

• 35% : Assignments
• 10% : Participation*
• 15% : Midterm exam 1
• 15% : Midterm exam 2
• 25% : Final exam

* see below for clarification of the participation component.

And here's the grade scale applied to the final, aggregate score:

• A: 90%-100%
• B: 80-89%
• C: 70-79%
• D: 60-69%
• E: 0-59%

### Assignments

There will be approximately 10 homework assignments. All assignment problem sets will be posted on the course website and submitted via Blackboard. Assignment submissions must be typed up (diagrams may be created in your diagramming software of choice) and in PDF form. Scans of handwritten work will not be accepted. All assignments are equally weighted.

### Participation

The instructor will be keeping track of in-lecture participation, and students who consistently attend live lecture and regularly participate (either via voice or text chat, in an online format) throughout the semester will receive full points for participation.

In the event that a student does not have full points for participation by the end of the semester, the worth of the final exam will be increased to allow the student to potentially make up those lost points. For example, if a student receives 5/10 for participation, the final exam will be worth 30% of their final score.

### Exams

All exams in the class will be open-book, open-notes, and comprehensive. If you need to miss a midterm exam for a legitimate reason, the final exam score can be used to replace the missed exam score.

## Late Policy

An assignment is late if it is not turned in by 11:59PM of the due date. Late assignments, unless cleared in advance with the instructor, are subject to a 5% reduction in points per each day late. After 1 week (7 days) past the due date, an assignment will not receive any points at all.