Associated Term:
Spring 2018 Semester
Learning Objectives:
Recognize when examination of a phenomenon or situation can benefit from problem solving techniques and analyses that use formal reasoning.Use their expertise in some applications of formal reasoning and know when to call upon domain experts when a problem is beyond their personal expertise.Generate artifacts that require formal reasoning and planning. These artifacts might include logical proofs, mathematical computations, software, simulations, problem solutions, or plans/analyses in a variety of disciplines that require a formal, systematic component.CS 1800 is the fundamental introductory course in CCIS for teaching about the structures and thinking techniques that underlie all computation and information processing. Formal reasoning includes the basic logic of a computer (gates, circuits, number representations); the foundations of probability and the counting arguments needed to estimate both space and time requirements of a program; the analysis of sequences and sums; mathematical induction, recurrence relations, and growth of functions with applications to algorithm analysis; traversal of geometric data structures such as trees and graphs; techniques of number theory as applied to cryptography. Throughout the course, students must use the formal theoretical techniques to explicitly solve numerous concrete problems. As appropriate, students will also do formal proofs of certain assertions and relationships. The course mentions a number of practical applications of its themes in industrial software though of course these applications cannot be treated in depth in a first course.
Required Materials:
Technical Requirements:
