The Department of Computer Science and Engineering

300 Nedderman Hall • Box 19015 • 817-272-3785 • www-cse.uta.edu

300 Nedderman Hall • Undergraduate Student Advising • 817-272-3603

Requirements for a Bachelor of Science Degree in Computer Science and Engineering

Pre-Engineering Courses

(All pre-engineering courses must be completed before enrolling in upper-division courses)

English

Six hours of composition.

Mathematics

1426, 2325, 2326.

Natural Science

CHEM 1301, PHYS 1443, 1444.

Computer Science and Engineering

1111, 1320, 1325, 2312, 2315, 2320, 2441.

Electrical Engineering

2440

Other General Education Courses

Literature

Three hours of English or foreign language literature or other approved substitute.

Liberal Arts Elective

Three hours of literature, or social and cultural studies, or fine arts or philosophy, or technical writing above the freshman level. For CSE majors SPCH 3302 must be used to satisfy this requirement.

Fine Arts

Three hours in architecture, art, music, or theatre arts.

History

1311, 1312.

Political Science

2311, 2312.

Social/Cultural Studies

Three hours of designated courses in social or cultural anthropology, archaeology, social/political/cultural geography, economics, sociology, classical studies, or linguistics.

Upper-Division Courses

Computer Science and Engineering

3302, 3310, 3315, 3320, 3322, 3330, 3442, 4316, 4317.

Industrial Engineering

3301, 3312.

Mathematics

3319

Mathematics/Science*

Three hours of an approved mathematics or science elective.

Technical Electives*

12 hours of approved engineering courses. Technical elective sequences must be selected in such a combination that all applicable accreditation criteria are met. Failure to do so will result in additional coursework being required for graduation.

Pre-Engineering Total

51 hours.

General Education Total

24 hours.

Upper-Division Total

52 hours.

Total (for degree)**

127 hours, plus exercise and sport activities (EXSA), ROTC, or marching band as required.

* A list of acceptable electives is available from the departmental office or website.

** Total hours for students required to take remedial mathematics courses or additional technical electives will be greater.

Refer to the College of Engineering section of this catalog for information concerning the following topics: Admission to Engineering, Admission to the Upper-Division Program, Counseling or Advising, Academic Policies and Standards, Transfer and Change of Major Policies, the College of Engineering Probation, Repeating Course Policy, or Academic Dishonesty Policy.

Suggested Course Sequence

Freshman Year

First Semester: CSE 1111, 1320; CHEM 1301; ENGL 1301; MATH 1426; HIST 1311; EXSA or ROTC or Marching Band—Total Credit 18 hours.

Second Semester: CSE 2315; ENGL 1302; MATH 2325; PHYS 1443; HIST 1312; EXSA or ROTC or Marching Band—Total Credit 17 hours.

Sophomore Year

First Semester:CSE 1325; EE 2440; MATH 2326; PHYS 1444; POLS 2311; EXSA or ROTC or Marching Band—Total Credit 18 hours.

Second Semester: CSE 2312, 2320, 2441; IE 3301; POLS 2312; EXSA or ROTC—Total Credit 17 hours.

Upon completion of the 51 hours specified as pre-engineering courses, the student will be admitted to the Upper-Division Engineering Program if minimum grade point requirements are met. The Computer Science and Engineering Department requires a 2.25 overall grade point average on a 4.0 scale, a 2.25 average in the required science, mathematics, and engineering courses, and a 2.25 average in CSE courses. Pre-engineering students must have permission from the department chairperson to receive credit for courses listed in the Upper-Division Program category.

Junior Year

(Prerequisite: Admission to the Upper-Division Program)

First Semester: CSE 3315, 3320, 3322; IE 3312; SPCH 3302—Total Credit 15 hours.

Second Semester: CSE 3302, 3310, 3330, 3442; Literature elective, 3 hours—Total Credit 16 hours.

Senior Year

First Semester: CSE 4316; Technical electives, 6 hours; MATH 3319; Social/Cultural elective, 3 hours—Total Credit 15 hours.

Second Semester: CSE 4317; Technical electives, 6 hours; Math/Science elective, 3 hours; Fine Arts/Philosophy elective, 3 hours—Total Credit 15 hours.

