Graduate Program

Admissions Coordinator
Leah Buechley


Degrees Offered

  • Master of Science in Computer Science (M.S.)
    Concentration: Entrepreneurship and Technology Management.
    Doctor of Philosophy in Computer Science (Ph.D.)

Shared-Credit Undergraduate/Graduate Degrees Program

Undergraduate students in the School of Engineering may seek admission to the M.S. in Computer Science under the Shared-Credit Undergraduate/Graduate Degrees Program. See the School of Engineering section of this Catalog for specific admission information and requirements.

Interdisciplinary Program

Computational Science and Engineering: The Computational Science and Engineering interdisciplinary graduate certificate program prepares students to effectively use high-performance computing within their disciplines and is open to graduate students in this department. See the School of Engineering section of this Catalog.


Admission Information

In addition to the University-wide requirements for admission to graduate study, the prospective Master of Science (M.S.) or Doctor of Philosophy (Ph.D.) candidate must submit verbal, quantitative and analytical GRE scores (general test) as well as satisfy the following criteria for admission to graduate study:

  • Knowledge of computer science equivalent to CS 152L, 251L, 261, 341L, 351L, 357L, 361L, 362, **460 and **481.
  • Knowledge of mathematics essential to computer science equivalent to MATH 1512, 1522, **314 and STAT **345.

Students lacking adequate undergraduate training may be admitted, at the discretion of the admissions committee, with the understanding that coursework required to remove the deficiencies in undergraduate background is not applicable to the graduate degree.

Each student is assigned a graduate advisor. The student should see his or her graduate advisor before registering for the first time. The student and the advisor together work out a course of studies which meets the student’s career objectives and which constitutes a coherent program satisfying the graduation requirements. No course shall be counted toward the required credit hours which has not been agreed on by the student and the advisor as a part of this coherent program. It is the responsibility of the student to meet the requirements and to keep the department office informed of compliance with them; in particular, the student should meet with his or her graduate advisor at least once a semester to review progress toward the degree.

Application Deadlines

Fall Semester: Priority for admission and consideration for financial aid is given to applications received by January 15. International applications are accepted until March 1, and domestic applications are accepted until July 15.

Spring Semester: Priority for admission and consideration for financial aid is given to applications received by August 1. International applications are accepted until August 1, and domestic applications are accepted until November 15.


Master of Science in Computer Science

The Master of Science in Computer Science (M.S.) can be completed under Plan I or Plan III. A brochure describing the program and requirements can be obtained from the department.

Plan I

In addition to all Graduate Studies requirements for the master’s degree, the department also requires the following:

1.  32 credit hours of approved graduate courses.
2.  At least 2 credit hours of CS 592 (Colloquium), taken at UNM.
3.  At least 26 of the 32 credit hours must be in courses offered by the Computer Science department at the 500-level or above.
4.  Completion of a minimum of two courses from each category below with a grade of "B-" or better:
          • Mathematical Methods: CS 500, 530, 550, 558, 561.
          • Empirical Methods: CS 512, 522, 523, 527, 529, 547.
          • Engineering/System Building Methods: CS 554, 580, 585, 587.
5.  Passing the master’s examination. For Plan I students, the master’s examination is the defense of thesis.

Plan III

In addition to all Graduate Studies requirements for the master’s degree, the department also requires the following:

1.  32 credit hours of approved graduate courses.
2.  At least 2 credit hours of CS 592 (Colloquium), taken at UNM.
3.  In addition to Colloquium, at least 24 of the 32 credit hours must be in courses offered by the Computer Science Department at the 500-level or above.
4.  Completion of a minimum of two courses from each category below with a grade of "B-" or better:
          • Mathematical Methods: CS 500, 530, 550, 558, 561.
          • Empirical Methods: CS 512, 522, 523, 527, 529, 547.
          • Engineering/System Building Methods: CS 554, 580, 585, 587.

Concentration in Entrepreneurship and Technology Management: For information and requirements, see the School of Engineering section of this Catalog.


Doctor of Philosophy in Computer Science

The Doctor of Philosophy in Computer Science (Ph.D.) is offered through a cooperative program involving the Computer Science departments at the University of New Mexico, New Mexico State University (Las Cruces, NM) and the New Mexico Institute of Mining and Technology (Socorro, NM). Doctoral students at the University of New Mexico may specialize in areas of current interest to the University of New Mexico faculty, or, by special arrangement, they may work in areas of interest to faculty at either of the other two universities.

Graduation Requirements

