Skip navigation.
New Mexico State University
Undergraduate Catalog
2009-2010

COLLEGE of ARTS and SCIENCES

COMPUTER SCIENCE

Professor Enrico Pontelli, department head

Professors Leung, Ranjan; Associate Professors Cook, Pivkina, Tran; Assistant Professors Gianella, He, Pfeiffer,Song, Villaverde; College Professor Steiner

(575) 646-3723

DEGREE: Bachelor of Science

MAJOR: Computer Science

MINORS:

  • Algorithm Theory
  • Bioinformatics
  • Computer Systems
  • Software Development

The undergraduate computer science program prepares students for graduate study in computer science and for employment in positions involving the design, construction, and application of computer systems. Students should review their programs of study in consultation with their advisors each semester, preferably using the most recent Undergraduate Catalog. The department also offers a minor degree, with specialized tracks in algorithm theory, bioinformatics, computer systems, and software development. For more information on the Department of Computer Science, please visit the web site www.cs.nmsu.edu.

DEGREE: Bachelor of Science

MAJOR: Computer Science

General Requirements Exception

A grade of at least C must be earned in each of the courses taken to satisfy the departmental and nondepartmental requirements. No course may be counted as satisfying both a departmental and a nondepartmental requirement. No course taken to satisfy either a departmental or a nondepartmental requirement may be taken S/U.

Departmental Requirements (54-56 credits)

C S 171G, Introduction to Computer Science 4
C S 271, Object-Oriented Programming 4
C S 272, Introduction to Data Structures 4
C S 273, Machine Programming and Organization 4
C S or MATH 278, Discrete Mathematics for Computer Science 4
C S 370, Compilers and Automata Theory 4
C S 371, Software Development 4
C S 372, Data Structures and Algorithms 4
C S 448, Senior Project, or C S 449, Senior Thesis 4
C S 471, Programming Language Structure I 3
C S 473, Architectural Concepts I 3
C S 474, Operating Systems I 3
  • Two of the following: C S 451, Functional Programming; C S 461, Logic and Constraint Logic Programming; C S 475, Artificial Intelligence I; C S 476, Computer Graphics I; C S 481, Visual Programming; C S 482, Database Management Systems I; C S 483, Introduction to Robotics; C S 484, Computer Networks I; C S 485, User Interface Design; C S 486, Bioinformatics; C S 491, Parallel Programming; C S 492, Computer Systems Modeling and Simulation 6*
  • One of the following: C S 451, Functional Programming; C S 461, Logic and Constraint Logic Programming; C S 475, Artificial Intelligence I; C S 476, Computer Graphics I; C S 482, Database Management Systems I; C S 483, Introduction to Robotics; C S 484, Computer Networks I, C S 485, User Interface Design; C S 486, Bioinformatics; C S 491, Parallel Programming or MATH 291G, Calculus and Analytical Geometry; C S 492, Computer Systems Modeling and Simulation; MATH 377, Introduction to Numerical Methods; MATH 430, Combinatorial Mathematics; MATH 454, Mathematical Logic; MATH 480, Vector Spaces and Matrix Algebra or E E 464, Software Engineering 1; E E 466, Modern Digital System Design, E E 467, High Performance Computers; or BIOL 111G/111L, Natural History of Life/ Lab; BIOL 211G/211L, Cellular and Organismal Biology/Lab; or CHEM 111G, General Chemistry I; CHEM 112G, General Chemistry II; CHEM 114, General Chemistry for Engineers; or PHYS 216G/216GL, Engineering Physics/Lab 3-5*

Nondepartmental Requirements (29-39 credits)

COMM 253G, Public Speaking, or COMM 265G, Principles of Human Communication, or HON 265G, Principles of Human Communication 3
ENGL 218G, Technical and Scientific Communication, or ENGL 311G, Advanced Composition, or ENGL 318G, Advanced Technical and Professional Communication 3
Second Language: Any 112G/113 foreign language course (may require a 111 course as a prerequisite), or a departmental waiver acknowledging existing proficiency in a foreign language 0-8
MATH 280, Introduction to Linear Algebra, or MATH 480, Vector Spaces and Matrix Algebra 3
MATH 191G-192, Calculus and Analytic Geometry I, II 6
  • One of the following: MATH 331, Introduction to Modern Algebra; MATH 332, Introduction to Analysis; MATH 377, Introduction to Numerical Methods; MATH 392, Introduction to Ordinary Differential Equations; MATH 430, Combinatorial Mathematics; MATH 431, Algebraic Coding Theory; MATH 454, Mathematical Logic; MATH 455, Elementary Number Theory 3*
STAT 470, Probability: Theory and Application, or STAT 371, Statistics for Engineers and Scientists I 3-4
  • Two lab science courses: PHYS 215G/215GL, Engineering Physics I/Lab; and one of the following: ASTR 110G, Introduction to Astronomy; BIOL 111G/111L, Natural History of Life/Lab; BIOL 211G/211L, Cellular and Organismal Biology/Lab; or CHEM 111G, General Chemistry I; CHEM 112G, General Chemistry II; CHEM 114, General Chemistry for Engineers; or PHYS 216G/216GL, Engineering Physics II/Lab 8-9*
  • *A course can satisfy only one requirement.

A Suggested Plan of Study for Students