Course Offerings

All 1000- and 2000-level CSE courses are typically offered each semester and in the 11-week summer session. All 3000-level courses are typically offered at least twice per year. CSE 4316 is typically offered fall and spring semesters and CSE 4317 is offered fall, spring, and summer. Other 4000-level courses are typically offered only once per year unless there is a high demand. Refer to the CSE bulletin boards or website for more specific and current information.

Admission Requirements

Requirements for admission as a computer science and engineering major are governed by the requirements stated under the College of Engineering section of this catalog.

All entering students majoring in computer science and engineering are admitted as pre-computer science and engineering (PCSE) majors, permitting the student to enroll only in pre-engineering or general education courses. Students completing the pre-engineering courses must meet the academic requirements specified by the College of Engineering prior to applying for admission to the upper division program. The Computer Science and Engineering Department requires a 2.25 overall grade point average on a 4.0 scale, a 2.25 average in the required science, mathematics, and engineering courses, and a 2.25 average in CSE courses. Pre-engineering students must have permission from the department chairperson to receive credit for courses listed in the Upper-Division Program category. Application for admission to the Upper-Division Program is made to the Department of Computer Science and Engineering. Application forms may be obtained from the departmental office.

Prior Preparation

The baccalaureate program in computer science and engineering is a four-year program and requirements for the degree are based upon prior high school preparation through either an honors or college track. More specifically, entering students are expected to have a background in mathematics through analytic geometry, high school chemistry and programming in a high-level language such as Pascal, C or C++.

Students who have not had the appropriate preparation should contact the departmental advising office for a curriculum guide that will assist them in structuring a degree plan that will include leveling courses. Students requiring leveling courses may require a period of time greater than four years to complete their undergraduate program.

Placement Examinations

Students may be required to pass placement examinations before enrolling in the courses listed below unless the course prerequisite was taken at U.T. Arlington and passed with a C or better grade. Students not passing the entrance examination after three attempts must take the prerequisite course. Additional information is available in the departmental office.

CSE 1320: Intermediate Programming

CSE 1325: Advanced Object-Oriented Programming using C++

Student Advising

Computer Science and Engineering pre-majors and majors are required to be advised by a departmental advisor each semester. Consult the departmental bulletin boards or home page for advising hours. Transfer students must be advised prior to the beginning of the semester in which they first enroll.

Transfer Students and Transfer Credit

Transfer students should contact the Department of Computer Science and Engineering, after admission and prior to registration, for advising. Prior to advising, a transfer student must present to the Undergraduate Advisor an official transcript from each school previously attended. Only the equivalent courses in a program accredited by the Accreditation Board for Engineering and Technology (ABET) or equivalent freshman, sophomore, or general education courses accepted by the department chair can be counted toward a degree in computer science and engineering.

A student, once admitted to The University of Texas at Arlington and enrolled in the computer science and engineering program, cannot enroll in courses at another college or university and transfer those courses for credit toward a degree in computer science and engineering unless he/she has obtained prior written permission from the Chairperson of the Department of Computer Science and Engineering.

Cooperative Education Program

Cooperative education opportunities are plentiful for CSE students. A suggested course sequence for co-op students is available in the departmental office.

Honors Programs

The Computer Science and Engineering Department encourages qualified CSE majors to enter the UTA Honors College described elsewhere in this catalog.

In addition to the university Honors College, the Computer Science and Engineering Department offers an honors program for highly motivated students. The CSE honors program is designed to challenge ambitious students to explore their special interests, and to gain experience in engineering research. Students take an honors project (CSE 4356 and 4357) in place of the senior design project. Projects may be pursued in any one of the areas of concentration within the Department of Computer Science and Engineering. Students with a 3.00 or higher GPA are eligible for admission to the CSE honors program upon completion of the Pre-CSE courses. All full-time students entering either the CSE honors program or the Honors College will be considered for financial assistance. Contact the CSE Honors Coordinator for more information.

Master's Degree Path

