2004 - 2006 Undergraduate Catalog
Introduction (home)
Contents / Site Map
Policies / Procedures
Tuition and Fees
Financial Aid
Campus Resources
Degree Requirements
Undergraduate Programs
Course Descriptions
Academic Calendar
Board of Regents
Correspondence Directory
Alphabetical Index

Search the
2005 UG catalog:

UTD Home Page
Online Catalogs Index
Graduate Catalog

This page contains revisions since the catalog's original publication:
     Additions are in red
     Deletions are in red strikethrough

Go back to current version

Software Engineering (B.S.S.E)


Professors: Farokh Bastani, Ramaswamy Chandrasekaran, András Faragó, Gopal Gupta, Dung T. Huynh, Dan Moldovan, Simeon C. Ntafos, Balaji Raghavachari, Hsing-Mean (Edwin) Sha, Ivan H. Sudborough,Bhavani Thuraisingham, Ioannis G. Tollis, Klaus Truemper, Si-Qing Zheng
Associate Professors: Sergeiy BespamyatnikhBereg, Lawrence Chung, Galigekere R. Dattatreya, Sanda Harabagiu, Vasilieos Hatzivassiloglou, Jason Jue, Rym Mili, Ivor P. Page, B. Prabhakaran, Ravi Prakash, Haim Schweitzer, Subbarayan. Venkatesan, Yuke Wang, W. Eric Wong, I-Ling Yen, Kang Zhang
Assistant Professors: Joao Cangussu, Jorge A. Cobb, Kendra M.L. Cooper, Ovidiu Daescu, Jing Dong, Jason Jue, Latifur Khan, Neeraj Mittal, Vincent Ng, B. Prabhakaran, Kamil Sarac, R.N. Uma, Weili Wu, Youtao Zhang
Senior Lecturers: Douglas Benn, Tim Farage, Herman Harrison, Sam Karrah, Lawrence King, Radha Krishnan, Rafael Lacambra, Joseph Leubitz, Greg Osbirn, David Russo, Veli Sahin, Martha Sanchez, Nerandra Sheth, Cort Steinhorst, Anthony Sullivan, Laurie Thompson, Nancy Van Ness, Wei Wei

The Computer Science Department offers the B.S. degree in Computer Science and the B.S. degree in Software Engineering. Both are based on a solid foundation of mathematics, including calculus, linear algebra, and discrete mathematics. These programs of study are designed to offer students opportunities to prepare for an industrial, business, or governmental career in a rapidly changing profession and to prepare for graduate study in a field in which further education is strongly recommended. The two programs have the same basis in core computer science, including the analysis of algorithms and data structures, modern programming methodologies, and the study of operating systems. The Computer Science program continues with courses in advanced data structures, programming languages, telecommunications networks, and automata theory, while the Software Engineering program include courses in requirements engineering, software validation and testing, and software architecture, culminating in a challenging project course in which students must demonstrate use of software engineering techniques. Both programs offer a rich choice of elective studies, including courses in artificial intelligence, computer graphics, databases, and compiler design.

The school offers a "fast track" B.S./M.S. option; see Fast Track Baccalaureate/Master's Degree Program.

Mission of the Department of Computer Science

The mission of the Department of Computer Science is to prepare undergraduate and graduate students for productive careers in industry, academia, and government by providing an outstanding environment for teaching, learning, and research in the theory and applications of computing. The Department places high priority on establishing and maintaining innovative research programs to enhance its education quality and make it an important regional, national, and international resource center for discovering, integrating, and applying new knowledge and technologies.

Goals of the Software Engineering Program

The focus of the Software Engineering degree is to provide world class education in modern software engineering. The overall goals of the Bachelor of Science in Software Engineering Program are:

  1. To prepare students for software engineering positions in industry or government;
  2. To prepare students for graduate study in Software Engineering; and
  3. To provide a solid foundation in Computer Science and Software Engineering principles that will allow graduates to adapt effectively in a quickly changing field.

Software Engineering Educational Objectives of the Software Engineering Program

The current objectives for graduates of the Bachelor of Science in Software Engineering Program are to:

  1. effectively apply knowledge of programming, algorithms, data structures, and software engineering to the development of complex software systems;
  2. communicate technical concepts effectively in both written documents and oral presentations;
  3. design and analyze software at the component, subsystem, and software architecture levels and make informed, sound software design tradeoffs;
  4. understand the social and ethical issues that arise in their work and deal with them professionally;
  5. understand the importance of all phases of the software lifecycle, with emphasis on the need to plan for change and continuously vie to improve the software process;
  6. work effectively in a software development team and with other engineering professionals;
  7. appreciate the need for lifelong learning and adapt to rapid technological changes.

Bachelor of Science in Software Engineering
Degree Requirements (124 hours)

