Computer Science - Bachelor of Science

The Bachelor of Science in Computer Science is the traditional undergraduate degree in Computer Science. It is rigorously focused on educating the student in the fundamental disciplines of Computer Science. It prepares the student for any technological field in industry, and also provides the preparation for graduate studies in Computer Science. It is the main undergraduate degree in the Computer Science department, and should be the choice of a single-major Computer Science student. This degree is accredited by the ABET Computing Accreditation Commission (CAC) under the General and Computer Science Program Criteria (through 9/30/2022).

General Requirements Exception

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

Requirements

Departmental Requirements
C S 172Computer Science I4
C S 271Object Oriented Programming4
C S 272Introduction to Data Structures4
C S 273Machine Programming and Organization4
C S 278Discrete Mathematics for Computer Science4
C S 370Compilers and Automata Theory4
C S 371Software Development4
C S 372Data Structures and Algorithms4
C S 419Computing Ethics and Social Implications of Computing1
C S 448Senior Project4
or C S 449 Senior Thesis
C S 471Programming Language Structure I3
C S 473Architectural Concepts I3
C S 474Operating Systems I3
Select 6 credits from the following: 16
Artificial Intelligence I3
Computer Graphics I3
Digital Game Design3
Computer Security3
Special Topics 21-6
Linux System Administration3
Visual Programming3
Database Management Systems I3
Introduction to Robotics3
Computer Networks I3
User Interface Design3
Bioinformatics3
Introduction to Data Mining3
Parallel Programming3
Introduction to Smart Grids3
Non-departmental Requirements
MATH 280Introduction to Linear Algebra3
or MATH 480 Matrix Theory and Applied Linear Algebra
MATH 191GCalculus and Analytic Geometry I4
MATH 192GCalculus and Analytic Geometry II4
Select one from the following:3
Public Speaking3
Principles of Human Communication3
Principles of Human Communication Honors3
Select one from the following:3
Technical and Scientific Communication3
Advanced Composition3
Advanced Technical and Professional Communication3
Select one from the following:3
Introduction to Modern Algebra3
Introduction to Analysis3
Introduction to Numerical Methods3
Introduction to Ordinary Differential Equations3
Combinatorial Mathematics3
Mathematical Logic3
Elementary Number Theory3
Select one from the following:3
Statistical Applications3
Statistics for Engineers and Scientists I3
Probability: Theory and Applications3
Lab Science Courses
List 1:
Select two from the following: 18
Introduction to Astronomy4
Natural History of Life
and Natural History of Life Laboratory
4
Cellular and Organismal Biology
and Cellular and Organismal Biology Laboratory
4
General Chemistry I4
General Chemistry II4
Geography of the Natural Environment4
Introductory to Geology4
Life, Energy, and Evolution4
Earth, Time, and Life4
General Physics I
and General Physics I Laboratory
4
General Physics II
and General Physics II Laboratory
4
Engineering Physics I
and Engineering Physics I Laboratory
4
Engineering Physics II
and Engineering Physics II Laboratory
4
List 2:
Select one from the following: 14
Natural History of Life
and Natural History of Life Laboratory
4
Cellular and Organismal Biology
and Cellular and Organismal Biology Laboratory
4
General Chemistry I4
General Chemistry II4
Life, Energy, and Evolution4
General Physics I
and General Physics I Laboratory
4
General Physics II
and General Physics II Laboratory
4
Mechanics
and Experimental Mechanics
4
Electricity and Magnetism
and Electricity and Magnetism Laboratory
4
Engineering Physics I
and Engineering Physics I Laboratory
4
Engineering Physics II
and Engineering Physics II Laboratory
4
Total Credits87
1

A course can satisfy only one requirement.

2

Must be taken for 3 credits to count as a course.

A Suggested Plan of Study for Students

The following plan applies to students who qualify to take MATH 191G Calculus and Analytic Geometry I.

Plan of Study Grid
FreshmanCredits
C S 172 Computer Science I 4
C S 271 Object Oriented Programming 4
C S 273 Machine Programming and Organization 4
ENGL 111G Rhetoric and Composition 4
MATH 191G Calculus and Analytic Geometry I 4
MATH 192G Calculus and Analytic Geometry II 4
Area IV: Social/ Behavioral Sciences 3 3
Area V: Humanities and Fine Arts 3 3
 Credits30
Sophomore
C S 272 Introduction to Data Structures 4
C S 278 Discrete Mathematics for Computer Science 4
C S 370 Compilers and Automata Theory 4
C S 372 Data Structures and Algorithms 4
COMM 265G Principles of Human Communication 3
ENGL 218G Technical and Scientific Communication 3
MATH 280
Introduction to Linear Algebra
or Matrix Theory and Applied Linear Algebra
3
Area IV: Social/ Behavioral Sciences 3 3
Area V: Humanities and Fine Arts 3 3
Select one from the following: 3
Statistical Applications  
Statistics for Engineers and Scientists I  
Probability: Theory and Applications  
 Credits34
Junior
C S 371 Software Development 4
C S 471 Programming Language Structure I 3
C S 473 Architectural Concepts I 3
Computer Science 400-level Elective 3
MATH elective (upper division) 4 3
Lab Science Elective 4 4
Lab Science Elective 4 4
Area IV & Area V 3 3
Viewing a Wider World 3
Viewing a Wider World 3
 Credits33
Senior
C S 448 Senior Project 4
C S 419 Computing Ethics and Social Implications of Computing 1
C S 474 Operating Systems I 3
Lab Science Elective 4 4
Computer Science 400-level Elective 4 3
Upper division electives to bring total upper division to 48 4  
Electives as needed to meet minimum credit requirements 4  
 Credits15
 Total Credits112
3

AREA IV: Social/ Behavioral Sciences and AREA V: Humanities and Fine Arts: New Mexico State Common Core Requirements

4

For electives see lists above.

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.