Erik Jonsson School of Engineering and Computer Science

Software Engineering (B.S.S.E.)

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:

  1. To prepare students for software engineering positions in industry or government.
  2. To prepare students for graduate study in Software Engineering.
  3. To provide a solid foundation in Computer Science and Software Engineering principles that will allow graduates to adapt effectively in a quickly changing field.

Educational Objectives of the Software Engineering Program

The current objectives for graduates of the Bachelor of Science in Software Engineering Program are that students 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

Bachelor of Science in Software Engineering Degree Requirements (124 hours)

I. Core Curriculum Requirements1: 42 hours

  1. Communication (6 hours)
    3 hours Communication (RHET 1302)
    3 hours Professional and Technical Communication (ECS 3390)2
  2. Social and Behavioral Sciences (15 hours)
    6 hours Government (GOVT 2301 and GOVT 2302)
    6 hours American History
    3 hours Social and Behavioral Science (ECS 3361)
  3. Humanities and Fine Arts (6 hours)
    3 hours Fine Arts (ARTS 1301)
    3 hours Humanities (HUMA 1301)
  4. Mathematics and Quantitative Reasoning (6 hours)
    6 hours Calculus (MATH 2413, MATH 2414 or MATH 2417, MATH 2419)3
  5. Science (9 hours)
    6 hours Lecture courses (PHYS 2325 and PHYS 2326)
    2 hours Laboratory courses (PHYS 2125 and PHYS 2126)
    4 hours Science Elective4

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.

II. Major Requirements: 67 hours

Major Preparatory Courses (18 hours beyond Core Curriculum)

ECS 1337 Computer Science I
ECS 2305 Discrete Mathematics for Computing I
ECS 2336 Computer Science II
MATH 2413 Differential Calculus or MATH 2417 Calculus 13
MATH 2418 Linear Algebra
MATH 2414 Integral Calculus or MATH 2419 Calculus II3
PHYS 2125 Physics Laboratory I4
PHYS 2126 Physics Laboratory II4
PHYS 2325 Mechanics4
PHYS 2326 Electromagnetism and Waves4
4 hours Science Elective4

Major Core Courses (37 hours beyond Core Curriculum)

SE 3306 Mathematical Foundations of Software Engineering
SE 3340 Computer Architecture
SE 3341 Probability and Statistics in Computer Science and Software Engineering
ECS 3345 Data Structures and Introduction to Algorithmic Analysis
ECS 3354 Software Engineering
ECS 3361 Social Issues and Ethics in Computer Science and Engineering5
SE 3376 C/C++ Programming in a UNIX Environment
ECS 3390 Professional and Technical Communication2
ECS 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 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
ECS 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 Computer Science/Software Engineering

Application Domains (9 hours)

An important aspect of Software Engineering education is the use of software engineering concepts in a particular application domain. Students should use two of their three 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 hours)

ECS 4390 Computer Networks
CS 4393 Computer and Network Security
CS 4396 Networking Laboratory

Information Assurance (9 hours)

CS 4389 Data and Applications Security
CS 4393 Computer and Network Security
CS 4398 Digital Forensics

Embedded Systems (9 hours)

CS 4141 Digital Systems Laboratory
CS 4341 Digital Logic and Computer Design
CS 4397 Embedded Computer Systems
ECS 4348 Operating Systems Concepts

Computer Imaging (9 hours)

CS 4361 Computer Graphics
CS 4391 Introduction to Computer Vision
CS 4392 Computer Animation

Artificial Intelligence and Cognitive Modeling (9 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 hours)

CS 4352 Human Computer Interactions I
CS 4353 Human Computer Interactions II
CS 4361 Computer Graphics

2 Hours fulfill the communication elective of the Core Curriculum.
3 Six hours of Calculus are counted under Mathematics Core, and two hours of Calculus are counted as Major Preparatory Courses.
4 Nine hours of Science are counted under Science Core. Three hours are counted as Major Preparatory Courses. Students should consult an advisor for specific classes that satisfy this requirement.
5 Hours contribute to the Social and Behavioral Sciences component of the Core Curriculum.

III. Elective Requirements: 15 hours

Advanced Electives (6 hours) All students are required to take at least six hours of advanced electives outside their major field of study. These must be either upper-division classes or lower-division classes that have prerequisites.

Free Electives (9 hours) All students must accumulate at least 124 hours of university credit to graduate. Both lower- and upper-division courses may count as free electives but students must complete at least 51 hours of upper-division credit 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 exceptionally well-qualified students who choose their courses carefully. At the end of five years of successful study, it is possible to earn both the B.S. degree in Software Engineering and the M.S. degree in Computer Science or the M.S. degree in Computer Science with Major in Software Engineering. Being within 30 hours of graduation, a student admitted to the graduate program and accepted into the Fast Track program may, during the senior year, take 15 graduate 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 admission requirements to the Fast Track program.

Honors Programs

The Department of Computer Science offers upper-division Honors for outstanding students in both the B.S. in Computer Science and B.S. 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.50 or better GPA in at least 30 hours of coursework. Graduation with Honors requires a 3.50 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 M.S. Theses and Ph.D. 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 credit hours earned through the following courses:

ECS 1337 Computer Science I
ECS 2305 Discrete Mathematics for Computing I
ECS 2336 Computer Science II
SE 3306 Mathematical Foundations of Software Engineering
ECS 3345 Data Structures and Introduction to Algorithmic Analysis
ECS 3354 Software Engineering
SE 43XX Elective (any 4000-level organized SE class)