Computer science and engineering is a rapidly changing field that requires professionals to continually update their knowledge and skills. Completing a master's degree enhances an individual's ability to assimilate and apply their knowledge and skills to meet on the job challenges and the needs of society. Also, students whose career goals are research and development or university teaching are encouraged to obtain a master's in route to the Ph.D. degree. Pursuing a master's degree on a full-time basis immediately after completing the baccalaureate is an attractive option for many students.

CSE honors students may structure their degree plans so that they can complete a master's degree with one year of additional study. Those graduating with a 3.00 or higher GPA will be admitted to a CSE master's program upon application. Honors graduates enrolling in either the MSCSE or MSCS program on a full-time basis will be given an assistantship. Contact the CSE Honors Coordinator for more information.

Oral Communication and Computer Competency Requirement

Computer science and engineering students will satisfy the oral competency requirement by completing SPCH 3302--Professional and Technical Communications. They will satisfy the computer use competency requirement by completing CSE 1111--Introduction to Computer Science and Engineering.

Department of Computer Science and Engineering Faculty

Chair

Professor Carroll

Professors

Elmasri, Hsia, Kung, Peterson, Shirazi, Walker

Associate Professors

Cook, Holder, Kamangar, Weems, Welch, Youn

Assistant Professors

Bruggeman, Fegaras, Gmytrasiewicz, Yerraballi

Senior Lecturer

Umbaugh

Program Objectives

The computer science and engineering program maintains high academic standards and has been formulated to prepare graduates for a career in the field of computer science and engineering by offering a curriculum based on principles of mathematics, basic sciences, computer sciences, engineering sciences, engineering design and professional ethics. The curriculum stresses the application of computers and computer-based systems to the solution of problems relevant to societal and economic needs and prepares graduates to work and live in a global, diversified society. In addition, the curriculum has been designed to meet the needs of industry for engineers and computer scientists whose educational experiences span the spectrum from hardware to software and to prepare students to pursue graduate studies in computer science or closely related fields if they choose. Design experiences are integrated throughout the first three years of the curriculum (CSE 1320, 1325, 2312, 2441, 3310, 3320, 3330, 3442) and culminate in a major team oriented project in the senior year (CSE 4316 and 4317) that approximates an industrial work experience. Finally, the program strives to provide computer science and engineering students with opportunities to interface with the profession through avenues such as co-operative education programs, professional society activities, plant trips, special projects, and industrial speakers programs.

Prefix and number in parentheses following the U.T. Arlington course number and title is the Common Course Number designation.

Computer Science and Engineering (CSE)

1111. INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING (1-0) 1 hour credit. Topics include problem solving, ethics, and contemporary issues in computer science and engineering. Students will demonstrate competence in word processing, spreadsheets, research and library skills. Emphasis is placed on team building, oral and written communication skills. Primarily for students in computer science and engineering.

1301. COMPUTER LITERACY (2-3) 3 hours credit (COSC 1300). For those persons having an interest in finding out what a computer is (and is not), the types of problems suited for computers, and how to utilize a computer to solve problems. The organization and characteristics of computers; applications of commercial software such as word processors, spreadsheets, database packages, and communications packages; and survey of available computer languages. $5 lab fee, $25 course fee.

1306. COMPUTER PROGRAMMING AND APPLICATIONS (3-0) 3 hours credit (COSC 1311). Computing techniques utilizing the FORTRAN language. Algorithm design in the solution of engineering and scientific problems. Prerequisite: high school trigonometry.

1310. INTRODUCTION TO COMPUTERS AND PROGRAMMING (2-3) 3 hours credit (COSC 1312). An introduction to the computer, to the algorithmic process, and to programming in C using standard control structures. Windows and UNIX operating systems are used. Prerequisite: precalculus. $5 lab fee, $25 course fee.

1320. INTERMEDIATE PROGRAMMING (2-3) 3 hours credit. Programming concepts beyond standard control structures in C/C++. Emphasis is given to data structures and modular design consistent with software engineering principles. Windows and the UNIX operating systems are used. Prerequisite: CSE 1111, or concurrently, and CSE 1310; or EE 1347. $5 lab fee, $25 course fee.