I. Core Curriculum Requirements1: 42 hours
    A. Communication (6 hours)
        3 hours Communication (RHET 1302)
        3 hours Professional and Technical Communication (ECS 3390)2
    B. Social and Behavioral Sciences (15 hours)
        6 hours Government (GOVT 2301 and 2302)
        6 hours American History
        3 hours Social and Behavioral Science (ISSS 3360)
    C. Humanities and Fine Arts (6 hours)
        3 hours Fine Arts (ARTS 1301)
        3 hours Humanities (HUMA 1301)
    D. Mathematics and Quantitative Reasoning (6 hours)
        6 hours Calculus (MATH 2417 and 2419)3
    E. Science (9 hours)
        6 hours Lecture courses (PHYS 2325 and 2326)
        2 hours Laboratory courses (PHYS 2125 and 2126)
        4 hours Science Elective4

1Curriculum Requirements can be fulfilled by other approved courses from accredited institutions of higher education. The courses listed in parentheses are recommended as the most efficient way to satisfy both Core Curriculum and Major Requirements at U.T. Dallas.

II. Major Requirements: 64 hours
    Major Preparatory Courses (2118 hours beyond Core Curriculum)
        CS 1337 Computer Science I
        CS 2305 Discrete Mathematics for Computing I
        CS 2336 Computer Science II
        MATH 2417 Calculus 13
        MATH 2418 Linear Algebra
        MATH 2419 Calculus II3
        PHYS 2125 Physics Laboratory I4
        PHYS 2126 Physics Laboratory II4
        PHYS 2325 Mechanics and Heat4
        PHYS 2326 Electromagnetism and Waves4
        SE 2370 Mathematical Foundations of Software Engineering
        4 hours Science Elective4
    Major Core Courses (3134 hours beyond Core Curriculum)
        CS/SE 3341 Probability and Statistics in Computer Science
        CS/SE 3345 Algorithm Analysis and Data Structures
        CS/SE 3354 Software Engineering
        CS/SE 4340 Computer Architecture
        CS/SE 4348 Operating Systems Concepts
        ECS 3390 Professional and Technical Communication2
        ISSS 3360 Politics and Values in Business and Technology
        SE 3306 Mathematical Foundations of Software Engineering

        SE 4351 Requirements Engineering
        SE 4352 Software Architecture and Design
        SE 4367 Software Testing, Verification, Validation and Quality Assurance
        SE 4381 Software Project Planning and Management
        SE 4485 Software Engineering Project
    Major Guided Electives (12 hours)
        SE guided electives are 4000 level CS/SE courses approved by the student’s CS/SE advisor.
        The following courses may be used as guided electives without the explicit approval of an
            CGS/CS 4314 Intelligent Systems Analysis
            CGS/CS 4315 Intelligent Systems Design
            CGS/CS 4352 Human Computer Interaction I
            CGS/CS 4353 Human Computer Interaction II
            CS/MATH 4334 Numerical Analysis
            CS 4337 Organization of Programming Languages
            CS/SE 4347 Database Systems
            CS 4349 Advanced Algorithm Analysis and Design
            CS 4361 Computer Graphics
            CS 4365 Artificial Intelligence
            CS/SE 4376 Object Oriented Programming Systems
            CS 4380 Senior Design Project
            CS 4384 Automata Theory
            CS 4386 Compiler Design
            CS/TE 4390 Computer Networks
            CS 4391 Introduction to Computer Vision
            CS 4392 Computer Animation
            CS 4393 Computer and Network Security
            CS 4394 Implementation of Modern Operating Systems
            CS 4396 Networking Laboratory
            CS 4397 Embedded Computer Systems
            CS/SE 4399 Senior Honors in Computer Science/Software Engineering
            EE 4325 Introduction to VLSI Design
            EE 4420 Microprocessor Systems Design

Application Domains (9-10 hours)
An important aspect of Software Engineering education is the use of software engineering concepts in a particular application domain. Students should use two of their three guided electives to complete one of the applications domains below. Additional application domains may become available. Completing an application domain may require careful scheduling since many of these classes will not be offered every semester. It is strongly encouraged that you consult with an advisor.

Digital Systems Design (10 hours)
CS/SE 4340 Computer Architecture
EE 4325 Introduction to VLSI Design
EE 4420 Microprocessor Systems Design

Networks (9 hours)
    CS/TE 4390 Computer Networks
    CS 4393 Computer Network Security
    CS 4396 Networking Laboratory

Embedded Systems (9 hours)
    CS/SE 4348 Operating Systems
    CS 4394 Implementation of Modern Operating Systems
    CS 4397 Embedded Computer Systems

Computer Imaging (9 hours)
    CS 4361 Computer Graphics
    CS 4391 Introduction to Computer Vision
    CS 4392 Computer Animation

