Computer Science Tracks

The following is the list of computer science tracks with suggested course sequences. Students are recommended to specialize in at least one of these areas while meeting their BS, MS or PhD degree curriculum requirements in consultation with their academic advisors. Please note that 700-level courses or higher are only open to graduate students. Undergraduate students may be able to take these courses under certain conditions with special permission from the graduate school.

In addition to the following course sequences, all students are recommended to take CS 657 (Technical Writing).

1) Artificial Intelligence:

  • CS 422 (Introduction to AI)
  • CS 423 (Introduction to Natural Language Processing)
  • CS 657 (Computer Robotics)
  • CS 710 (Artificial Intelligence)
  • CS 711 (Pattern Recognition)
  • CS 720 (Computational Models of Decision Making)
  • CS 722 (AI Planning techniques)
  • CS 810 (Knowledge Representation)

2) Computer Architecture & Hardware:

  • EE 451 (Introduction to VLSI Design)
  • EE 457 (Digital Logic Laboratory)
  • CS 458 (Computer Architecture)
  • CS 520 (Computer Networks)
  • CS 654 (Introduction to Computer Compilers)
  • CS 751 (Switching and Automata Theory)
  • CS 758 (Advanced Computer Architecture)
  • CS 760 (Computer Systems Performance Evaluation)
  • CS 762 (Fault-Tolerant Computing)

3) Computer Graphics & Human Computer Interfaces:

  • CS 423 (Introduction to Natural Language Processing)
  • EE 437 (Introduction to Biomedical Imaging)
  • CS 459 (Computer Graphics)
  • CS 581 (Web Languages and Standards)
  • CS 712 (Image Processing)
  • CS 713 (Computer Vision)
  • CS 714 (Computational Geometry)
  • CS 723 (Natural Language Processing)
  • CS 743 (Intelligent user Interfaces)
  • CS 747 (Human Computer Interaction)
  • CS 780 (Multimedia Systems)
  • EE 890 (Advanced Medical Imaging)

4) Computer Networks & Operating Systems:

  • EE 421 (Communication Systems)
  • EE 429 (Wireless Communication Systems)
  • EE 465 (Broadband Optical Networks)
  • CS 469 (Introduction to Computer Security)
  • CS 520 (Computer Networks)
  • CS 530 (Computer Networks Laboratory)
  • CS 537 (Introduction to Operating Systems)
  • EE 565 (Optical Communication)
  • CS 581 (Web Languages and Standards)
  • CS 730 (Advanced Computer Networks)
  • CS 760 (Computer Systems Performance Evaluation)
  • CS 762 (Fault-Tolerant Computing)
  • CS 780 (Multimedia Systems)
  • CS 790 (Advanced Operating Systems)

5) Computer Security & Information Assurance Systems:

  • CS 469 (Introduction to Computer Security)
  • CS 520 (Computer Networks)
  • CS 537 (Introduction to Operating Systems)
  • CS 557 (Introduction to Database Systems)
  • CS 657 (Computer Forensics)
  • CS 755 (Information and Coding Theory)
  • CS 759 (Data Security)
  • CS 762 (Fault-Tolerant Computing)
  • CS 859 (Advanced Cryptography and Security)

6) Databases & Information Systems:

  • CS 469 (Introduction to Computer Security)
  • CS 444 ( Introduction to Text Retrieval and its Applications to Biomedicine)
  • CS 520 (Computer Networks)
  • CS 537 (Introduction to Operating Systems)
  • CS 557 (Introduction to Database Systems)
  • CS 581 (Web Languages and Standards)
  • CS 657 (Data Mining)
  • CS 744 (Text Retrieval and its Applications to Biomedicine)
  • CS 757 (Database Organization)
  • CS 759 (Data Security)
  • CS 780 (Multimedia Systems)
  • CS 790 (Software Document Engineering)

7) Medical & Bio Informatics:

  • EE 436 (Introduction to Medical Instrumentation)
  • EE 437 (Introduction to Biomedical Imaging)
  • EE 438 (Bioanalytics and Biomedical Diagnostics)
  • CS 444 ( Introduction to Text Retrieval and its Applications to Biomedicine)
  • EE 537 (Neuroimaging)
  • CS 557 (Introduction to Database Systems)
  • CS 657 (Data Mining in Medicine)
  • CS 657 (Computational Biology)
  • CS 744 (Text Retrieval and its Applications to Biomedicine)
  • CS 757 (Database Organization)
  • CS 790 (Medical Informatics)
  • CS 870 (Medical Informatics Seminar)
  • EE 890 (Advanced Medical Imaging)

8) Programming Languages & Compilers:

  • CS 431 (Programming languages Concepts)
  • CS 438 (Software Engineering Laboratory)
  • CS 552 (Object-Oriented Programming)
  • CS 536 (Software Engineering)
  • CS 581 (Web Languages and Standards)
  • CS 654 (Introduction to Compilers)
  • CS 732 (Type Systems for Programming Languages)
  • CS 754 (Compiler Construction and Theory)
  • CS 838 (Program Analysis)

9) Software Engineering

  • CS 431 (Programming languages Concepts)
  • CS 438 (Software Engineering Laboratory)
  • CS 469 (Introduction to Computer Security)
  • CS 520 (Computer Networks)
  • CS 552 (Object-Oriented Programming)
  • CS 536 (Software Engineering)
  • CS 537 (Introduction to Operating Systems)
  • CS 581 (Web Languages and Standards)
  • CS 657 (Software Testing & Verification)
  • CS 657 (Software Engineering  Project Management)
  • CS 759 (Data Security)
  • CS 780 (Multimedia Systems)
  • CS 790 (Software Document Engineering)

10) Theory & Algorithms:

  • CS 417 (Introduction to the Theory of Computation)
  • CS 469 (Introduction to Computer Security)
  • CS 535 (Data Structure and Algorithms)
  • CS 704 (Analysis of Algorithms)
  • CS 714 (Computational Geometry)
  • CS 724 (Distributed Algorithms)
  • CS 790 (Graph Algorithms)
  • CS 805 (Randomized Algorithms)