Erik Jonsson School of Engineering and Computer Science
Department of Computer Science
Computer Science (BS) and 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.
Professors: Farokh B. Bastani @bastani, R. Chandrasekaran @chandra, Ovidiu Daescu @daescu, Yvo G. Desmedt @ygd120030, Ding-Zhu Du @dxd056000, András Faragó @farago, Gopal Gupta @gupta, Zygmunt Haas @zjh130030, Sanda M. Harabagiu @sanda, Dung T. Huynh @huynh, Jason Jue @jjue, Latifur Khan @lkhan, Dan I. Moldovan @moldovan, Simeon C. Ntafos @ntafos, Ivor P. Page @ivor, Balakrishnan Prabhakaran @praba, Ravi Prakash @ravip, Balaji Raghavachari @rbk, Hsing-Mean (Edwin) Sha @edsha, Ivan Hal Sudborough @hal, Bhavani Thuraisingham @bxt043000, Subbarayan Venkatesan @venky, W. Eric Wong @wew021000, Weili Wu @wxw020100, I-Ling Yen @ilyen, Kang Zhang @kzhang, Si Qing Zheng @sizheng
Professor Emeritus: Klaus Truemper @klaus
Associate Professors: Sergey Bereg @sxb027100, Lawrence Chung @chung, Jorge A. Cobb @jcobb, Kendra M. L. Cooper @kcooper, Xiaohu Guo @xxg061000, Kevin Hamlen @kxh060100, Murat Kantarcioglu @mxk055100, Yang Liu @yxl053200, Andrian Marcus @axm141731, Neeraj Mittal @nxm020100, Yu-Chung (Vincent) Ng @ycn041000, Kamil Sarac @kxs028100, Haim Schweitzer @haim, Rym Zalila-Wenkstern @rmili
Assistant Professors: Alvaro Cárdenas @axc127431, Vibhav Gogate @vxg112130, Zhiqiang Lin @zxl111930, Cong Liu @cxl137330, Ryan McMahan @rpm120130, Nicholas Ruozzi @nxr000001, Lingming Zhang @lxz144130
Senior Lecturers: Ebru Cankaya @exc067000, Michael Christiansen @mgc013000, John Cole @jxc064000, Chris I. Davis @cid021000, Timothy (Tim) Farage @tfarage, Neeraj Gupta @nkg140130, Shyam Karrah @skarrah, Pushpa Kumar @pkumar, Linda Morales @lxm014000, Nhut Nguyen @nhutnn, Greg Ozbirn @ozbirn, Mark Paulk @mcp130030, Miguel Razo-Razo @mrazora, William (Bill) Semper @wjs130130, Charles Shields Jr. @cshields, Jason W. Smith @jws130830, Janell Straach @jxs017800, Jeyakesavan (Jey) Veerasamy @veerasam, Don G. Vogel @dgv130030
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.
Bachelor of Science in Computer Science (BS)
Goals for the Computer Science Program
The undergraduate Computer Science program is committed to provide students with a high-quality education and prepare them for long and successful careers in industry and government.
Our graduates, while eminently ready for immediate employment, will also be fully ready for focused training as required for specific positions in Computer Science and closely related areas. Graduates interested in highly technical careers, research, and/or academia will be fully prepared to further their education in graduate school.
Program Educational Objectives for Computer Science
Within a few years after graduation, graduates of the Computer Science program should:
- Have a successful, long-lived, computer science based career path.
- Meet the needs of industry or academia.
- Contribute to, and/or lead, computer science based teams.
- Actively pursue continuing (lifelong) learning.
The BS program in Computer Science is accredited by the Computing Accreditation Commission of ABET, www.abet.org.
Bachelor of Science in Computer Science
Degree Requirements (124 semester credit hours)1
I. Core Curriculum Requirements: 42 semester credit hours1
Communication: 6 semester credit hours
RHET 1302 Rhetoric
Mathematics: 3 semester credit hours
Life and Physical Sciences: 6 semester credit hours1
PHYS 2325 Mechanics
PHYS 2326 Electromagnetism and Waves
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
Social and Behavioral Sciences: 3 semester credit hours
Component Area Option: 6 semester credit hours
II. Major Requirements: 68 semester credit hours
Major Preparatory Courses: 20 semester credit hours beyond Core Curriculum
CS 1337 Computer Science I
CS 2305 Discrete Mathematics for Computing I
CS 2336 Computer Science II
MATH 2418 Linear Algebra
PHYS 2126 Physics Laboratory II
4 hours Science Elective
Major Core Courses: 39 semester credit hours beyond Core Curriculum
CS 3162 Professional Responsibility in Computer Science and Software Engineering
CS 3305 Discrete Mathematics for Computing II
CS 3340 Computer Architecture
CS 3341 Probability and Statistics in Computer Science and Software Engineering
CS 3345 Data Structures and Introduction to Algorithmic Analysis
CS 3354 Software Engineering
CS 3376 C/C++ Programming in a UNIX Environment
CS 4141 Digital Systems Laboratory
CS 4337 Organization of Programming Languages
CS 4341 Digital Logic and Computer Design
CS 4348 Operating Systems Concepts
CS 4349 Advanced Algorithm Design and Analysis
CS 4384 Automata Theory
CS 4485 Computer Science Project
Major Guided Electives: 9 semester credit hours
CS guided electives are 4000 level CS courses approved by the student's CS advisor. The following courses may be used as guided electives without the explicit approval of an advisor:
CS 4314 Intelligent Systems Analysis
CS 4315 Intelligent Systems Design
CS 4334 Numerical Analysis
CS 4336 Advanced Java
CS 4352 Human Computer Interactions I
CS 4353 Human Computer Interactions II
CS 4361 Computer Graphics
CS 4365 Artificial Intelligence
CS 4375 Introduction to Machine Learning
CS 4376 Object-Oriented Programming Systems
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 4399 Senior Honors in Computer Science
EE 4325 Introduction to VLSI Design
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
III. Elective Requirements: 14 semester credit hours
Free Electives: 14 semester credit hours
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.
Fast Track Baccalaureate/Master's Degrees
In response to the need for post-baccalaureate education in the exciting field of computer science, a Fast Track program is available to well-qualified UT Dallas undergraduate students. At the end of five years of successful study, it is possible to earn both the BS and the MS degree in Computer Science (or MS in Software Engineering). Qualified seniors may take up to 15 graduate semester credit hours that may be used to complete the baccalaureate degree and also to satisfy requirements for the master's degree. Interested students should see the Associate Dean of Undergraduate Education (ADU) for specific requirements.
The Department of Computer Science offers two Honors Programs. The first program is an upper-division honors program for outstanding students in the BS in Computer Science and BS in Software Engineering degree programs. This Honors program offers special sections of designated classes and other activities designed to enhance the educational experience of exceptional students. Admission to this Honors program requires a 3.500 or better GPA (grade point average) in at least 30 semester credit hours of coursework. Graduation with Honors requires a 3.500 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).
Departmental Honors with Distinction may be awarded to students whose Senior Thesis or Senior Design Project is judged by a faculty committee to be of exemplary quality. Only students graduating with Departmental Honors are eligible. Thesis/projects must be submitted by the deadline that applies to MS Theses and PhD Dissertations in the graduating semester to allow for proper evaluation. Students interested in Honors with Distinction are encouraged to start working on their thesis/project a year prior to graduation.
The second program, called Computer Science Computing Scholars (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 1200, CS 2305, CS 3305, CS 3340, CS 3341, CS 3345, CS 3354, CS 4141, CS 4337, CS 4341, CS 4348, CS 4349, CS 4384, and 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.
A Certificate in Information Assurance 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
The certificate is intended for those individuals who are working in the industry and who already have background similar to a BS degree. CS and SE majors that complete the required classes, as well as students that complete the Minor in Information Assurance will be awarded certificates in Information Assurance.