In addition to all Graduate Studies requirements for the Ph.D. degree the department also requires the following: 

  • 4 credit hours of CS 592 Colloquium, taken from the University of New Mexico. If the student enters the program with a master’s degree, the requirement is reduced to 2 credit hours of CS 592.
  • At least 24 of the credit hours, exclusive of dissertation, must be completed at one of the three New Mexico universities.
  • At least 30 credit hours, exclusive of dissertation, must be in courses numbered 500 or above. Of these credit hours, at most 12 may come from individual study courses (at the University of New Mexico, CS 551 and CS 650). If the student enters the program with a master’s degree, the requirement is reduced to 18 credit hours in courses numbered 500 and above–at most 9 of these credit hours may come from individual study courses.
  • Passing marks on the comprehensive coursework, on the oral candidacy examination and on a final oral examination in the student’s area of specialization.
  • Every student who has passed the comprehensive coursework requirement must give one Colloquium before graduation, surveying the student’s work to date.
  • Teaching requirement for the doctorate: As a requirement for the Ph.D. in Computer Science, all students complete a one-semester teaching assignment. Typically and preferably, this assignment involves running a class section, including classroom lecturing; there is, however, some flexibility in tailoring this assignment to each particular student. The student is encouraged to fulfill this requirement early in his or her studies, as the teaching experience is expected to help solidify the student’s mastery of core Computer Science material.

Ph.D. Comprehensive Coursework

All students pursuing a Ph.D. degree are required to complete at least 18 credit hours of comprehensive coursework to provide knowledge in core areas of computer science. Students must also take at least two additional CS graduate-level courses in their area of research specialization.

Students must choose two courses from each category below. Students must achieve a minimum cumulative GPA of 3.5 for the comprehensive courses.

  • Systems
    CS 554 Compiler Construction
    CS 585 Computer Networks
    CS 587 Advanced Computer Operating Systems
  • Theory
    CS 500 Introduction to the Theory of Computation
    CS 550 Programming Languages and Systems
    CS 561 Algorithms and Data Structures
  • Empirical Methods
    CS 530 Geometric and Probabilistic Methods in Computer Science
    CS 533 Experimental Methods in Computer Science

Students are also required to complete a language requirement by taking at least one of the following:

  • CS 550 Programming Languages and Systems
  • CS 554 Compiler Construction
  • CS 558 Software Foundations

Research Milestone Requirement

All Ph.D. students must also complete a Research Milestone. The milestone is a validation by a small committee of CS faculty on behalf of the department that the student has demonstrated the ability to conduct independent research at a level appropriate for developing and completing a dissertation in the department.

Within 2.5 calendar years of matriculation, each Ph.D. student is required to write and successfully defend a paper or report documenting significant technical research by the student. The paper should describe the student’s body of work and be written in a style that is appropriate for submission to a peer-reviewed computer science conference. 

Ordinarily, Ph.D. students select a subject area advisor for the milestone project at the beginning of their second year in the program, and register for CS 600 Computer Science Research Practicum. The Practicum provides intensive supervision for one semester, in collaboration with the subject area advisor, as the student develops a milestone project and begins to research it. All students are required to have submitted the milestone paper and to have presented it to a committee of three CS faculty by the fourth week of the Fall semester of their 3rd year (5th semester in the program, or 6th semester for January admits). The Committee consists of the Practicum instructor, the subject area advisor, and an additional member appointed by the Graduate Committee. If the Committee determines that either the paper or the presentation is not satisfactory, the student has the remainder of the semester to work with the Committee to produce a satisfactory outcome. If the student fails to pass the milestone by January (beginning of the 6th semester in the program), then the student is asked to leave the program. Students who successfully complete the milestone before their third semester in the program (both the paper and presentation) can be exempted from the Practicum at the discretion of their advisor. 

In addition to this process, all students will continue to receive annual evaluations from the department.

Students must complete the comprehensive coursework and research milestone as noted above. Upon completion of the coursework the student is allowed to work toward the dissertation. The student’s advisor and the graduate advisor or department chairperson then appoint a dissertation committee which determines the student’s remaining program of study and conduct the candidacy examination. The candidacy examination verifies that the student possesses the specialized knowledge required for his/her area of research and ensures that the proposed dissertation topic is adequate in scope, originality and significance. The student is admitted to candidacy for the doctorate upon completion of the comprehensive coursework and candidacy examination, with the approval of the doctoral committee and the Dean of Graduate Studies. Finally, the committee evaluates the student’s doctoral dissertation and conducts the final oral examination on the student’s area of specialization.

A brochure describing the program and requirements can be obtained from the department.


Courses

CS 105L. Introduction to Computer Programming. (3)



CS 108L. Computer Science for All: An Introduction to Computational Science and Modeling. (3)



CS 151L. Computer Programming Fundamentals for Non-Majors. (3)



CS 152L. Computer Programming Fundamentals. (3)



CS 241L. Data Organization. (3)



CS 251L. Intermediate Programming. (3)



