Department of Computer Science
Software Engineering (BS)
The Computer Science Department offers the BS degree in Computer Science and the BS 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" BS / MS 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:
- To prepare students for software engineering positions in industry or government.
- To prepare students for graduate study in Software Engineering.
- To provide a solid foundation in Computer Science and Software Engineering principles that will allow graduates to adapt effectively in a quickly changing field.
Program Educational Objectives for Software Engineering
Within a few years after graduation, graduates of the Software Engineering Program should:
- Have a successful, long-lived, software engineering based career path.
- Meet the needs of industry or academia.
- Contribute to, and/or lead, software engineering based teams.
- Actively pursue continuing (lifelong) learning.
ABET Accreditation
The BS program in Software Engineering is accredited by the Engineering Accreditation Commission of ABET, www.abet.org.
Bachelor of Science in Software Engineering
Degree Requirements (123 semester credit hours)1
View an Example of Degree Requirements by Semester
Faculty
FACG> ecs-software-engineering-bs,ecs-computer-science-bs
Professors: Farokh B. Bastani, Sergey Bereg, R. Chandrasekaran, Ovidiu Daescu, Yvo G. Desmedt, Ding-Zhu Du, András Faragó, Paul Fishwick, Xiaohu Guo, Gopal Gupta, Zygmunt Haas, Kevin Hamlen, Sanda M. Harabagiu, Dung T. Huynh, Jason Jue, Murat Kantarcioglu, Latifur Khan, Andrian Marcus, Dan I. Moldovan, Sriraam Natarajan, Yu-Chung (Vincent) Ng, Tien Nguyen, Simeon C. Ntafos, Ivor P. Page, Balakrishnan Prabhakaran, Ravi Prakash, Kamil Sarac, Haim Schweitzer, Bhavani Thuraisingham, Subbarayan Venkatesan, W. Eric Wong, Weili Wu, I-Ling Yen, Kang Zhang
Associate Professors: Lawrence Chung, Jorge A. Cobb, Vibhav Gogate, Cong Liu, Benjamin Raichel, Nicholas Ruozzi, Rym Zalila-Wenkstern
Assistant Professors: Kyle Fox, Shuang Hao, Chung Hwan Kim, Jin Kim, Shiyi Wei
Professors Emeriti: William J. Pervin, Balaji Raghavachari, Ivan Hal Sudborough, Klaus Truemper
Professors of Instruction: Ebru Cankaya, John Cole, Timothy (Tim) Farage, Richard Goodrum, Shyam Karrah, Pushpa Kumar, Nhut Nguyen, Greg Ozbirn, Miguel Razo-Razo
Associate Professors of Instruction: Sridhar Alagar, Gordon Arnold, Anjum Chida, Wei Pang Chin, Bhadrachalam Chitturi, Michael Christiansen, Chris I. Davis, Karen Doore, Neeraj Gupta, Khiem Le, Mehra Nouroz Borazjany, Mark Paulk, Stephen Perkins, Jason W. Smith, Laurie Thompson, Jeyakesavan (Jey) Veerasamy, James Willson, Nurcan Yuruk
Assistant Professors of Instruction: Eric Becker, Scott Dollinger, Ranran Feng, Gity Karami, Kamran Khan, Karen Mazidi, Richard K. Min, Anarag Nagar, Elmer Salazar, Meghana Satpute, Klyne Smith, Nidhiben Solanki
I. Core Curriculum Requirements: 42 semester credit hours2
Communication: 6 semester credit hours
RHET 1302 Rhetoric
ECS 3390 Professional and Technical Communication3
Or select any 6 semester credit hours from Communication Core courses (see advisor)
Mathematics: 3 semester credit hours
MATH 2413 Differential Calculus4
or MATH 2417 Calculus I4
Or select any 3 semester credit hours from Mathematics Core courses (see advisor)
Life and Physical Sciences: 6 semester credit hours
PHYS 2325 Mechanics5
PHYS 2326 Electromagnetism and Waves5
Or select any 6 semester credit hours from Life and Physical Sciences Core courses (see advisor)
Language, Philosophy and Culture: 3 semester credit hours
Select any 3 semester credit hours from Language, Philosophy and Culture Core courses (see advisor)
Creative Arts: 3 semester credit hours
Select any 3 semester credit hours from Creative Arts Core courses (see advisor)
American History: 6 semester credit hours
Select any 6 semester credit hours from American History Core courses (see advisor)
Government/Political Science: 6 semester credit hours
GOVT 2305 American National Government
GOVT 2306 State and Local Government
Or select any 6 semester credit hours from Government/Political Science Core courses (see advisor)
Social and Behavioral Sciences: 3 semester credit hours
Select any 3 semester credit hours from Social and Behavioral Sciences Core courses (see advisor)
Component Area Option: 6 semester credit hours
MATH 2417 Calculus I4
MATH 2419 Calculus II4
PHYS 2125 Physics Laboratory I5
Or select any 6 semester credit hours from Component Area Option Core courses (see advisor)
II. Major Requirements: 74 semester credit hours
Major Preparatory Courses: 24 semester credit hours beyond Core Curriculum
ECS 1100 Introduction to Engineering and Computer Science6
CS 1200 Introduction to Computer Science and Software Engineering
CS 1136 Computer Science Laboratory
CS 1336 Programming Fundamentals
CS 1337 Computer Science I
CS 2305 Discrete Mathematics for Computing I
CS 2336 Computer Science II
MATH 2413 Differential Calculus4
or MATH 2417 Calculus I4
MATH 2414 Integral Calculus4
or MATH 2419 Calculus II4
MATH 2418 Linear Algebra
PHYS 2125 Physics Laboratory I5
PHYS 2126 Physics Laboratory II
PHYS 2325 Mechanics5
PHYS 2326 Electromagnetism and Waves5
SE 2340 Computer Architecture
Major Core Courses: 38 semester credit hours beyond Core Curriculum
SE 3162 Professional Responsibility in Computer Science and Software Engineering
SE 3306 Mathematical Foundations of Software Engineering
SE 3341 Probability and Statistics in Computer Science and Software Engineering
CS 3345 Data Structures and Introduction to Algorithmic Analysis
CS 3354 Software Engineering
SE 3377 Systems Programming in UNIX and Other Environments
ECS 3390 Professional and Technical Communication7
SE 4347 Database Systems
CS 4348 Operating Systems Concepts
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 semester credit 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 advisor:
CS 4141 Digital Systems Laboratory
CS 4314 Intelligent Systems Analysis
CS 4315 Intelligent Systems Design
CS 4334 Numerical Analysis
CS 4337 Programming Language Paradigms
CS 4341 Digital Logic and Computer Design
CS 4349 Advanced Algorithm Design and Analysis
CS 4352 Human-Computer Interaction I
CS 4353 Human-Computer Interaction II
CS 4361 Computer Graphics
CS 4365 Artificial Intelligence
CS 4375 Introduction to Machine Learning
CS 4384 Automata Theory
CS 4386 Compiler Design
CS 4389 Data and Applications Security
CS 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 4395 Human Language Technologies
CS 4396 Networking Laboratory
CS 4397 Embedded Computer Systems
CS 4398 Digital Forensics
CS 4485 Computer Science Project
EE 4325 Introduction to VLSI Design
SE 4376 Object-Oriented Design
SE 4399 Senior Honors in Software Engineering
Any other organized SE 4300-level course
Application Domains: 9 semester credit hours
An important aspect of Software Engineering education is the use of software engineering concepts in a particular application domain. Students should use two or three of their 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. Courses in each of the domain can be substituted by other appropriate elective courses offered in a particular semester with consent of the Computer Science Department.
Networks: 9 semester credit hours
CS 4390 Computer Networks
CS 4393 Computer and Network Security
CS 4396 Networking Laboratory
Information Assurance: 9 semester credit hours
CS 4389 Data and Applications Security
CS 4393 Computer and Network Security
CS 4398 Digital Forensics
Embedded Systems: 9 semester credit hours
CS 4141 Digital Systems Laboratory
CS 4341 Digital Logic and Computer Design
CS 4397 Embedded Computer Systems
CS 4348 Operating Systems Concepts
Computer Imaging: 9 semester credit hours
CS 4361 Computer Graphics
CS 4391 Introduction to Computer Vision
CS 4392 Computer Animation
Artificial Intelligence and Cognitive Modeling: 9 semester credit hours; take 3 of 5
CS 4314 Intelligent Systems Analysis
CS 4315 Intelligent Systems Design
CS 4365 Artificial Intelligence
CS 4375 Introduction to Machine Learning
CS 4395 Human Language Technologies
Human-Computer Interaction: 9 semester credit hours
CS 4352 Human-Computer Interaction I
CS 4353 Human-Computer Interaction II
CS 4361 Computer Graphics
III. Elective Requirements: 7 semester credit hours
Free Electives: 7 semester credit hours
All students must accumulate at least 123 semester credit hours of university credit to graduate. Both lower- and upper-division courses may count as free electives but students must complete at least 51 semester credit hours of upper-division courses to qualify for graduation
Degree programs in the Erik Jonsson School of Engineering and Computer Science are governed by various accreditation boards that place restrictions on classes used to meet the curricular requirements of degrees they certify. For this reason, not all classes offered by the University can be used to meet elective requirements. Please check with your academic advisor before enrolling in classes you hope to use as free electives.
Fast Track Baccalaureate/Master's Degrees
In response to the need for post-baccalaureate education in the exciting field of software engineering, a Fast Track program is available to well-qualified UT Dallas undergraduate students. Qualified seniors may take up to 15 graduate semester credit 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 requirements.
Interested students should see the Associate Dean of Undergraduate Education (ADU) for specific admission requirements to the Fast Track program.
Honors Programs
The Department of Computer Science offers an Honors Program called Computer Science Computing Scholars (CS2). (CS2) is an intense Bachelor of Science in Computer Science Degree Program created for exceptionally gifted students who wish to pursue a demanding course of study enriched throughout with research experiences. The Computing Scholars Program has a specially designed curriculum. Courses integrate discussion of current research, recent discoveries, and open problems into a rich logical progression of firmly related topics. Course numbers for the Core Curriculum Requirements and Major Requirements are the same as those for the Bachelor of Science in Computer Science, but Computing Scholars take honors versions of the following courses: ECS 1100, CS 2305, CS 2340, CS 3305, CS 3341, CS 3345, CS 3354, CS 4141, CS 4337, CS 4341, CS 4348, CS 4349, CS 4384, CS 4485.
Admission to the program is mainly by nomination and invitation. Those invited to join the Computing Scholars Honors Program will have successfully completed a full and challenging high school curriculum, will have achieved high scores on the SAT or ACT tests, and will be about to graduate from high school, or equivalent, with high class rank.
Successful participants will graduate with the added distinction of a Computing Scholars Honors Diploma.
For more information about this program students should contact the Computer Science Department leadership.
Minors
Minor in Software Engineering: 21 semester credit hours
Students majoring in Computer Engineering, Computer Science or Software Engineering cannot add a minor in Software Engineering.
A minor in Software Engineering requires 21 semester credit hours earned through the following courses:
CS 1337 Computer Science I
CS 2305 Discrete Mathematics for Computing I
CS 2336 Computer Science II
SE 3306 Mathematical Foundations of Software Engineering
CS 3345 Data Structures and Introduction to Algorithmic Analysis
CS 3354 Software Engineering
SE Elective (any 4000-level organized SE class)
Certificates
Certificate in Information Assurance
9 semester credit hours
A Certificate in Information Assurance is offered by the Department of Computer Science. It can be obtained by completing the following (as well as any required prerequisites):
CS 4389 Data and Applications Security
CS 4393 Computer and Network Security
CS 4398 Digital Forensics
Students that complete the Minor in Information Assurance will not be awarded certificates in Information Assurance.
1. Incoming freshmen must enroll and complete requirements of UNIV 1010 and the corresponding school-related freshman seminar course. Students, including transfer students, who complete their core curriculum at UT Dallas must take UNIV 2020.
2. Curriculum Requirements can be fulfilled by other approved courses. The courses listed are recommended as the most efficient way to satisfy both Core Curriculum and Major Requirements at UT Dallas.
3. Semester credit hours fulfill the communication component of the Core Curriculum.
4. Three semester credit hours of Calculus are counted under Mathematics Core, and five semester credit hours of Calculus are counted as Component Area Option Core.
5. Six semester credit hours of Physics are counted under Science core, and one semester credit hour of Physics (PHYS 2125) is counted as Component Area Option Core.
6. Transfer students with sufficient background may petition to substitute upper-division semester credit hours in the major for this class.
7. Semester credit hours fulfill the communication elective of the Core Curriculum.