One core course must be taken from each of the following four core areas:
|1.||COSC 510 Advanced Operating Systems||COSC 511 Computer Architecture|
|2.||COSC 512 Artificial Intelligence||COSC 513 Data Management Systems|
|3.||COSC 514 Networks||COSC 515 Security|
|4.||COSC 516 Algorithms||COSC 517 Models of Computation|
Advanced courses build on the core courses and provide more depth in the core areas.
- COSC 521 Automated Theorem Proving
- COSC 522 Data Compression
- COSC 524 Natural Language Processing
- COSC 525 String Processing
- CPMA 560 Algorithms/Graph Theory
The Computing Ethics course will examine ethical frameworks in depth and stress professional ethics of the field as developed by professional societies. Students who have taken an undergraduate course in Computing Ethics, or those who have studied the material on their own, may opt to take a placement examination in lieu of taking the Computing Ethics course.