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.
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:
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.
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.
• 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.
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.
• Engineering/System Building Methods: CS 554, 580, 585, 587.
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.
In addition to all Graduate Studies requirements for the Ph.D. degree the department also requires the following:
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.
Students are also required to complete a language requirement by taking at least one of the following:
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)
Introduction to Computer Programming is a gentle and fun introduction. Students will use a modern Integrated Development Environment to author small programs in a high level language that do interesting things.
CS 108L. Computer Science for All: An Introduction to Computational Science and Modeling. (3)
This course offers an introduction to computer science through modeling and simulation. Students will learn agent-based modeling of complex systems and see the applicability of computer science across fields. Course cannot apply to major in Computer Science or any other major in the School of Engineering.
Meets New Mexico General Education Curriculum Area 3: Physical and Natural Sciences.
CS 152L. Computer Programming Fundamentals. (3)
Introduction to the art of computing. The course objectives are understanding relationships between computation, problem solving, and programming using high-level languages.
Prerequisite: 105L or 108L or ECE 131L.
CS 241L. Data Organization. (3)
Data representation, storage and manipulation. Covers the memory organization of data storage and its relation to computation and efficiency. Topics include: linked vs. contiguous implementations, memory management, the use of indices and pointers, and an introduction to issues raised by the memory hierarchy. Programming assignments in C provide practice with programming styles that yield efficient code and computational experiments investigate the effect of storage design choices on the running time of programs.
Prerequisite: 152L with a grade of "B-" or better or 259L with a grade of "C" or better.
CS 251L. Intermediate Programming. (3)
An introduction to the methods underlying modern program development. Specific topics will include object-oriented design and the development of graphical user interfaces. Programming assignments will emphasize the use of objects implemented in standard libraries. Three lectures, 1 hr. recitation.
Prerequisite: 152L with a grade of "B-" or better.
CS 259L. Data Structures with JAVA. (5)
An accelerated course covering the material of 151L and 251L in one semester. Topics include elementary data structures and their implementation, recursive procedures, data abstraction and encapsulation, and program organization and verification. Programs will be written in JAVA. Credit not allowed for both 259L and 151L/251L.
CS 261. Mathematical Foundations of Computer Science. (3)
Introduction to the formal mathematical concepts of computer science for the beginning student. Topics include elementary logic, induction, algorithmic processes, graph theory and models of computation.
Prerequisite: (MATH 1240 with a grade of "A" or better) or (MATH 1512 with a grade of "B-" or better).
CS 293. Social and Ethical Issues in Computing. (1)
Overview of philosophical ethics, privacy and databases, intellectual property, computer security, computer crime, safety and reliability, professional responsibility and codes, electronic communities and the Internet, and social impact of computers. Students make oral presentations and produce written reports.
CS 341L. Introduction to Computer Architecture and Organization. (3)
Survey of various levels of computer architecture and design: microprogramming and processor architecture, advanced assembly language programming, operating system concepts and input/output via the operating system.
Prerequisite: 241L with a grade of "C" or better and ECE 238L with a grade of "C" or better.
Restriction: admitted to School of Engineering.
CS 351L. Design of Large Programs. (4)
A projects course with emphasis on object-oriented analysis, design and programming. Also discussed are programming language issues, programming tools and other computer science concepts as needed to do the projects (e.g., discrete-event simulation, parsing).
Prerequisite: 241L with a grade of "C" or better and (251L with a grade of "C" or better or 259L with a grade of "C" or better) and 261 with a grade of "C" or better.
Restriction: admitted to School of Engineering.
CS 357L. Declarative Programming. (3)
Course focuses on one of the declarative programming paradigms: functional, logic, or constraint programming. Specialized techniques are introduced with a view towards general principles. Selected advanced topics in programming language design and implementation are covered.
Prerequisite: 241L with a grade of "C" or better and (251L with a grade of "C" or better or 259L with a grade of "C" or better) and 261 with a grade of "C" or better.
Restriction: admitted to School of Engineering.
CS 361L. Data Structures and Algorithms. (3)
An introduction to data structures and algorithms and the mathematics needed to analyze their time and space complexity. Topics include asymptotic notation, recurrence relations and their solution, sorting, hash tables, basic priority queues, search trees (including at least one balanced structure) and basic graph representation and search. Students complete a term project that includes an experimental assessment of competing data structures.
Prerequisite: 241L with a grade of "C" or better and 261 with a grade of "C" or better.
Restriction: admitted to School of Engineering.
CS 362. Data Structures and Algorithms II. (3)
A continuation of 361L with an emphasis on design of algorithms. Topics include: amortized analysis and self-adjusting data structures for trees and priority queues; union-find; minimum spanning tree, shortest path and other graph algorithms; elementary computational geometry; greedy and divide-and-conquer paradigms.
Prerequisite: 361L with a grade of "C" or better.
Restriction: admitted to School of Engineering.
CS 365. Introduction to Scientific Modeling. (3)
Symbolic computation applied to scientific problem solving, modeling, simulation and analysis.
Prerequisite: 152L.
Restriction: admitted to School of Engineering.
CS *375. Introduction to Numerical Computing. (3)
(Also offered as MATH **375)
An introductory course covering such topics as solution of linear and nonlinear equations; interpolation and approximation of functions, including splines; techniques for approximate differentiation and integration; solution of differential equations; familiarization with existing software.
Prerequisite: Math 2531 or CS 261
Restriction: admitted to School of Engineering.
CS 390. Topics in Computer Science for Non-Majors-Undergraduate. (1-3, no limit Δ)
This course is intended to provide students in other disciplines with an opportunity to study aspects of modern computer science, tailored to their own field of study.
CS 412. Introduction to Computer Graphics: Scanline Algorithms. (3)
(Also offered as ECE 412)
This course is an introduction to the technical aspects of raster algorithms in computer graphics. Students will learn the foundational concepts of 2-D and 3-D graphics as they relate to real-time and offline techniques. Students will develop a video game as a final project to demonstrate the algorithms learned in class.
Prerequisite: 361L or ECE **331.
Restriction: admitted to School of Engineering.
{Fall}
CS 422 / 522. Digital Image Processing. (3)
Introduction to fundamentals of digital image processing. Specific topics include grey level histograms, geometric/grey level transformations, linear systems theory, Fourier transforms, frequency domain filtering, wavelet transforms, image compression, edge detection, color vision, and binary image morphology.
Prerequisite: MATH **314 or MATH **321.
Restriction: admitted to School of Engineering.
CS **423. Introduction to Complex Adaptive Systems. (3)
Introduces topics in complex adaptive systems, including: definitions of complexity, fractals, dynamical systems and chaos, cellular automata, artificial life, game theory, neural networks, genetic algorithms and network models. Regular programming projects are required.
Prerequisite: 251L and MATH 1512.
Restriction: admitted to School of Engineering.
CS 427 / 527. Principles of Artificially Intelligent Machines. (3)
Survey of artificial intelligence exclusive of pattern recognition. Heuristic search techniques, game playing, mechanical theorem proving, additional topics selected by the instructor.
Prerequisite: 351L.
Restriction: admitted to School of Engineering.
CS 429 / 529. Introduction to Machine Learning. (3)
Introduction to principles and practice of systems that improve performance through experience. Topics include statistical learning framework, supervised and unsupervised learning, Bayesian analysis, time series analysis, reinforcement learning, performance evaluation and empirical methodology; design tradeoffs.
Prerequisite: 362 and STAT **345 and (MATH **314 or MATH **321).
Restriction: admitted to School of Engineering.
CS 442 / 542. Introduction to Parallel Processing. (3)
Introduction to parallel scientific and data intensive programming architectures and systems. Performance issues, speed-up and efficiency. Parallel programming issues and models: control parallel, data parallel and data flow. Programming assignments on massively parallel machines.
Prerequisite: 341L or *471 or 467 or MATH *471.
CS 444 / 544. Introduction to Cybersecurity. (3)
This class will focus on proactive security, i.e. designing networks, algorithms and data structures which are provably robust to attack. Grades will be based on class participation, presentations, and class projects.
Restriction: admitted to School of Engineering.
CS 454 / 554. Compiler Construction. (3)
Syntax analysis and semantic processing for a block-structured language. Lexical analysis, symbol tables, run-time management. Students will write a compiler.
CS 456 / 556. Advanced Declarative Programming. (3)
Continued study in one of the declarative programming paradigms: functional, logic, or constraint programming. Specialized techniques are introduced with a view towards general principles.
Prerequisite: 357L.
Restriction: admitted to School of Engineering.
CS **460. Software Engineering. (3)
Software engineering principles will be discussed and applied to a large team developed project. Other topics relevant to the production of software will also be covered, including ethics, legalities, risks, copyrights and management issues.
Prerequisite: 351L with a grade of "C" or better.
Restriction: admitted to School of Engineering.
CS 464 / 564. Introduction to Database Management. (3)
Introduction to database management systems. Emphasis is on the relational data model. Topics covered include query languages, relational design theory, file structures and query optimization. Students will implement a database application using a nonprocedural query language interfaced with a host programming language.
Restriction: admitted to School of Engineering.
CS 467 / 567. Principles and Applications of Big Data. (3)
This course explores data analysis and management techniques, which applied to massive datasets are the cornerstone that enable real-time decision making in distributed environments, business intelligence, and scientific discovery at large scale.
Restriction: admitted to School of Engineering.
CS 468 / 568. Computational Modeling for Bioengineering. (3)
(Also offered as BME 568)
An interdisciplinary study of Python programming, kinetic modeling of chemical reactions, illustrated by computational applications in bioengineering, in particular, the modeling and design of genetic regulatory networks.
CS *471. Introduction to Scientific Computing. (3)
(Also offered as MATH *471)
Parallel programming, performance evaluation. Error analysis, convergence, stability of numerical methods. Applications such as N-body problem, heat transfer, wave propagation, signal processing, Monte-Carlo simulations. C, C++, or FORTRAN skills required. Prerequisite: ( MATH **314 or **316 or **321) and (MATH **375 or CS *375).
Restriction: admitted to School of Engineering.
CS **481. Computer Operating Systems. (3)
(Also offered as ECE *437)
Fundamental principles of modern operating systems design, with emphasis on concurrency and resource management. Topics include processes, interprocess communication, semaphores, monitors, message passing, input/output device, deadlocks memory management, files system design.
Prerequisite: 341L or ECE **331.
Restriction: admitted to School of Engineering.
CS **485. Introduction to Computer Networks. (3)
(Also offered as ECE *440)
Theoretical and practical study of computer networks, including network structures and architectures. Principles of digital communications systems. Network topologies, protocols and services. TCP/IP protocol suite. Point-to-point networks; broadcast networks; local area networks; routing, error and flow control techniques.
Prerequisite: ECE 330.
Pre- or corequisite: ECE **340.
Restriction: admitted to School of Engineering.
CS 491. Special Topics-Undergraduates. (1-6 to a maximum of 12 Δ)
Undergraduate seminars in special topics in computer science.
Restriction: admitted to School of Engineering.
CS 495 / 595. Advanced Topics in Computer Science. (3, no limit Δ)
This course will cover advanced topics in Computer Science.
Restriction: admitted to School of Engineering.
CS 499. Individual Study-Undergraduate. (1-3 to a maximum of 6 Δ)
Guided study, under the supervision of a faculty member, of selected topics not covered in regular courses. At most 3 hours may be applied toward the CS hour requirement.
Restriction: admitted to School of Engineering.
CS 500. Introduction to the Theory of Computation. (3)
Covers basic topics in automata, computability and complexity theory, including: models of computation (finite automata, Turing machines and RAMs); regular sets and expressions; recursive, r.e., and non-r.e. sets and their basic closure properties; complexity classes; determinism vs. non-determinism with and without resource bounds; reductions and completeness; practice with NP- and P-completeness proofs; and the complexity of optimization and approximation problems.
CS 506. Computational Geometry. (3)
Development of algorithms and data structures for the manipulation of discrete geometric objects in two- and three-dimensional space. Typical problems include intersection and union of polyhedra, convex hulls, triangulation, point location, neighborhood structures and path computations.
Prerequisite: 561.
CS 510. Mobile Computing. (3)
Internet and wireless communication are two technologies having a significant impact on the social fabric. This course is concerned with methods and principles for the development of systems that exhibit some form of mobility.
CS 512. Introduction to Computer Graphics. (3)
(Also offered as ECE 512)
Covers image synthesis techniques from perspective of high-end scanline rendering, including physically-based rendering algorithms. Topics: radiometry, stochastic ray tracing, variance reduction, photon mapping, reflection models, participating media, advanced algorithms for light transport.
CS 518. Introduction to Bioinformatics. (3)
(Also offered as BME 518)
This course is designed as an introductory course to bioinformatics. The students will be introduced to the concept of bioinformatics and the basic analysis methods used in bioinformatics.
CS 520. Topics in Interdisciplinary Biological and Biomedical Sciences. (3, no limit Δ)
(Also offered as ANTH 620, BIOL 520, ECE 620, STAT 520)
Varying interdisciplinary topics taught by collaborative scientists from UNM, SFI, and LANL.
CS 521. Data Mining Techniques. (3)
Introductory topics in data mining including: clustering, classification, outlier detection and association-rule discovery. Advanced topics: technologies for data mining, algorithms for mining rich data types and applications of mining algorithms.
CS 522 / 422. Digital Image Processing. (3)
Introduction to fundamentals of digital image processing. Specific topics include grey level histograms, geometric/grey level transformations, linear systems theory, Fourier transforms, frequency domain filtering, wavelet transforms, image compression, edge detection, color vision, and binary image morphology.
Prerequisite: MATH **314 or MATH **321.
CS 523. Complex Adaptive Systems. (3)
A graduate introduction to computational tools to measure, simulate and analyze complexity in biological and social systems. Topics include cellular automata, dynamical systems, genetic algorithms and other biologically inspired computational methods. Programming maturity is required.
CS 527 / 427. Principles of Artificially Intelligent Machines. (3)
Survey of artificial intelligence exclusive of pattern recognition. Heuristic search techniques, game playing, mechanical theorem proving, additional topics selected by the instructor.
Prerequisite: 351L.
CS 529 / 429. Introduction to Machine Learning. (3)
Introduction to principles and practice of systems that improve performance through experience. Topics include statistical learning framework, supervised and unsupervised learning, Bayesian analysis, time series analysis, reinforcement learning, performance evaluation and empirical methodology; design tradeoffs.
Prerequisite: 362 or 530 or 561.
CS 530. Geometric and Probabilistic Methods in Computer Science. (3)
Introduction to applied mathematics for computer scientists. Specific topics include discrete and continuous random variables (including transformation and sampling), information theory, Huffman coding, Markov processes, linear systems theory, Fourier transforms, principal component analysis, and wavelet transforms.
Prerequisite: STAT 345.
CS 533. Experimental Methods in Computer Science. (3)
An introduction to experimental methods in Computer Science.
CS 542 / 442. Introduction to Parallel Processing. (3)
Introduction to parallel scientific and data intensive programming architectures and systems. Performance issues, speed-up and efficiency. Parallel programming issues and models: control parallel, data parallel and data flow. Programming assignments on massively parallel machines.
Prerequisite: 341L or *471 or 567 or MATH *471.
CS 544 / 444. Introduction to Cybersecurity. (3)
This class will focus on proactive security, i.e. designing networks, algorithms and data structures which are provably robust to attack. Grades will be based on class participation, presentations, and class projects.
CS 550. Programming Languages and Systems. (3)
Current trends in design and philosophy of languages and systems. Data abstraction, data flow languages, alternative control structures, environments, correctness, software tools.
Prerequisite: 558.
CS 551. Individual Study-Graduate. (1-3 to a maximum of 6 Δ)
Guided study, under the supervision of a faculty member, of selected topics not covered in regular courses.
Restriction: permission of instructor.
CS 554 / 454. Compiler Construction. (3)
Syntax analysis and semantic processing for a block-structured language. Lexical analysis, symbol tables, run-time management. Students will write a compiler.
Prerequisite: 341L and 351L.
CS 555. Advanced Topics in Compiler Construction. (3)
Aspects needed to write production quality compilers. Optimization, error recovery, parse table compression, semantic processing of complex data structures, type checking, run-time support, code generation, compiler-writing systems.
Prerequisite: 454 or 554.
CS 556 / 456. Advanced Declarative Programming. (3)
Continued study in one of the declarative programming paradigms: functional, logic, or constraint programming. Specialized techniques are introduced with a view towards general principles.
Prerequisite: 558.
CS 558. Software Foundations. (3)
Introduction to modern programming techniques and programming language features and the theory used to describe and define programming languages, using types as the organizational principle.
CS 561. Algorithms/Data Structure. (3)
Study of data structures and algorithms and mathematics needed to analyze their time and space complexity. Topics include: amortized analysis and self-adjusting data structures for trees and priority queues, graphing algorithms, greedy and divide-and-conquer paradigms.
CS 564 / 464. Introduction to Database Management. (3)
Introduction to database management systems. Emphasis is on the relational data model. Topics covered include query languages, relational design theory, file structures and query optimization. Students will implement a database application using a nonprocedural query language interfaced with a host programming language.
Prerequisite: 561.
CS 565. Topics in Database Management. (3)
A continuation of 464/564 with emphasis on query optimization, leading-edge data models, transaction management and distributed databases. Additional topics determined by student interests.
Prerequisite: 564.
CS 567 / 467. Principles and Applications of Big Data. (3)
This course explores data analysis and management techniques, which applied to massive datasets are the cornerstone that enable real-time decision making in distributed environments, business intelligence, and scientific discovery at large scale.
CS 568 / 468. Computational Modeling for Bioengineering. (3)
(Also offered as BME 568)
An interdisciplinary study of Python programming, kinetic modeling of chemical reactions, illustrated by computational applications in bioengineering, in particular, the modeling and design of genetic regulatory networks.
CS 575. Introductory Numerical Analysis: Numerical Linear Algebra. (3)
(Also offered as MATH 504)
Direct and iterative methods of the solution of linear systems of equations and least squares problems. Error analysis and numerical stability. The eigenvalue problem. Descent methods for function minimization, time permitting.
Prerequisite: MATH 464 or MATH 514.
{Spring}
CS 580. The Specification of Software Systems. (3)
A comparative study of the techniques used to specify software systems. The course will emphasize formal techniques and will cover the specification of sequential and concurrent systems. Although no programming will be required, students will be required to write specifications for several small software systems.
Prerequisite: 460.
CS 585. Computer Networks. (3)
A theoretical and practical study of computer networks, including network structures and architectures; protocols and protocol hierarchies; error handling; routing; reliability; point-to-point networks; broadcast networks; local area networks; efficiency and throughput; communications technologies; case studies.
CS 587. Advanced Operating Systems. (3)
Theory of design of operating systems. Modeling, simulation, synchronization, concurrency, process hierarchies, networks and distributed systems.
CS 590. Topics in Computer Science for Non-Majors-Graduate. (1-3, no limit Δ)
This course is intended to provide students in other disciplines with an opportunity to study aspects of modern computer science, tailored to their own field of study.
Restriction: permission of instructor.
CS 591. Special Topics-Graduate. (1-6, no limit Δ)
Graduate seminars in special topics in computer science.
Restriction: permission of instructor.
CS 592. Colloquium. (1, may be repeated three times Δ)
Required of all graduate students. May be repeated, with at most 2 credits towards the M.S. requirements and at most 2 further credits towards the Ph.D. requirements. Students will write a short essay on the topic of one or more of the colloquia offered that semester.
Offered on a CR/NC basis only.
CS 595 / 495. Advanced Topics in Computer Science. (3, no limit Δ)
This course will cover advanced topics in Computer Science.
CS 599. Master's Thesis. (1-6, no limit Δ)
Faculty-supervised investigative study that results in the development and writing of a master’s thesis.
Offered on a CR/NC basis only.
CS 600. Computer Science Research Practicum. (3)
Develop and practice the skills required to conduct an independent research project. Intended for graduate students pursuing a Ph.D. in Computer Science.
Restriction: admitted to Ph.D. Computer Science.
CS 650. Reading and Research. (3, may be repeated once Δ)
A faculty-supervised course culminating in a comprehensive paper or research proposal that integrates knowledge attained through coursework, research, and experience.
Restriction: permission of instructor.
CS 691. Seminar in Computer Science. (1-6 to a maximum of 12 Δ)
Course emphasizes investigation, evaluation, and discussion of areas of specialized knowledge or inquiry relevant to the profession or field of study.
Restriction: permission of instructor.
CS 699. Dissertation. (3-12, no limit Δ)
Faculty-supervised investigative study that results in the development and writing of a doctoral dissertation.
Offered on a CR/NC basis only.