Non-thesis MS requirements: A total of 30 graduate credit hours must be taken excluding seminars and research credit. At most 3 of these hours can be independent study (CS 6950 and CS 7950). At most 6 hours can be courses outside of Computer Science. Students must take CS 6100 (Foundations of Computer Science), CS 5460 (Operating Systems), and CS 6810 (Advanced Computer Architecture), plus two of the following four courses: CS 5470 (Compiler Principles and Techniques), CS 6480 (Data Communications and Networking), CS 6520 (Programming Languages and Semantics), and CS 6210 (Advanced Scientific Computing). The comprehensive exam will be adminstered by the student's supervisory committee and can be coupled with a project proposal defense, and/or meeting a specified level of performance on a set of classes. A student may obtain a waiver for any of these required courses by demonstrating prior knowledge (e.g., completion of a similar course taken at another University). This waiver is obtained by petitioning the Graduate Studies Committee. The waiver procedure should be initiated by first contacting the Graduate Coordinator. Waiving a required course does not reduce the 30 graduate credit hour requirement.