UNM Computer Science

CS Core Requirements



CS Requirements - 51 hours; 2.0 GPA

CS 152 3
CS 241 3
CS 261 3
EECE 238L 4
CS 251 3
CS 257 3
CS 293 1
CS 341 3
CS 351 4
CS 361L 3
CS 362 3
CS 460 3
CS 481 3
CS Technical Electives 9

Math Requirements - 14 hours

Math 162 4
Math 163 4
Math 314 3
Math 345 3

Writing and Speaking Requirements - 9 hours

English 101 3
English 102 3

and ONE of the following:

C&J 130 3
English 219 3
English 220 3

Social and Behavioral Sciences Requirements - 6 hours

American Studies 182, 185
Anthropology 101, 130
Economics 105, 106
Engineering 200
Geography 102
Linguistics 101
Political Science 110, 200
Psychology 105
Sociology 101

Humanities Requirements - 6 hours

American Studies 186
Classics 107, 204, 205
Comparitive Literature 223, 224
English 150, 292, 293
Modern Languages 101
History 101, 102, 161, 162
Philosophy 101, 201, 202
Religious Studies 107

Foreign Language Requirements - 3 hours

Any lower division non-English course in Linguistics, Spanish, Portuguese, or Foreign Languages & Literature.

Fine Arts Requirements - 3 hours

Art History 101, 201, 202
Dance 105
Media Arts 210
Music 139, 140
Theatre 122

The Fine Arts requirement must be fulfilled with a 3-credit studio in Art, Music, Theatre, Dance, Media Arts. Three 1-credit studio courses do not satisfy the requirement.

Lab Science Requirements - 14 hours

One of the following sequences of laboratory science must be included in the 14 hours:

Astronomy 270, 270L and 271, 271L
Biology 201, 201L and 202, 202L
Chemistry 121, 123L and 122, 124L
EPS 101, 105L and 201L
EnvSi 101-102L and EPS 201L.
Physics 160, 160L, and 161, 161L Physics is recommended.

The two remaining laboratory science classes can be more advanced courses in the discipline chosen for the sequence or they can be introductory laboratory science hours taken from this list.

Laboratory science courses other than those above are subject to the approval of the CS advisor. They must be, at least, at a level such that majors in that discipline earn credit in the course and must have substantial laboratory content.

Minor Requirement

Course work should be sufficient to satisfy requirements for a minor.

Content Area Sequences

CS 152L Computer Programming Fundamentals (3)
CS 251L Intermediate Programming (3)
CS 351L Design of Large Programs (4)

The sequence CS 152L-251L-351L involves a comprehensive study of the fundamentals of computer programming. The language Java will be mastered and techniques and ideas of algorithmic program design, recursion, programmer team organization, structured programming, correctness, program specification, program testing, maintenance and modification and the use and implementation of various data structures and files will be covered. CS 152 and CS 251 are taught only in Java.

CS 259L Data Structures with Java (5)

CS 259L is an accelerated course designed for potential CS students with some programming experience or education. It involves the same material as the normal undergraduate sequence CS 152L-251L. It requires a minimum of one year experience or instruction in a high level programming language and associated methodology.

CS241 - Data Organization
CS341 - Introduction to Computing Systems

The sequence CS241-341 introduces students to the memory organization of data storage, comupter architecture and design, and assembly language programming. CS 241 is taught only in C.

ECE 238L Computer Logic Design (4)

Students are provided with basic hardware literacy through EECE 238L, and the study of computer architecture included in CS 341L and CS 481.

CS 261 Mathematical Foundations of Computer Science (3)
CS 361L Data Structures and Algorithms I (3)
CS 362 Data Structures and Algorithms II (3)

The sequence CS 261-361Lintroduces the student to data structures and algorithms and the mathematics needed to analyze their time and space complexity. Topics include 0( ) notation, recurrence relations and their solution, sorting, hash tables, priority queues, search trees ( including, at least, one balanced tree structure), and basic graph representation and search. CS 362 introduces sophisticated data structures, algorithms that use them, and techniques for analyzing their performance. CS 361 is taught only in C.

CS 293 Social and Ethical Issues in Computing (1)

CS 293 gives an overview of philosophical ethics, privacy and databases, intellectual property, computer security, computer crime, safety and reliability, professional resposibility and codes, electronic communities and the Internet, and social inpact of computers.

CS 357L (3)

CS 357L provides an examination of several classes of programming languages.

CS 460 Software Engineering (3)

CS 460 is a capstone design course involving a large team-oriented programming project.

CS 481 Operating Systems Principles (3)

CS 481 introduces the student to the principles of operating systems and provides further instruction on computer architecture. Technical electives taken from a wide variety of courses permit the student to specialize (numerical analysis, operations research, artificial intelligence, architecture and systems, etc.) or to acquire additional breadth.