Department of Computer Science

http://www.utdallas.edu/dept/cs/

Faculty


Professors: Farokh Bastani, Ramaswamy 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), Kang Zhang, Si Qing Zheng††
Associate Professors: Sergei Bereg, Lawrence Chung, Jorge A. Cobb, Galigekere R. Dattatreya, Sanda Harabagiu, Vasileios Hatzivassiloglou , Jason Jue, Rym Mili, Ivor P. Page, B. Prabhakaran, Ravi Prakash, Haim Schweitzer, Subbarayan Venkatesan, Yuke- Wang, W. Eric Wong, I-Ling Yen
Assistant Professors: Joao Cangussu, Kendra M.L. Cooper, Ovidiu Daescu, Jing Dong, Murat Kantarcioglu, Latifur Khan, Yang Liu, Ying Liu, Vincent Ng, Neeraj Mittal, Kamil Sarac, R.N. Uma, Weili Wu, Youtao Zhang
Senior Lecturers: Tim Farage, Herman Harrison, Sam Karrah, Lawrence King, Radha Krishnan, Rafael Lacambra, Greg Ozbirn, David Russo, Martha Sanchez, Cort Steinhorst, Anthony Sullivan, 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, 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 at least 1200 (verbal + quantitative) or 1800 (verbal + quantitative + analytical) is 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 Track:
†††††††††††† 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/SE 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/SE 6360 Database Design
CS 6363 Design & Analysis of Computer Algorithms
CS 6364 Artificial Intelligence
CS 6375 Machine Learning
CS 6378 Advanced Operating Systems

Major in Software Engineering (M. S. C. S.)

CS/SE 6354 Advanced Software Engineering
CS/SE 6361 Requirements Engineering
CS/SE 6362 Software Architecture and Design
CS/SE 6367 Software Testing, Validation and Verification
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.

Research Track

Admission Requirements

Full-time students with strong Computer Science background and contemplating a career in research may choose to be considered for a limited number of openings in the Research Track for the Master of Science degree. Students can enter the Research Track only in the Fall semester. All students admitted together in the Research Track are required to take their core courses together. While not required, it is expected that most students in the Research Track will continue on to the Ph.D. degree.

The admission requirements for the Research Track are:

  • A B.S. in Computer Science (or equivalent) that includes two semesters of calculus and one semester of 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

Students admitted to the Research Track are expected to have strong Computer Science background that includes the following courses (or equivalents):


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
CS 5349 Automata Theory
CS/SE 5354 Software Engineering
CS 5390 Computer Networks
CS 5301 Advanced Professional and Technical Communication is also a required prerequisite but it may be taken after admission.

Core Requirements:


CS/SE 6354 Advanced Software Engineering
CS/SE 6362 Software Architecture and Design
CS 6363 Design & Analysis of Computer Algorithms
CS 6378 Advanced Operating Systems***
CS 6390 Advanced Computer Networks***

Electives:

Students in the Research Track will have to complete six 6000 and above level elective CS, SE courses that include at least one 7000 level course and six hours of Masterís thesis [18 credit hours]. A minimum grade point average of 3.0 is required.

Students in the Research Track are encouraged to take PhD qualifying exams in the core classes during the first year. Students that make satisfactory progress will be admitted to the PhD degree programs in Computer Science or Software Engineering after their first year. Such students will receive the M.S. degree in Computer Science or the M.S. degree in Computer Science with Major in Software Engineering upon approval of their dissertation proposal and completion of the required hours for the MS degree (i.e., the dissertation proposal and 6 hours of coursework will replace the MS Thesis requirement).

Doctor of Philosophy

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; in addition, students pursuing the Ph.D. degree in Software Engineering should take CS/SE 6389 _ Formal Methods and Programming Methodology.
    • Two CS/SE 7000 and above level courses
  • Sufficient CS electives for a total of at least 90 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.