1325. ADVANCED OBJECT-ORIENTED PROGRAMMING USING C++ (3-0) 3 hours credit. Advanced program design and implementation in the C++ programming language. Object-oriented programming with concepts including class structure and behavior, objects, inheritance and reuse, virtual functions and polymorphism, exception handling, templates, and the Standard Template Library. The UNIX operating system is used. Prerequisite: CSE 1320.

2312. COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE PROGRAMMING (3-0) 3 hours credit. The assembly/machine language programmer's view of a digital computer including processor and memory organization, instruction sets, and addressing modes. Programming in a current generation assembly language. Assemblers and the assembly process. Prerequisite: CSE 1320.

2315. DISCRETE STRUCTURES (3-0) 3 hours credit. Propositional logic, mathematical proof techniques, sets, combinatorics, functions and relations, Boolean algebra, graphs, and graph algorithms. Prerequisites: CSE 1320 and MATH 1426.

2320. ALGORITHMS AND DATA STRUCTURES (3-0) 3 hours credit. Design and analysis of algorithms with an emphasis on data structures. Approaches to analyzing lower bounds on problems and upper bounds on algorithms. Classical algorithm design techniques including algorithms for sorting, searching, and other operations on data structures such as hash tables, trees, graphs, strings, and advanced data structures, dynamic programming and greedy approaches. Prerequisites: CSE 2315.

2441. DIGITAL LOGIC CIRCUITS (3-3) 4 hours credit. The analysis and design of combinational and sequential logic circuits. Topics include Boolean algebra, logic circuit minimization techniques, synchronous sequential circuit design, algorithmic state machine design, design of arithmetic/logic and control units. The course utilizes computer-aided design tools. Prerequisites: CSE 2312, or concurrently, and 2315, EE 2440. $5 lab fee, $25 course fee.

3112. CONTEMPORARY PROGRAMMING PRACTICES (1-0) 1 hour credit. Study of an emerging programming language that has a potential of widespread application in practice. May be repeated when the language changes but only one hour of credit can be used to satisfy CSE degree requirements. May be taken only by students following the 1997-99 Catalog. Will not be offered after the spring semester of 2000. Prerequisite: CSE 2320.

3302. PROGRAMMING LANGUAGES (3-0) 3 hours credit. Introduction, analysis, and evaluation of the important concepts found
in a variety of programming languages. Formalisms useful in specifying language syntax and semantics; programming language paradigms such as algorithmic, functional, logic, and object-oriented. Prerequisite: CSE 3315.

3310. FUNDAMENTALS OF SOFTWARE ENGINEERING (3-0) 3 hours credit. Software engineering principles, processes, and techniques; software development approaches focusing on functional analysis and functional design methods. Configuration management, implementation strategies, and testing. Team project. Prerequisites: CSE 1325 and 2320.

3315. THEORETICAL CONCEPTS IN COMPUTER SCIENCE AND ENGINEERING (3-0) 3 hours credit. Selected theoretical concepts including predicate logic, automata and formal languages, computability, proof of program correctness and complexity. Prerequisite: CSE 2315.

3320. OPERATING SYSTEMS (3-0) 3 hours credit. Functions and components of an operating system, including process synchronization, job scheduling, memory management, file systems protection, and deadlocks. Related system software, such as loaders, linkers, assemblers, and windowing systems. Prerequisites: CSE 2320 and IE 3301.

3322. COMPUTER ARCHITECTURE (3-0) 3 hours credit. Hardware and software structures found in modern digital computers. Instruction set architecture, hardwired design of the processor, microprogramming, I/O and memory units, analysis of instruction usage, and hardware complexity. Prerequisites: CSE 2441 and 3320 (or concurrent enrollment).

3330. DATABASE SYSTEMS AND FILE STRUCTURES (3-0) 3 hours credit. Database system architecture; file structures for databases, including indexing hashing, and B+-trees; the relational model and algebra; the SQL database language; Entity-Relationship data modeling; functional dependencies and basic normalization. Prerequisite: CSE 2320.

3442. EMBEDDED COMPUTER SYSTEMS (3-3) 4 hours credit. Design of microcomputer based systems: microcomputer programming, component and system architectures, memory interfacing, parallel and serial I/O interfacing, A/D and D/A conversion, and typical applications. Prerequisite: CSE 3322. $5 lab fee, $25 course fee.

