Graduate Info
PhD Internal Minor
Prior approval from a student's major advisor is required to select an internal minor and before beginning minor coursework. Your major advisor can also serve as your minor advisor, but please make sure you meet The Graduate College's requirements for committees. A student cannot count a course as part of both their major and their minor.
Minor Examinations
For PhD students following the old rules, the qualifying exam is waived. Students should communicate with their advisor to determine how they want to handle the minor for their written and oral comprehensive exams.
For PhD students following the new rules, minor course work is not considered as part of the portfolio process. Students should communicate with their advisor to determine how they want to handle the minor for their written and oral comprehensive exams.
Types of Internal Minors
There are two types of CS internal minors: an Internal minor (CS only) and an Internal/External minor.
- Internal: Three courses from the same track. At least two courses must be taught by CS faculty. All committee members for the minor must be from CS.
- Internal/External: Three courses from the same track. One must be taught by a CS faculty member. The other two course must be from the same external department, assuming that department offers "split" minors for PhD students. One committee member for the minor must be from the external department and one must be from CS.
The courses for either of these options would be chosen from one of the tracks listed below.
Internal Minor Tracks
Computer Architecture/Logic Design
- C SC 576 -- Computer Architecture
- C SC 600s that are relevant
- ECE 407 -- Digital VLSI Systems Design
- ECE 562 -- Computer Architecture and Design
- ECE 568 -- Introduction to Parallel Processing
- ECE 569 -- High Performance Computing: Technology, Architecture, Algorithms
- ECE/CSc 571 -- Advanced Logic Synthesis and Verification Algorithms
- ECE/C SC 574A -- Computer-Aided Logic Design
Operating Systems/Networks
- C SC 525 -- Computer Networks
- C SC 552 -- Advanced Operating Systems
- C SC 600s that are relevant
- ECE 564 -- Broadband Networks and Multimedia Communications
- ECE 577 -- Computer System and Network Evaluation
- ECE 636 -- Information Theory
- ECE 677 -- Distributed Computing Systems
- ECE 678 -- Integrated Telecommunications Networks
Programming Languages/Compilers
- C SC 520 -- Principles of Programming Languages
- C SC 553 -- Principles of Compilers
- C SC 600s that are relevant
Numerical Analysis/Scientific Computing
- C SC 522 -- Parallel and Distributed Computing
- C SC 600s that are relevant
- ECE 569 -- High Performance Computing: Technology, Architecture, Algorithms
- Math/C SC 475A -- Mathematical Principles of Numerical Analysis
- Math/C SC 475B -- Mathematical Principles of Numerical Analysis
- Math/C SC 575A -- Numerical Analysis
- Math/C SC 575B -- Numerical Analysis
- Math/C SC 589 -- Software Tools for Computational Science and Engineering
Graphics/Geographic Information Systems
- C SC 533 -- Computer Graphics
- C SC 537 -- Geometric Algorithms
- C SC 600s that are relevant
- Math/C SC 535A -- The Mathematics of Computer Graphics
- Math 574 -- Introduction to Geostatistics
- RNR 403/503 -- Applications of Geographic Information Systems
- RNR 417/517 -- Geographic Information Systems for Natural Resources
- RNR 420/520 -- Advanced Geographic Information Systems
- RNR 437/537 -- Modeling Natural Systems
Algorithms/Theory/Mathematics
- C SC 537 -- Geometric Algorithms
- C SC 545 -- Algorithms
- C SC 573 -- Theory of Computing
- C SC 600s that are relevant
- Math 530 -- Second Course in Geometry
- Math 534A/534B -- Introduction to Topology
- Math/C SC 502 -- Mathematical Logic
- Math/C SC 543 -- Theory of Graphs and Networks
- Math 546 -- Theory of Numbers
- Math 547 -- Combinatorial Mathematics
- Math 564 -- Theory of Probability
- Math/C SC 578 -- Computational Methods of Algebra
- Math/C SC 579 -- Game Theory and Mathematical Programming
- PHIL/C SC 501A -- Symbolic Logic
- PHIL/C SC 501B -- Symbolic Logic
Databases/Information Systems
- C SC 560 -- Database Systems Implementation
- C SC 600s that are relevant
Internal/External Split Minor Track
Following are four tracks that would be available as an Internal/External Split.
Computational Biology
- C SC 600s that are relevant -- e.g., Algorithms for Computational Biology
Security
- C SC 600s that are relevant -- e.g., Security Through Obscurity
- Math 515A -- Introduction to Abstract Algebra
- Math 515B -- Second Course in Abstract Algebra
- Math 539 -- Algebraic Coding Theory
- Math 546 -- Theory of Numbers
- Math 636 -- Information Theory
Software Engineering
- C SC 600s that are relevant -- e.g., Software Validation
- ECE 573 -- Software Engineering Concepts
- ECE 576 -- Engineering of Computer-Based Systems
- MIS 521 -- Systems Modeling and Simulation
- MIS/C SC 541A -- Introduction to Information Systems Analysis and Design
- MIS 553 -- Software Systems
- MIS 582 -- Web-Based Systems Development
- MIS 696D -- Models for Quantitative Analysis
- Math 571 -- Design of Experiments
- Math/C SC 589 -- Software Tools for Computational Science and Engineering
- Math/C SC 543 -- Theory of Graphs and Networks
- PHIL/C SC 501A -- Symbolic Logic
- PHIL/C SC 501B -- Symbolic Logic
Artificial Intelligence/Cognitive Science
- MIS/C SC 540 -- Artificial Intelligence
- LING/C SC 538 -- Computational Linguistics
- LING 478/578 -- Speech Technology
- LING 588 -- Stochastic Language Processing
- LING 699 -- Seminar in Human Language Technology
- PHIL/C SC 501A -- Symbolic Logic
- PHIL/C SC 501B -- Symbolic Logic
- Math/C SC 502 -- Mathematical Logic
- Math/C SC 579 -- Game Theory and Mathematical Programming