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

COLLEGE of ARTS and SCIENCES

COMPUTER SCIENCE

Professor Desh Ranjan, department head

Professor Leung, Pontelli; Associate Professors Cook, Hartley, Leung; Tran; Assistant Professors Bhattacharya, He, Pfeiffer, Pivkina, 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 171, Algorithmic Computation4
C S 271, Introduction to Object-Oriented Programming4
C S 272, Introduction to Data Structures4
C S 273, Machine Programming and Organization4
C S or MATH 278, Discrete Structures 4
C S 370, Compilers and Automata Theory4
C S 371, Software Development4
C S 372, Data Structures and Algorithms4
C S 448, Senior Project, or C S 449, Senior Thesis4
C S 471, Programming Language Structure I3
C S 473, Architectural Concepts I3
C S 474, Operating Systems I3
Two of the following: C S 451, Functional Programming; C S 461, 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 Information 6*
One of the following: C S 451, Functional Programming; C S 461, 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 291, Calculus and Analytical Geometry; C S 492, Computer Systems Modeling and Information; 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 111, General Chemistry I; CHEM 112, General Chemistry II; CHEM 114, General Chemistry for Engineers; or PHYS 216/216L, Engineering Physics/Lab3-5*

Nondepartmental Requirements (29-39 credits)

COMM 253G, Public Speaking, or COMM 265G, Principles of Human Communication, or HON 265G, Principles of Human Communication3
ENGL 218G, Technical and Scientific Communication, or ENGL 311G, Advanced Composition, or ENGL 318G, Advanced Technical and Professional Communication3
Second Language: Any 112/113 foreign language course (may require a 111 course as a prerequisite), or a departmental waiver acknowledging existing proficiency in a foreign language8
MATH 280, Introduction to Linear Algebra, or MATH 480, Vector Spaces and Matrix Algebra3
MATH 191-192, Calculus and Analytic Geometry I, II6
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 I4
Two lab science courses: PHYS 215/215L, 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 111, General Chemistry I; CHEM 112, General Chemistry II; CHEM 114, General Chemistry for Engineers; or PHYS 216/216L, 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 191.

Freshman Year (30 credits)

C S 171, Algorithmic Computation4
C S 272, Introduction to Data Structures4
C S 278, Discrete Structures4
ENGL 111G, Rhetoric and Composition4
Foreign Language 111-1128
Historical Perspectives**3
MATH 191, Calculus I3

Sophomore Year (34 credits)

C S 271, Object Oriented Programming4
C S 273, Machine Programming4
C S 371, Software Development4
Liberal Studies***3
Social Analysis**3
Foreign Language 211-2126
MATH 192, Calculus II3
MATH 280 or Math 4803
PHYS 215, Engineering Physics3
PHYS 215L, Engineering Physics Laboratory1

Junior Year (32 credits)

C S 370, Compiler Construction4
C S 372, Data Structures4
C S 471, Programming Languages I3
C S 473. Architectural Concepts I3
Computer Science Elective*3
COMM 265G, Principles of Human Communication3
Human Thought and Behavior**3
ENGL 218G, Technical and Scientific Communication or ENGL 318G, Advanced Technical and Professional Communication3
STAT 371, Statistics for Engineers and Scientists; or STAT 470, Industrial Measurements3
Viewing a Wider World**3

Senior Year (33 credits)

C S 448: Senior Project4
C S 474 - Operating Systems I3
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
Literature or Fine Arts**3
Viewing a Wider World**3
Upper division electives to bring total upper division to 548
Additional electives as needed to bring total credits to8
* See Lists Above
** University General Education Requirements
*** See the College Degree Requirements at the beginning of the Arts and Sciences section of this catalog.

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 171, Algorithmic Computation4
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 4
C S 370, Compilers and Automata Theory4
C S 372, Data Structures and Algorithms.4
Appropriate advanced upper division Computer Science or Mathematics course approved by Computer Science undergraduate advisor3

MINOR: Bioinformatics (26-27 credits)

BIOL 211 and BIOL 211 L, Cellular and Organismal Biology 4
C S 171, Algorithmic Computation4
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 Algorithms4
C S 486, Bioinformatics3
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 Physics4

MINOR: Computer Systems (25-26 credits)

C S 171, Algorithmic Computation4
C S 271, Introduction to Object-Oriented Programming, or C S 272, Introduction to Data Structures4
C S 273, Machine Programming and Organization, or C S/E E 363, Computer System Architecture4
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 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 171, Algorithmic Computation 4
C S 271, Introduction to Object-Oriented Programming, or C S 272, Introduction to Data Structures4
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 Mathematics4
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 Computing7

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.