CIS 575
Prerequisites by Topic
- Significant experience programming in some high-level programming
language, preferably Java, C, or C++ - Familiarity with standard data structures: lists, stacks, queues,
trees, search trees, hash tables, graphs - Understanding of basic concepts of propositional
and predicate logic and its use in program verification - Experience in writing mathematical proofs in natural language
- Understanding of algebra (functions, solution of equations,
limits, summations), calculus (derivatives and integrals),
combinatorics, and recurrence relations
Knowledge and Skills Acquired
- Mastery of:
- Analysis of time- and space-complexity of algorithms
- Various sorting algorithms and their tradeoffs
- Various advanced data structures and their tradeoffs
- Proving theorems about algorithms
- Familiarity with:
- Divide-and-conquer
- Greedy algorithms
- Dynamic Programming
Address: 234 Nichols Hall, Manhattan, KS 66506
Phone: (785)532-6350; Fax: (785)532-7353; Email: webmaster@cis.ksu.edu