The following plan applies to students who qualify to take MATH 191G.

Freshman Year (30 credits)

C S 171G, Introduction to Computer Science 4
C S 272, Introduction to Data Structures 4
C S 278, Discrete Structures 4
ENGL 111G, Rhetoric and Composition 4
Foreign Language 111-112 8
AREA V: Humanities and Fine Arts** 3
MATH 191G, Calculus I 3

Sophomore Year (34 credits)

C S 271, Object Oriented Programming 4
C S 273, Machine Programming and Organization 4
C S 371, Software Development 4
AREA V: Humanities and Fine Arts** 3
AREA IV: Social/Behavioral Sciences** 3
MATH 192G, Calculus II 3
MATH 280 or Math 480 3
PHYS 215G, Engineering Physics 3
PHYS 215GL, Engineering Physics Laboratory 1

Junior Year (32 credits)

C S 370, Compiler Construction 4
C S 372, Data Structures 4
C S 471, Programming Languages I 3
C S 473. Architectural Concepts I 3
Computer Science Elective* 3
AREA IV: Social/Behavioral Sciences** 3
COMM 265G, Principles of Human Communication 3
AREA V: Humanities and Fine Arts** 3
ENGL 218G, Technical and Scientific Communication or ENGL 318G, Advanced Technical and Professional Communication 3
STAT 371, Statistics for Engineers and Scientists; or STAT 470, Probability: Theory and Applications 3
Viewing a Wider World** 3

Senior Year (33 credits)

C S 448: Senior Project 4
C S 474 - Operating Systems I 3
Computer Science Elective* 3
C S / MATH / E E / Science Elective* (upper division) 3
Math elective* (upper division) 3
Lab science elective* (for example ASTR 110G, Introduction to Astronomy; or BIOL 111G, Natural History of Life ) 4
Viewing a Wider World** 3
Upper division electives to bring total upper division to 48 3-8
Additional electives as needed to bring total credits to 128
  • * See Lists Above
  • ** New Mexico State Common Core Requirements

Students planning to undertake graduate work in computer science are encouraged to consult with their advisor regarding the possibility of taking other computer science electives to satisfy their departmental requirements.

MINOR: Algorithm Theory (22-23 credits)

C S 171G, Introduction to Computer Science 4
C S 272, Introduction to Data Systems 4
C S 278, Discrete Mathematics for Computer Science; or any of MATH 278, Discrete Mathematics for Computer Science; MATH 279, Introduction to Finite Mathematics; or MATH 330, Discrete Mathematics 3-4
C S 370, Compilers and Automata Theory 4
C S 372, Data Structures and Algorithms. 4
Appropriate advanced upper division Computer Science or Mathematics course approved by Computer Science undergraduate advisor 3

MINOR: Bioinformatics (26-27 credits)

BIOL 211 and BIOL 211 L, Cellular and Organismal Biology 4
C S 171G, Introduction to Computer Science 4
C S 272, Introduction to Data Structures 4
C S 370, Compilers and Automata Theory, or CS 371, Software Development 4
C S 372, Data Structures and Algorithms 4
C S 486, Bioinformatics 3
One of: C S 461, Logic Programming; C S 482, Database Management Systems I: C S 491, Parallel Programming; BIOL 305, Principles of Genetics; CHEM 433, Physical Chemistry I; MATH 331, Introduction to Modern Algebra; MOLB 470, Bioinformatics and Genome Analysis; or PHYS 315, Modern Physics 3-4

MINOR: Computer Systems (25-26 credits)

C S 171G, Introduction to Computer Science 4
C S 271, Introduction to Object-Oriented Programming, or C S 272, Introduction to Data Structures 4
C S 273, Machine Programming and Organization 4
C S 278, Discrete Mathematics for Computer Science; or any of MATH 278, Discrete Mathematics for Computer Science; MATH 279, Introduction to Finite Mathematics; or MATH 330, Discrete Mathematics 3-4
C S 370, Compilers and Automata Theory, or C S 371, Software Development. 4
C S 473, Architectural Concepts I, or C S 474, Operating Systems I 3
C S 476, Computer Graphics I, or C S 484, Computer Networks I, or C S 491, Parallel Programming 3

MINOR: Software Development (21-23 credits)

C S 171G, Introduction to Computer Science 4
C S 271, Object-Oriented Programming, or C S 272, Introduction to Data Structures 4
C S 278, Discrete Mathematics for Computer Science; or any of MATH 278, Discrete Mathematics for Computer Science; MATH 279, Introduction to Finite Mathematics; or MATH 330, Discrete Mathematics 3-4
C S 371, Software Development. 4
Two of: C S 370, Compilers and Automata Theory; C S 451, Functional Programming; C S 461, Logic Programming; C S 474, Operating Systems I; C S 475, Artificial Intelligence I; C S 476, Computer Graphics I; C S 482, Database Management Systems I; C S 484, Computer Networks I; C S 485, User Interface Design; and/or C S 490, Parallel Computing 6-7

Note: A student cannot earn more than one of these minors unless he/she passes at least 6 credits in the second minor beyond the requirements of the first minor. The maximum number of these minors that a student may earn is two. Most courses for the minors listed above have prerequisites. Please check the undergraduate catalog for individual course prerequisites.

Students interested in pursuing a computer science minor are encouraged to pick up more information at the departmental office.