4191, 4291, 4391. INDIVIDUAL PROJECTS (Variable credit from 1 to 3 semester hours as arranged, individual instruction). Special problems in computer science and engineering on an individual basis. Topics may change from semester to semester. May be repeated for credit. Departmental approval must be obtained in advance for degree credit. Prerequisite: consent of the instructor and chair of department.

4301. CONTEMPORARY PROGRAMMING PRACTICES. (3-0) 3 hours credit. Study of emerging programming languages that have a potential for widespread application. A significant design project in each language is required. Prerequisite: CSE 3310.

4303. COMPUTER GRAPHICS (3-0) 3 hours credit. Theory and practice for the visual representation of data by computers including display devices, output primitives, planes and curved surfaces, two- and three-dimensional transformations, parallel and perspective viewing, removal of hidden lines and surfaces, illumination models, ray tracing, radiosity, color models, and computer animation. Prerequisites: CSE 2320 and MATH 3319 or 3330.

4305. COMPILERS FOR ALGORITHMIC LANGUAGES (3-0) 3 hours credit. Review of programming language structures, translation, and storage allocation. Theory and practice of compilers and issues in compiler construction including parsing, intermediate code generation, local optimization problems such as register allocation, data-flow analysis, and global optimization. Prerequisites: CSE 3302 and 3315.

4308. ARTIFICIAL INTELLIGENCE (3-0) 3 hours credit. An introduction to the field of artificial intelligence studying basic techniques such as heuristic search, deduction, learning, problem solving, knowledge representation, uncertainty reasoning and symbolic programming languages such as LISP. Application areas may include intelligent agents, data mining, natural language, machine vision, planning and expert systems. Prerequisite: CSE 3302.

4311. OBJECT-ORIENTED SOFTWARE ENGINEERING (3-0) 3 hours credit. General classification and comparison of structured, object-oriented software development including analysis, design, programming, and testing. Team project. Prerequisites: CSE 3310 and 3315.

4313. INTRODUCTION TO SIGNAL PROCESSING (3-0) 3 hours credit. Examines models for presentation and processing of digital signals. Sampling theorem, correlation and convolution, time and frequency analysis of linear systems, Fourier transform, Z-transform, design of digital filters structures for discrete time systems. Prerequisites: MATH 2325 and senior standing.

4316. COMPUTER SYSTEM DESIGN PROJECT I (2-3) 3 hours credit. The industrial environment and the phased system development process as applied to computer hardware and software design projects. Teams of students prepare and present planning and definition documentation for a design project to be rapid-prototyped, and then completed in CSE 4317 the following semester. Prerequisites: CSE 3310, 3322, and 3442; IE 3312; and SPCH 3302. $5 lab fee, $25 course fee.

4317. COMPUTER SYSTEM DESIGN PROJECT II (2-3) 3 hours credit. Social and ethical implications of computing and the engineering profession; student design teams complete the projects initiated in CSE 4316. Oral presentations and documentation required at review points and project completion. Prerequisite: CSE 4316 in the previous semester. $5 lab fee, $25 course fee.

4319. MODELING AND SIMULATION (3-0) 3 hours credit. Techniques for system modeling and simulation of stochastic and knowledge-based systems. Modeling methods, model validation and verification procedures, and steady state solution techniques. Prerequisites: CSE 3310 and IE 3301.

4320. FUNDAMENTALS OF TELECOMMUNICATIONS SOFTWARE DEVELOPMENT (2-3) 3 hours credit. General understanding and classification of telecommunications systems and applications. Issues relating to the analysis, design, implementation, and testing of telecommunications software. Interface to hardware. A team project is required. Prerequisites: CSE 3310 and 3442, or EE 3310 and 4330. $5 lab fee, $25 course fee.

4323. COMPUTER ARCHITECTURE II (3-0) 3 hours credit. Pipelined control and ALU designs, parallel processor organizations including SIMD and shared memory MIMD, message passing MIMD, dataflow processing, cache memory design, and processor-memory interconnections. Prerequisite: CSE 3322.

