COT: Computing Theory Courses

Courses

COT 3100   Discrete Structures

College of Sci and Engineering, Department of Computer Science

3 sh (may not be repeated for credit)
Prerequisite: (COP 2253 OR COP 2334 OR COP 3014) AND (MAC 2233 OR MAC 2311)

Foundations of Discrete Math with applications to modeling, programming and data structures. Propositional and predicate logic, sets, functions, sequences, summations, algorithms, analysis of algorithms, combinatorics, graphs. Emphasis is on developing programming skills. Can also be taken by CIS majors. Prerequisites: (COP 2253 or COP 2334 or COP 3014) and (MAC 2233 or MAC 2311) minimum grade of C-.

COT 4420   Theory of Computation

College of Sci and Engineering, Department of Computer Science

3 sh (may not be repeated for credit)
Prerequisite: COT 3100

Theoretical foundations of computer science. Classification of formal languages, grammars, and automata. Parsing and recognition of syntactic expressions. Turing Machines and random access machines. Church-Turing thesis. Insolvability of the halting problem.

COT 4905   Directed Study

College of Sci and Engineering, Department of Computer Science

1-12 sh (may be repeated indefinitely for credit)

COT 5205   Theory of Computation

College of Sci and Engineering, Department of Computer Science

3 sh (may not be repeated for credit)

Theoretical foundations of computer science. Classification of formal languages, grammars and automata. Parsing and recognition of syntactic expressions. Turing Machines and random access machines. Church-Turing thesis. Insolvability of the halting problem. Dual-listed with COT 4420; graduate students will be assigned additional work. Students cannot receive credit for COT 5205 and COT 4420.

COT 5405   Advanced Algorithms

College of Sci and Engineering, Department of Computer Science

3 sh (may not be repeated for credit)

A comprehensive overview of the most commonly used approaches for approximate solution of NP Hard problems, including linear programming, dynamic programming, and greedy algorithms. A survey of common algorithms including cache aware algorithms, randomized algorithms, algorithms on strings, network flow algorithms, and computational geometry algorithms. Students taking this course should have a good understanding of undergraduate level data structures and algorithms, competence in programming, and the ability to write formal proofs.

COT 5905   Directed Study

College of Sci and Engineering, Department of Computer Science

1-12 sh (may be repeated indefinitely for credit)

COT 5930   Computer Science Seminar

College of Sci and Engineering, Department of Computer Science

3 sh (may be repeated for up to 6 sh of credit)

A seminar-style course that provides graduate students with an overview of trends in Computer Science research and development, as well as prepares students for conducting independent research. Specific topics include trends in CS research, software development, and research methods. Permission is required.

COT 6428   Seminar in Cybersecurity

College of Sci and Engineering, Department of Computer Science

3 sh (may not be repeated for credit)
Prerequisite: CIS 6394 AND CIS 6800 AND CNT 5402 AND COP 5725; Completion of 18 hours of college course work is required prior to taking this course.

This graduate research seminar will provide cybersecurity graduate students with the opportunity to identify, research, report and discuss contemporary issues in cybersecurity. Students are expected to have completed the foundational courses in the curriculum and to work independently on a relevant topic approved by the instructor.

COT 6905   Directed Study

College of Sci and Engineering, Department of Computer Science

1-12 sh (may be repeated indefinitely for credit)

COT 6931   Computer Science Project

College of Sci and Engineering, Department of Computer Science

3 sh (may be repeated for up to 6 sh of credit)
Prerequisite: COP 5007 AND COP 5725; Completion of 15 hours of college course work is required prior to taking this course.

Capstone course for Masters students who do not elect the thesis option. Normally taken for 3 credits in each of two consecutive semesters. Students will define and carry out a project that shows mastery of some topic in computing and produces some concrete product such as a report or a computer program. Students should not enroll until they have completed at least 15 semester hours of their graduate coursework. Permission is required.