Course includes those mathematical topics which will help students in future computer-related courses. It refines problem solving skills by providing a vocabulary, structures and techniques for working with problems. Topics include basic counting techniques, recursion, logic, proofs, graph theory, cryptography and number theory. Prerequisite: C.S. 2116 and MATH 1530. (2nd)
Expectations:
E1. Students are proficient in a programming language and have learned basic error handling, testing and debugging techniques. (C.S. 2116)
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. (Math 1530)
Course Outcomes:
R1. Students are able to distinguish valid from invalid proofs, and understand what can be postulated and what requires proof. (CS14, SE14)
R2. Students are able to use inference and to develop direct and inductive proofs, proofs by construction, and proofs by contradiction. (CS/SE13, CS14, SE14)
R3. Students have a working knowledge of elementary set theory and number theory as it applies to computer science. (CS14, SE14)
R4. Students have a working knowledge of mathematical structures such as relations, functions and graphs and be able to apply this knowledge towards solving algorithmic problems. (CS/SE13, CS14, SE14)
R5. Students have a thorough grasp of proportional logic and boolean algebra and are able to apply this understanding to program debugging and hardware logic design. (CS/SE13, CS14, SE14)
R6. Students can recognize situations in which combinatoric approached to problem-solving can be used and will be able to apply counting arguments to algorithmic design. (CS14, SE14)
|