Department of Computer
Science
http://www.utdallas.edu/dept/cs/
Faculty
Professors: Farokh Bastani, R. Chandrasekaran,
Ding-Zhu Du, AndrásFaragó, Gopal Gupta, Dung T. Huynh, Jason Jue, Dan
Moldovan, Simeon C. Ntafos, B. Prabhakaran, 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, Kendra M. L. Cooper, OvidiuDaescu, Sanda Harabagiu, Vasileios Hatzivassiloglou , Murat Kantarcioglu, Latifur
Khan, Yang Liu, Rym Mili, Neeraj Mittal, Vincent Ng, Ivor P. Page, Ravi Prakash, Kamil
Sarac, Haim Schweitzer, Subbarayan Venkatesan, Yuke Wang, W. Eric Wong, Weili
Wu
Assistant Professors: , Jing Dong, Mark Gabel, Vaibhav
Gogate, Xiaohu Guo, Kevin Hamlen,
Zhiqiang Lin
Senior Lecturers: Tim Farage, Herman Harrison, Shyam Karrah,
Feliks Kluzniak, Linda
Morales, Greg Ozbirn, Miguel Razo Razo,
Cort Steinhorst, Janell Straach,
Laurie Thompson, Jey Veerasamy
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 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:
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 Information Assurance Track:
Computer Networks CS 5390
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
Systems Track
CS 6304 Computer
Architecture
CS 6363 Computer Algorithms
CS 6378 Advanced Operating Systems
CS 6396 Real Time Systems
One of the following six
courses:
CS 6360 Database
Design
CS 6376 Parallel Processing
CS 6380 Distributed Processing
CS 6397 Synthesis and Optimization of High Performance Systems
CS 6399 Parallel Architecture and Systems
CS 6V81 Network Security
Information Assurance Track
CS 6363 Design &
Analysis of Computer Algorithms
CS 6378 Advanced Operating Systems
Two Courses from the
following list
CS 6324 Information
Security
CS 6377 Introduction to Cryptography
CS 6V81 Network Security
CS 6V81 Data Security
One Course from the
following List
CS 6390 Advanced
Computer Networks
CS 6360 Database Design
CS 6371 Structure & Design of Prog. Languages *
(must
have completed CS 5349, Automata Theory)
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 Engineering 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 maintain the required GPA.
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.
Note: For the information assurance track, students
must also take six elective courses (three CS electives and three approved
information assurance electives), and all electives must be 6000 level or
above. A course cannot be used to satisfy both core and elective requirements.
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.
•
Pass, with a grade of
B or better, courses chosen as follows:
•
CS 6382 Theory of
Computation.
•
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.