4325. COMPUTER SYSTEMS PERFORMANCE EVALUATION (3-0) 3 hours credit. Markov models, single queue and queue network models, and simulations for studying and evaluating computer system performance. Workloads, benchmarks, performance measurement techniques, and case studies will be used in system capacity planning, hardware selection and upgrade, and performance tuning. Prerequisites: CSE 3322 and MATH 3319.

4330. DATABASE IMPLEMENTATION AND THEORY (3-0) 3 hours credit. Review of the relational model and algebra; relational calculus; relational database design theory; advanced data modeling concepts; object-oriented and object-relational databases; database system implementation optimization; and database security. Prerequisite: CSE 3330.

4342. REAL-TIME DATA ACQUISITION AND CONTROL SYSTEMS (2-3) 3 hours credit. Advanced course in design of microcomputer-based systems. Emphasis is on the application of state-of-the-art microprocessors, microcomputers, and other LSI and VLSI components to real-time, interactive, and on-line problems. Prerequisite: CSE 3442. $5 lab fee, $25 course fee.

4344. COMPUTER NETWORK ORGANIZATION (3-0) 3 hours credit. Design and analysis of computer networks. Emphasis on the OSI architecture but discusses other schemes (e.g., ARPAnet). Data link control, local networks, protocols/architectures, network access protocols, transport protocols, internetworking, and ISDN. Prerequisite: CSE 3320.

4346. ADVANCED COMPUTER NETWORKS (3-0) 3 hours credit. Design and engineering issues in networking. Topics include congestion control, scheduling, multicast routing, connection-oriented switching, DNS, bind, domain name space issues, flow control, traffic management, and admission control. Prerequisite: CSE 4344.

4348. MULTIMEDIA SYSTEMS (3-0) 3 hours credit. A hands-on approach to the study of principles underlying multimedia systems. Topics include multimedia systems design, multimedia hardware and software, issues in effective representation, processing, and communication of multimedia data such as text, graphics, audio, images, and video. Prerequisite: CSE 3320.

4351. PARALLEL PROCESSING (3-0) 3 hours credit. Theory and practice of parallel processing, including characterization of parallel processors, models for memory, algorithms, and interprocess synchronization. Issues in parallelizing serial computations, efficiency and speedup analysis. Programming exercises using one or more concurrent programming languages, on one of more parallel computers. Prerequisites: CSE 3302 and 3322 or consent of the instructor.

4353. DISTRIBUTED COMPUTING (3-0) 3 hours credit. Theory and practice of distributed computing. Topics include parallel versus distributed processing, message passing systems, shared memory, distributed objects, processing and coordination, the World Wide Web, broadcast and mobile computing. Prerequisite: CSE 3320.

4356. HONORS PROJECT I (2-3) 3 hours credit. An engineering research experience at an advanced undergraduate level. Students will survey a selected topic in the computer science and engineering literature and design an honors project under the guidance of a faculty member. Formal written and oral presentation of the project proposal is required. In weekly meetings students will discuss their designs. Credit will be given for only one of CSE 4316 and 4356. Prerequisite: permission of Honors Program advisor. $5 lab fee, $25 course fee.

COMPUTER SCIENCE AND ENGINEERING 4357. HONORS PROJECT II (2-3) 3 hours credit. Social and ethical implications of computing and the engineering profession are stressed while students perform the tasks identified in their proposals in CSE 4356, such as: evaluate design trade-offs, implementation, testing and experimentation. Formal written and oral presentation of the research is required. In weekly meetings students will evaluate their progress and discuss their findings. Prerequisite: CSE 4356. $5 lab fee, $25 course fee.

4360. AUTONOMOUS ROBOT DESIGN AND PROGRAMMING (2-3) 3 hours credit. Theory, research, and applications of autonomous robot design and programming will be taught including robot architectures, sensors, knowledge representation, and programming techniques. Students will build robots and program simulated and real robots. Prerequisite: CSE 2320 and 3442. $5 lab fee, $45 course fee.

4392. SPECIAL TOPICS (3-0) 3 hours credit. New developments in the field of computer science and engineering. Topic may vary from semester to semester. May be repeated for credit when topic changes. Departmental approval required in advance to use for degree credit. Prerequisite: consent of instructor.