Math This course is an introduction to the discrete and combinatorial mathematics that finds application in computer science. Topics include logic, methods of proof including mathematical induction, finite series, sets, relations and functions, graphs and trees, elementary combinatorics, discrete probability, Boolean algebras, and the elements of language theory. This course is an introduction to computer science and programming in a high-level language.
Coverage includes control structures, subprograms, recursion, arrays, strings, and records.
Files and dynamically allocated linked lists will also be introduced. Topics such as top-down design, procedural and data abstraction, documentation, and programming style are addressed throughout the course. This course covers abstract data types and advanced programming techniques. Students will learn to reason mathematically about programs. The use of assertions and loop invariants in program construction and verification will be introduced.