234 Computer Science Building
Phone: (915) 747-5480
Fax: (915) 747-5030
Website: http://cs.utep.edu
CHAIRPERSON: David Novick
PROFESSORS: Bernat, Gelfond, Kreinovich
ASSOCIATE PROFESSORS: Ewton, Longpré
ASSISTANT PROFESSORS: Gates, Teller
LECTURER: Bell
Computer Science (CS)
1310 Introduction to Computer Programming (3-0)(Common Course Number COSC 1301 1301)
Fundamentals of computers including software, hardware, impact on society, and beginning programming in a high-
level language, such as PASCAL. Designed for students not engaged in mathematically oriented studies.
1401 Introduction to Computer Science (3-3)(Common Course Number COSC 1430)
An introduction to computers, impact of computing, problem solving, programming environments including editors,
compilers, and loaders, and to elementary PASCAL through arrays. Prerequisite to all other courses for the major in
Computer Science. Prerequisite: MATH
1410 or MATH
1508, with a grade of "C" or better.
1420 Computer Programming for Scientists and Engineers (3-3)(Common Course Number COSC 1405)
Introduction to computers and problem solving with digital computers. A procedural programming language will be
utilized to solve scientific and engineering oriented problems. Visualization methods will also be used to provide an
experimental approach to problem solving. Prerequisite: MATH
1410 or MATH
1508, with a grade of "C" or better.
2302 Data Structures (3-0)(Common Course Number COSC 2318)
Abstract data types, representation of data using sets, lists, trees, and graphs. Storage allocation and collection
techniques. Prerequisites: CS
2401 and MATH
2300.
2401 Programming and Algorithms (3-3) (Common Course Number COSC 1418)
Continuation of CS 1401
1401, including the remainder of the PASCAL language. Introduction to algorithmic
analysis including searching, sorting, string processing, and recursion. Prerequisite: CS
1401.
3320 Introduction to Computer Architecture (3-0)
The organization and structuring of the major hardware components of computers; the mechanics of information
transfer and control within a digital computer system; the fundamentals of logic design; machine instructions;
addressing techniques. Prerequisite: CS 3432
3432.
3320 Problem Oriented Programming Languages (3-0)
A detailed study of one or more modern programming languages (C, Ada, Module-2, LISP, PROLOG, etc.), which
is of particular value in a student's area of interest. Languages will be taught in rotation. May be repeated once for
credit as a technical elective when the application area of the programming language differs. Prerequisite: CS
2302 or CS
3333.
3333 Basic Concepts in Computer Science (3-0)
Introduction to the fundamentals of data types (lists, trees, sets, graphs, etc.), searching and sorting, context-
free languages, finite automata, and Turing Machines. May not be counted toward the major in Computer Science.
Prerequisite: CS
1420 or CS
1401.
3335 Systems Programming (3-0)
The design and implementation of the programming environment including editors, compilers, loaders and linkers,
debuggers and operating systems. Prerequisite: CS
2302 or CS
3333
3350 Automata, Computability, and Formal Languages (3-0)
Languages and their grammars. Chomski's classification of abstract languages. The connections between
languages, machines, and neural networks. Finite and infinite automata; their structure, capabilities, and limitation.
Prerequisite: CS
2302 or CS
3333.
3360 Design and Implementation of Programming Languages (3-0)
Design features of modern programming languages including flow control mechanism and data structures;
techniques for implementation of these features. Prerequisite: CS
2302 or CS
3333
3370 Computer Graphics (3-0)
An introduction to representation and display of graphical information including line, character, and curve
generation. Emphasis on two-dimensional techniques. Prerequisite: (1) CS
2302 or (2) CS
3333 and MATH
3323.
3432 Assembler Language Programming (3-3)
Symbolic coding of instructions and data, macro definition and use, subroutines and linkage, input/output
handling at the assembly level, and the structure of assemblers. Prerequisite: CS
2302 or CS
3333.
4195 Senior Professional Orientation (1-0)
Introduction to the Computer Science profession with emphasis on job placement and professional ethics.
Senior standing in Computer Science. Required of all students prior to graduation. Offered in the Fall semester only.
4310 Software Engineering I (3-0)
Design techniques including top-down design and development, information security, and stepwise refinement.
Organizing and managing software system development including milestones, estimating, teams, walk-throughs, and
documentation. Prerequisite: Senior standing.
4311 Software Engineering II (3-0)
Implementation of the project designed in CS 3410 providing practical experience in the design and
implementation of large programming projects. Prerequisite: CS
4310.
4320 Artificial Intelligence (3-0)
Introduction to basic concepts and techniques of artificial intelligence including knowledge representation,
search strategies, symbolic logic, expert systems, and applications. Prerequisite: CS
3350 or CS
3333.
4342 Database Management (3-0)
Introduction to data base concepts, hierarchical, network and relational data models, data description and query
languages, file and index organization, and file security and integrity. Both mainframe and small computer
approaches will be covered. Prerequisite: CS
2302 or CS
3333
.
4352 Translation of Programming Languages (3-0)
The structure of compilers and interpreters. Lexical analysis, syntax analysis, and formal description of
programming languages. Semantic analysis, intermediate languages, and optimization. Compiler writing languages
and bootstrapping. Prerequisite: CS
3333 or CS
3350.
4365 Topics in Soft Computing (3-0)
Introduction to basic concepts and techniques of soft computing, including neural, fuzzy, evolutionary, and
interval computations, and their applications. This course may be repeated for credit when topic varies.
Prerequisites: EE
3384 or STAT
3320 and MATH
3429.
4371 Computer Science Problems (0-0-3)
Original investigation of special problems in the student's area of interest, the problem being selected by the
student in consultation with the instructor and with the permission of the Chairperson of the Computer Science
Department. May be repeated for credit. Prerequisites: Senior standing in Computer Science and department
approval.
4375 Theory of Operating Systems (3-0)
Topics include multiprocessing, time sharing and real time systems, scheduling and resource allocation, virtual
memory, paging and segmentation, and file management. Prerequisite: CS
3335 or CS
3330
3320.
4390 Special Topics in Computer Science (3-0)
Selected topics of current interest in Computer Science. May be repeated for credit when topic varies.
Prerequisites: Senior standing in Computer Science and department approval.
See the Graduate Studies Catalog for graduate programs and courses.