UT Dallas 2013 Undergraduate Catalog

Erik Jonsson School of Engineering and Computer Science

Department of Computer Science

Computer Science (BS) and Software Engineering (BS)

Faculty

Professors: Farokh B. Bastani, R. Chandrasekaran, Ovidiu Daescu, Yvo G. Desmedt, Ding-Zhu Du, András Faragó, Gopal Gupta, Zygmunt Haas, Dung T. Huynh, Jason Jue, Latifur Khan, Dan I. Moldovan, Simeon C. Ntafos, Ivor P. Page, Balakrishnan Prabhakaran, Ravi Prakash, Balaji Raghavachari, Hsing-Mean (Edwin) Sha, Ivan Hal Sudborough, Bhavani Thuraisingham, Subbarayan Venkatesan, W. Eric Wong, Weili Wu, I-Ling Yen, Kang Zhang, Si Qing Zheng

Professor Emeritus: Klaus Truemper

Associate Professors: Sergey Bereg, Lawrence Chung, Jorge A. Cobb, Kendra M. L. Cooper, Xiaohu Guo, Kevin Hamlen, Sanda M. Harabagiu, Murat Kantarcioglu, Yang Liu, Neeraj Mittal, Yu-Chung (Vincent) Ng, Kamil Sarac, Haim Schweitzer, Yuke Wang, Rym Zalila-Wenkstern

Assistant Professors: Alvaro Cárdenas, Mark Gabel, Vibhav Gogate, Zhiqiang Lin, Cong Liu, Ryan McMahan

Senior Lecturers: Ebru Cankaya, Michael Christiansen, John Cole, Chris I. Davis, Timothy (Tim) Farage, Shyam Karrah, Pushpa Kumar, Linda Morales, Nhut Nguyen, Greg Ozbirn, Mark Paulk, Miguel Razo-Razo, Charles Shields Jr., Jason W. Smith, Janell Straach, Jeyakesavan (Jey) Veerasamy, Don G. Vogel

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.

Software Engineering (BS)

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)

    I. Core Curriculum Requirements: 42 semester credit hours1

    Communication (6 semester credit hours)

    3 semester credit hours Communication (RHET 1302)
    3 semester credit hours Professional and Technical Communication (ECS 3390)2

    Social and Behavioral Sciences (15 semester credit hours)

    6 semester credit hours Government (GOVT 2301 and GOVT 2302)
    6 semester credit hours American History
    3 semester credit hours Social and Behavioral Science (ECS 3361)

    Humanities and Fine Arts (6 semester credit hours)

    3 semester credit hours Fine Arts (ARTS 1301)
    3 semester credit hours Humanities (HUMA 1301)

    Mathematics and Quantitative Reasoning (6 semester credit hours)

    6 semester credit hours Calculus (MATH 2413, MATH 2414 or MATH 2417, MATH 2419)3

    Science (9 semester credit hours)

    6 semester credit hours Lecture courses (PHYS 2325 and PHYS 2326)
    2 semester credit hours Laboratory courses (PHYS 2125 and PHYS 2126)
    4 semester credit hours Science Elective4

    II. Major Requirements: 70 semester credit hours

    Major Preparatory Courses (20 semester credit hours beyond Core Curriculum)

    ECS 1200 Introduction to Engineering and Computer Science5
    CS 1337 Computer Science I
    CS 2305 Discrete Mathematics for Computing I
    CS 2336 Computer Science II
    MATH 2413 Differential Calculus3
    or MATH 2417 Calculus I3
    MATH 2418 Linear Algebra
    MATH 2414 Integral Calculus3
    or MATH 2419 Calculus II3
    PHYS 2125 Physics Laboratory I4
    PHYS 2126 Physics Laboratory II4
    PHYS 2325 Mechanics4
    PHYS 2326 Electromagnetism and Waves4
    4 semester credit hours Science Elective4

    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 3340 Computer Architecture
    SE 3341 Probability and Statistics in Computer Science and Software Engineering
    CS 3345 Data Structures and Introduction to Algorithmic Analysis
    CS 3354 Software Engineering
    ECS 3361 Social Issues and Ethics in Computer Science and Engineering6
    SE 3376 C/C++ Programming in a UNIX Environment
    ECS 3390 Professional and Technical Communication2
    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 Organization of Programming Languages
    CS 4341 Digital Logic and Computer Design
    CS 4349 Advanced Algorithm Design and Analysis
    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 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 4347 Database Systems
    SE 4376 Object-Oriented Programming Systems
    SE 4399 Senior Honors in Software Engineering

    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.

    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 Interactions I
    CS 4353 Human Computer Interactions II
    CS 4361 Computer Graphics

    III. Elective Requirements: 11 semester credit hours

    Free Electives (11 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. At the end of five years of successful study, it is possible to earn both the BS degree in Software Engineering and the MS degree in Computer Science or the MS degree in Computer Science with Major 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 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 upper-division Honors for outstanding students in both the BS in Computer Science and BS in Software Engineering degree programs. These programs offer special sections of designated classes and other activities designed to enhance the educational experience of exceptional students. Admission to the Honors programs requires a 3.500 or better GPA 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.

    Minors

    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 43XX Elective (any 4000-level organized SE class)
    1. Curriculum Requirements can be fulfilled by other approved courses from accredited institutions of higher education. The courses listed in parentheses are recommended as the most efficient way to satisfy both Core Curriculum and Major Requirements at UT Dallas.
    2. Hours fulfill the communication elective of the Core Curriculum.
    3. Six semester credit hours of Calculus are counted under Mathematics Core, and two semester credit hours of Calculus are counted as Major Preparatory Courses.
    4. Nine semester credit hours of Science are counted under Science Core. Three semester credit hours are counted as Major Preparatory Courses. Students should consult an advisor for specific classes that satisfy this requirement.
    5. Transfer students with sufficient background may petition to substitute upper-division semester credit hours in the major for this class.
    6. Hours contribute to the Social and Behavioral Sciences component of the Core Curriculum.
    Updated: April 10, 2014 - Visitor: 5134