CS 259L. Data Structures with JAVA. (5)



CS 261. Mathematical Foundations of Computer Science. (3)



CS 293. Social and Ethical Issues in Computing. (1)



CS 341L. Introduction to Computer Architecture and Organization. (3)



CS 351L. Design of Large Programs. (4)



CS 357L. Declarative Programming. (3)



CS 361L. Data Structures and Algorithms. (3)



CS 362. Data Structures and Algorithms II. (3)



CS 365. Introduction to Scientific Modeling. (3)



CS *375. Introduction to Numerical Computing. (3)



CS 390. Topics in Computer Science for Non-Majors-Undergraduate. (1-3, no limit Δ)



CS 412. Introduction to Computer Graphics: Scanline Algorithms. (3)



CS 422 / 522. Digital Image Processing. (3)



CS **423. Introduction to Complex Adaptive Systems. (3)



CS 427 / 527. Principles of Artificially Intelligent Machines. (3)



CS 429 / 529. Introduction to Machine Learning. (3)



CS 442 / 542. Introduction to Parallel Processing. (3)



CS 444 / 544. Introduction to Cybersecurity. (3)



CS 454 / 554. Compiler Construction. (3)



CS 456 / 556. Advanced Declarative Programming. (3)



CS **460. Software Engineering. (3)



CS 464 / 564. Introduction to Database Management. (3)



CS 467 / 567. Principles and Applications of Big Data. (3)



CS 468 / 568. Computational Modeling for Bioengineering. (3)



CS *471. Introduction to Scientific Computing. (3)



CS **481. Computer Operating Systems. (3)



CS **485. Introduction to Computer Networks. (3)



CS 491. Special Topics-Undergraduates. (1-6 to a maximum of 12 Δ)



CS 495 / 595. Advanced Topics in Computer Science. (3, no limit Δ)



CS 499. Individual Study-Undergraduate. (1-3 to a maximum of 6 Δ)



CS 500. Introduction to the Theory of Computation. (3)



CS 506. Computational Geometry. (3)



CS 510. Mobile Computing. (3)



CS 512. Introduction to Computer Graphics. (3)



CS 518. Introduction to Bioinformatics. (3)



CS 520. Topics in Interdisciplinary Biological and Biomedical Sciences. (3, no limit Δ)



CS 521. Data Mining Techniques. (3)



CS 522 / 422. Digital Image Processing. (3)



CS 523. Complex Adaptive Systems. (3)



CS 527 / 427. Principles of Artificially Intelligent Machines. (3)



CS 529 / 429. Introduction to Machine Learning. (3)



CS 530. Geometric and Probabilistic Methods in Computer Science. (3)



CS 533. Experimental Methods in Computer Science. (3)



CS 542 / 442. Introduction to Parallel Processing. (3)



CS 544 / 444. Introduction to Cybersecurity. (3)



CS 547. Neural Networks. (3)



CS 550. Programming Languages and Systems. (3)



CS 551. Individual Study-Graduate. (1-3 to a maximum of 6 Δ)



CS 554 / 454 [554]. Compiler Construction. (3)



CS 555. Advanced Topics in Compiler Construction. (3)



CS 556 / 456. Advanced Declarative Programming. (3)



CS 558. Software Foundations. (3)



CS 561. Algorithms/Data Structure. (3)



CS 564 / 464. Introduction to Database Management. (3)



CS 565. Topics in Database Management. (3)



CS 567 / 467. Principles and Applications of Big Data. (3)



CS 568 / 468. Computational Modeling for Bioengineering. (3)



CS 575. Introductory Numerical Analysis: Numerical Linear Algebra. (3)



CS 580. The Specification of Software Systems. (3)



CS 581. Fundamentals of Software Testing. (3)



CS 583. Object Oriented Testing. (3)



CS 585. Computer Networks. (3)



CS 587. Advanced Operating Systems. (3)



CS 590. Topics in Computer Science for Non-Majors-Graduate. (1-3, no limit Δ)



CS 591. Special Topics-Graduate. (1-6, no limit Δ)



CS 592. Colloquium. (1, may be repeated three times Δ)



CS 595 / 495. Advanced Topics in Computer Science. (3, no limit Δ)



CS 599. Master's Thesis. (1-6, no limit Δ)



CS 600. Computer Science Research Practicum. (3)



CS 650. Reading and Research. (3, may be repeated once Δ)



CS 691. Seminar in Computer Science. (1-6 to a maximum of 12 Δ)



CS 699. Dissertation. (3-12, no limit Δ)



[]

Course Search:




Keyword Search:

Office of the Registrar

MSC11 6325
1 University of New Mexico
Albuquerque, NM 87131

Phone: (505) 277-8900
Fax: (505) 277-6809