A foundational course designed to introduce students to the concepts of discrete structures for Computer Science and to prepare them for courses that will utilize the methods they have mastered. Students will have practical experience using various discrete structure techniques to solve problems in Computer Science. Topics covered will be propositional and predicate logic, inference, functions, Boolean algebra, combinational digital logic, discrete probability, finite state machines and computability. Topics also covered are sets, recursive programs, graphs, trees, and lists. Prerequisite: CISC 2305. Lab Fee.