Department of Computer Science
http://www.utdallas.edu/dept/cs/
Faculty
Professors: Farokh Bastani, R. Chandrasekaran, Ding-Zhu Du, András
Faragó, Gopal Gupta, Dung T. Huynh, Dan Moldovan, Simeon C.
Ntafos, Balaji Raghavachari, Hsing-Mean (Edwin) Sha, Ivan H. Sudborough, Bhavani Thuraisingham, Klaus Truemper (Emeritus), , I-Ling Yen , Kang Zhang, Si Qing Zheng.
Associate Professors: Sergey Bereg, Lawrence Chung, Jorge A. Cobb, Ovidiu
Daescu, Galigekere R. Dattatreya, Sanda Harabagiu, Vasileios Hatzivassiloglou , Jason Jue, Latifur Khan, Rym Mili, Neeraj Mittal, Ivor P. Page, B. Prabhakaran, Ravi Prakash, Kamil Sarac, Haim Schweitzer, Subbarayan Venkatesan, Yuke Wang, W. Eric Wong
Assistant Professors: Joao Cangussu, Kendra M.L.
Cooper, Jing Dong, Xiaohu Guo, Kevin Hamlen, Murat Kantarcioglu, Yang Liu, Ying Liu, Vincent Ng, Weili Wu
Senior Lecturers: Rekha Bhowmik, Tim Farage, Herman Harrison, Sam Karrah,
Lawrence King, Greg Ozbirn, Cort Steinhorst, Laurie Thompson, Nancy Van Ness
Objectives
The Graduate Program in Computer
Science provides intensive preparation in the design, programming, theory, and
applications of computers. The Department of Computer Science offers courses of
study leading to the M.S. in Computer Science, the M.S. in Computer Science
with Major in Software Engineering, Ph.D. degree in Computer Science, and the
PhD degree in Software Engineering. Training is provided for both academically
oriented students and students with professional goals in the many business, industrial or governmental occupations requiring advanced
knowledge of computer theory and technology. Courses and research are offered
in a variety of subfields of computer science, including operating systems,
computer architecture, computer graphics, pattern recognition, automata theory,
combinatorics, artificial intelligence, data & network security,
natural language processing, database design, computer networks, programming
languages, software systems, analysis of algorithms, computational complexity,
software engineering, software testing, software reliability, scheduling,
visualization, fault-tolerant computing, parallel processing,
telecommunications networks, telecommunications software, performance of
systems, VLSI, computational geometry, and design automation.
A comprehensive program of evening
courses is offered which enables part-time students to earn the master’s degree
or to select individual courses of interest.
Facilities
The Department of Computer Science
has a large number of PCs, Sun Workstations, and several servers for research
use. Laboratories are available for parallel processing, distributed systems,
software engineering, high-performance computing, graphics, programming
languages and systems, telecommunications, CAD and graph visualization, image
understanding and processing, artificial intelligence, data mining, natural
language processing, speech processing, and web technologies. The Department of
Computer Science has an Internet 2 connection and all major computers on campus
are linked by an Ethernet network.
In addition to the Computer Science
faculty, there are individuals who are involved in computer related work in
many other areas of the university, including the several physical and social
sciences and in various areas of business and management. Students majoring in
computer science with interest in these important application areas have the
opportunity to consult and work with talented faculty from a wide range of
disciplines. The department actively participates in a number of
interdisciplinary degree programs which include MS and Ph.D. in Computer
Engineering, MS and Ph.D. in Telecommunications Engineering, and Ph.D. in
Geospatial Information Sciences.
Admission
Requirements
The
University’s general admission requirements are discussed here.
The student entering the Computer
Science M.S. program should have an undergraduate preparation equivalent to a
baccalaureate in a quantitative science, including calculus and linear algebra.
However, special arrangements (requiring more than the minimal number of hours)
can be made for students with good undergraduate preparation in other fields.
Minimum requirements are:
•
Bachelor’s degree which includes 2
semesters of calculus and 1 semester of linear algebra.
•
GPA of at least 3.0 (last 60 hours).
GPA in quantitative courses of at least 3.3.
•
GRE scores of 500, 700 and 4 for the
verbal, quantitative and analytical writing components, respectively, are
advisable based on our experience with student success in the program.
Students lacking undergraduate
preparation in Computer Science must complete the courses listed below. At the
discretion of the graduate adviser, a diagnostic exam may be required. The
required prerequisite courses common to all Master’s students are:
CS 5301 Advanced Professional and
Technical Communication
CS 5303 Computer Science I
CS 5330 Computer Science II
CS 5333 Discrete Structures
CS 5343 Algorithm Analysis and Data Structures
CS 5348 Operating Systems Concepts
Substitution of CS 5303, 5330 by
professional experience will be considered. Additional prerequisite courses
required for the various degree plans are:
For the Traditional Computer Science and Bioinformatics Tracks:
CS
5349 Automata Theory
CS
5390 Computer Networks
For the Networks and Telecommunications Track:
CS
3341 Probability and Statistics
CS
5390 Computer Networks
For the Intelligent Systems Track:
CS
5349 Automata Theory
For the Major in Software Engineering:
CS/SE
5354 Software Engineering
Degree
Requirements
The
University’s general degree requirements are discussed here.
The student may choose a thesis plan
or a non-thesis plan. The thesis plan requires a minimum of 27 hours of
courses, plus completion of an approved thesis (six thesis hours). This thesis
is directed by a supervising professor and must be approved by the head of the
Department of Computer Science. The non-thesis plan also requires a minimum of
33 hours of courses.
By a judicious planning of courses
chosen from the computer science curriculum, supervised and approved by the
graduate adviser, students may pursue the M.S. degree in Computer Science while
emphasizing specific areas of the discipline. Students may also choose to
receive the M.S. degree in Computer Science with a Major in Software
Engineering. Because of the rapidly changing nature of the computer science
discipline, the specific courses required may change by the time of the
student’s admission. A listing of the required courses will be specified by the
student’s adviser. Specific degree requirements follow.
Core
Requirements (15 hours)
Students are required to complete
one of the following:
Traditional
Computer Science Track
CS 6363 Design & Analysis of
Computer Algorithms
CS 6378 Advanced Operating Systems
CS 6390 Advanced Computer Networks
Two of the following three courses:
CS 6353 Compiler Construction
CS 6360 Database Design
CS 6371 Structure & Design of Programming Languages
Networks
and Telecommunications Track
CS 6352 Performance of Computer
Systems and Networks
CS 6363 Design & Analysis of Computer Algorithms
CS 6378 Advanced Operating Systems
CS 6385 Algorithmic Aspects of Telecommunication Networks
CS 6390 Advanced Computer Networks
Intelligent
Systems Track
CS 6360 Database Design
CS 6363 Design & Analysis of Computer Algorithms
CS 6364 Artificial Intelligence
CS 6375 Machine Learning
CS 6378 Advanced Operating Systems
Bioinformatics
Track
CS 6325 Introduction to
Bioinformatics
CS 6363 Design & Analysis of Computer Algorithms
CS 6360 Database Design
Two of the following four courses:
CS 6333 Algorithms in Computational Biology
CS 6365 Data and Text Mining for
Computational Biology
CS 6383 Computational Systems Biology
CS 6393 Advanced Algorithms in Biology
Major in Software Engineering (M. S.
C. S.)
CS/SE 6361 Requirements Engineering
CS/SE 6362 Software Architecture and Design
CS/SE 6367 Software Testing, Validation and Verification
CS/SE 6387 Advanced Software
Engineeering Project
One of the following four courses:
CS 6353 Compiler Construction
CS/SE 6360 Database Design
CS 6371 Advanced Programming Languages
CS/SE 6388 Software Project Planning and Management
Students must satisfy the core
requirements by either earning a 3.2 minimum grade point average OR by earning
a 3.0 minimum grade point average in the five core courses and taking an extra
approved elective (beyond the minimum degree requirements of 33 hours) and
earning a grade of B or better in this additional elective.
Electives
(minimum of 18 hours)
Five [15 credit hours]
6000/7000/8000 level elective CS courses, or six hours of thesis or project
courses plus three elective courses [9 + 6 = 15 credit hours], with approval of
a graduate adviser; a minimum grade point average of 3.0 is required. Courses
that are prerequisites to the student’s core requirements are especially
recommended. Approved electives must be taken to make a minimum of 33 hours.
While the Department of Computer
Science offers both the Master of Science in Computer Science and the Master of
Science in Computer Science with Major in Software Engineering degrees,
students are not permitted to pursue both degrees.
The Department of Computer Science
offers Ph.D. degrees in Computer Science and in Software Engineering.
Each degree program is tailored to
the student. The student must arrange a course program with the guidance and
approval of a faculty member chosen as his/her graduate adviser. Adjustments
can be made as the student’s interests develop and a specific dissertation
topic is chosen.
Admission
Requirements
The
University’s general admission requirements are discussed here.
A student may be admitted under two
possible options. The student must have:
•
A Master’s degree in computer
science or its equivalent, and
•
A GPA of at least 3.5 and GRE of at
least 1200 (verbal and quantitative) or 1800 (verbal, quantitative, and
analytical) is advisable based on our experience with student success in the
program; or
•
A B.S. in related area that includes
two semesters of calculus and linear algebra with
•
GPA of at least 3.5 in the last 60
hours, and
•
A GRE of at least 1300 (verbal and
quantitative) is advisable based on our experience with student success in the
program.
Degree
Requirements
The
University’s general degree requirements are discussed here.
Core
requirements:
The core requirements for the Ph.D.
degree in Computer Science are the same as the ones for the M.S. in Computer
Science or the M.S. in Computer Science with Major in Software Engineering; the
core requirements for the Ph.D. degree in Software Engineering are the same as
those for the M.S. in Computer Science with Major in Software Engineering.
•
Pass a qualifying examination.
o Pass,
with a grade of B or better, courses chosen as follows:
CS
6382 Theory of Computation; in addition, students pursuing the Ph.D. degree in
Software Engineering should take CS/SE 6389 _ Formal Methods and Programming
Methodology.
o Two
CS/SE 7000 and above level courses
•
Sufficient CS electives for a total
of at least 75 hours beyond the baccalaureate degree. At least 9 hours of organized advanced Computer Science
electives must be taken at UT Dallas. The student is encouraged to consult with
an adviser in choosing electives.
Dissertation
A dissertation is required and must
be approved by the graduate program. A student must arrange for a dissertation
adviser willing to guide this dissertation. The student must have a
dissertation supervising committee that consists of no less than four members
of whom at least three must be from the Computer Science faculty. The
dissertation may be in computer science exclusively or it may involve
considerable work in an area of application.