Home | Academic Programs | Subject Areas Menu
My UNM | UNM-Albuquerque
Computer Science (CS) Courses
Curriculum Area..........................................................................Computer Science
Academic Division..............Business, Computer Science, and Information Technology
Office of Instruction
Building 1, Room 108
Mon - Thurs 7:30 am to 5:30 pm
661-4693

Courses marked with an * may be repeated for credit because subject matter varies.

CS 101: Introduction to Computing Science. (4)
An Introductory course covering the computer terminology, applications, and characteristics that a student would encounter in a CS degree. Students will learn introductory UNIX and how to run existing programs.

CS 102: Introduction to LINUX/UNIX. (1)
For the computer novice. Students will be shown the UNIX commands needed in a computer-programming course. UNIX topics: electronic mail, file manipulation and creation, line/screen editors, and program compilation.
CR/NC

CS 103: Advanced LINUX/UNIX. (1)
Focuses on shell scripts and shell programming, processes and job control; user tools; UNIX networking concepts; simple system administration; introduction to Perl scripting
Prerequisites: CS 102 or CS 101, (a programming course or previous programming experience is recommended).
CR/NC

CS 110: Introduction to C++ for Experienced Programmers. (1)
Intended to teach the beginning syntax of C++ to students who already have programming experience with another structured programming language such as FORTRAN, PASCAL, or C. Covers simple and enumerated types, I/O, looping, branching, functions and parameter passing, single and multi-dimensional arrays, structures. CLASSES and OOP will not be covered.
Prerequisite: CS 152L or CS 160 or CS 170 or CS 180.
CR/NC

CS 130: Introduction to Problem Solving Strategies. (3)

Presents a wide variety of problem solving strategies to build skill in problem solving. Emphasizes creative/lateral thinking techniques and good communication skills. Uses both technical and non-technical problems to practice skill development.
Prerequisite: CS 101

CS 150L: Computing for Business Students. (3)
Students will use personal computers in campus laboratories to learn use of a word processor, a spreadsheet, and simple database management program. The course will also cover access to the World Wide Web and other topics of current importance to business students.
(Main Campus course cannot apply to major or minor in Computer Science.)
Prerequisite: MATH 120.

CS 151L: Computer Programming Fundamentals for Non-Majors [MAT LAB] (3)
An introduction to the art of computing. Not intended for Computer Science majors or minors. The objective of the course is an understanding of the relationship between computing and problem solving. (Main campus course; 3 hrs lecture; 1 hr recitation)
Prerequisites: MATH 150 and CS 101 or CS 102

CS 152L: Computer Programming Fundamentals for Computer Science Majors [in Java]. (3)
An introduction to the art of computing. Intended for Computer Science majors or minors. The objective of the course is an understanding of the relationship between computing and problem solving. Programs will be written in Java. (Main campus course; 3 hrs lecture; 1 hr recitation.)
Prerequisites: MATH 150 and (CS 101 or CS 102.)

CS 160: Introduction to Java. (3)
This course introduces writing object-oriented programs with the JAVA language. It introduces JAVA applications and the writing of JAVA applets.
Prerequisite: CT 102.

CS 170: Introduction to Visual Basic. (3)
Introduces how to program in a Windows environment using Visual Basic. Fundamental programming techniques will be discussed. Students will learn procedural programming, how to develop a graphical user interface in Windows, and how to work with events and objects.
Prerequisite: CT 102.

CS 180: Introduction to PERL. (3)
This introductory course introduces PERL, practical extraction report language. It will focus on the following topics: Scalar data, Control structures, Basic I/O, Directory Access, File and Directory Manipulation, Process Management, System Database Access, and CGI Scripting.

CS 192*: Topics. (1-3)
Titles will vary.
CR/NC.

CS 193*: Topics. (1-3)
Titles will vary.

CS 220: Systems Analysis and Design. (3)
An overview of the system development lifecycle. Emphasis on current system documentation through the use of classical, structured, and object- oriented tools/techniques for describing program specifications.
Prerequisite: CS 151L or CS 152L or CS 160 or a full semester of programming.

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. (Main campus course.)
Prerequisitie: CS 151L or CS 152L.

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. (Main campus course. 3 hour lecture. 1 hour recitation.)
Prerequisite: CS 151L or CS 152L.

CS 257L: Nonimperative Programming. (3)
Introduction to non-typed functional programming using Scheme. Specific topics include recursion, lists, graphics, abstract data types, symbolic arithmetic, procedural abstraction, higher-order functions, and meta-circular evaluation. (Main Campus course; 3 hrs lecture, 1 hr recitation.)
Prerequisite: CS 151L or CS 152L

CS 258: Introduction to Object Oriented Programming. (2)
Focuses on applying the advanced features of JAVA including exceptions, threads, inheritance, and polymorphism. This projects course stresses the design (using UML), development, and testing of larger programs using the Object paradigm.
Prerequisite: CS 251L

CS 260: Introduction to Applied Software Engineering. (2)
An introduction to the methodologies and tools used in a disciplined life-cycle approach to the development of large software systems. Design goals and principles will be emphasized and current methodologies such as data flow, structured design, and object-oriented design will be explored. Team programming.
Prerequisites: CS 220 and CS 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. (Main Campus course.)
Prerequisites: (CS 151L or CS 152L) and MATH 162.

CS 290*: Topics (1-3)
Titles will vary

CS 292*: Topics. (1-3)
Titles will vary.
CR/NC.

CS 293: Social and Ethical Issues in Computing. (1-3)
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.

Last updated September 27, 2007

The University of New Mexico-Los Alamos
4000 University Dr.
Los Alamos, NM 87544
(505) 662-5919; FAX (505) 662-0344
Copyright © 2008 The University of New Mexico- Los Alamos
Comments to webmaster