Artificial Intelligence and Cognitive Modeling (9 hours)
    CS 4365 Artificial Intelligence
    CGS 4314 Intelligent Systems Analysis
    CGS 4315 Intelligent Systems Design

Human-Computer Interaction (9 hours)
    CS 4361 Computer Graphics
    CGS 4352 Human Computer Interactions I
    CGS 4353 Human Computer Interactions II

2 Hours fulfill the communication elective of the Core Curriculum.
3 Six hours of Calculus are counted under Mathematics Core, and two hours of Calculus are counted as Major Preparatory Courses.
4 Nine hours of Science are counted under Science Core. Three hours are counted as Major Preparatory Courses. Students should consult an advisor for specific classes that satisfy this requirement.
5 Hours contribute to the Social and Behavioral Sciences component of the Core Curriculum.

III. Elective Requirements: 18 hours
    Advanced Electives (6 hours)
        All students are required to take at least six hours of advanced electives outside their major
        field of study. These must be either upper-division classes or lower-division classes that
        have prerequisites.
    Free Electives (12 hours)
        All students must accumulate at least 124 hours of university credit to graduate. Both lower-
        and upper-division courses may count as free electives but students must complete at least
        51 hours of upper-division credit to qualify for graduation. Not all courses offered by the
        University can be used as a free elective. Please consult with your advisor.

Fast Track Baccalaureate/Master’s Degrees

In response to the need for post-baccalaureate education in the exciting field of computer sciencesoftware engineering, a Fast Track program is available to exceptionally well-qualified students who choose their courses carefully. At the end of five years of successful study, it is possible to earn both the B.S. degree in Software Engineering and the M.S. degree in Computer Science or the M.S. degree in Computer Science with Major in Software Engineering. Being within 30 hours of graduation, a student admitted to the graduate program and accepted into the Fast Track program may, during the senior year, take 15 graduate hours that may be used to complete the baccalaureate degree and also to satisfy the requirements for the master’s degree.

Interested students should see the Associate Dean of Undergraduate Education (ADU) for specific admission requirements to the Fast Track program.

Honors Program

The Department of Computer Science offers upper-division Honors for outstanding students in both the B.S. in Computer Science and B.S. in Software Engineering degree programs. These programs offer special sections of designated classes and other activities designed to enhance the educational experience of exceptional students. Admission to the Honors programs requires a 3.5 or better GPA in at least 30 hours of coursework. Graduation with Honors requires a 3.5 or better GPA and completion of at least 6 honors classes, including a Senior Thesis or Senior Design Project class. For more details, contact the Office of Undergraduate Advising (ECS South 2.502; (972)883-2004).

3 + 2 Programs

The University of Texas at Dallas offers "3 + 2" programs with Abilene Christian University, Austin College, Paul Quinn College, and Texas Woman's University. These programs combine the strengths of these respective institutions with those of The University of Texas at Dallas, and permit students to earn two undergraduate degrees simultaneously while preparing for a professional career in engineering. Full-time undergraduate students attend one of the institutions listed above, majoring in mathematics, physics, or computer science for three years, and then continue their education for two years at The University of Texas at Dallas, majoring in electrical engineering. After completion of the program, students receive the Bachelor of Science degree in their chosen major from one of the above institutions and the B.S.E.E. degree from U.T. Dallas. Further details of the individual programs and persons to contact at the respective institutions can be obtained from the U.T. Dallas Electrical Engineering Program Office.


A minor in Software Engineering requires 21 credit hours earned through the following courses:

CS 1337 Computer Science I
CS 2305 Discrete Mathematics for Computing I
CS 2336 Computer Science II
CS/SE 3345 Data Structures and Introduction to Algorithms
CS/SE 3354 Software Engineering
SE 3306 Mathematical Foundations of Software Engineering
SE 43XX Elective (any 4000-level organized class)


General Information
Computer Science
Electrical Engineering
Software Engineering
Telecommunications Engineering


This catalog is a general information publication only. It is not intended to nor does it contain all regulations that relate to students. The provisions of this catalog do not constitute a contract, express or implied, between any applicant, student or faculty member and The University of Texas at Dallas or The University of Texas System. The University of Texas at Dallas reserves the right to withdraw courses at any time, to change fees or tuition, calendar, curriculum, degree requirements, graduation procedures, and any other requirements affecting students. Changes will become effective whenever the proper authorities so determine and will apply to both prospective students and those already enrolled.

Statement on Equal Educational Opportunity
The University of Texas at Dallas is committed to an educational and working environment that provides equal opportunity to all members of the University community. In accordance with federal and state law, the University prohibits unlawful discrimination on the basis of race, color, religion, national origin, gender, age, disability, and veteran status. Discrimination on the basis of sexual orientation is also prohibited pursuant to University policy.