University Catalog

Computer Science and Engineering - Undergraduate Programs

The Department of Computer Science and Engineering offers three programs of study leading to the bachelor's degree: the Bachelor of Science in Computer Science, the Bachelor of Science in Computer Engineering, and the Bachelor of Science in Software Engineering.

In all three programs of study, design experiences are included throughout the first three years of the curriculum and culminate in a major team-oriented project in the senior year that approximates an industrial work experience. All programs strive to provide students with opportunities to interface with the profession through avenues such as cooperative education programs, professional society activities, plant trips, special projects, and industry speakers programs.

Bachelor of Science in Computer Science (BSCS)

Program educational objectives of the Computer Science Program are what the program expects its graduates to attain within three to five years after graduation.  Graduates of the UTA Computer Science Program will:

  1. Achieve technical competencies to commence a computing career or advanced studies.
  2. Advance in the profession, especially in responsibility for the design of computer-based systems.
  3. Demonstrate leadership to advance the growing computer science profession globally. 

The BSCS program has been accredited since 2002 by the Computing Accreditation Commission of ABET, http://www.abet.org.

Bachelor of Science in Computer Engineering (BSCpE)

Program educational objectives of the Computer Engineering Program are what the program expects its graduates to attain within three to five years after graduation.  Graduates of the UTA Computer Engineering Program will:

  1. Pursue productive and impactful careers in industry, focused on the design and integration of hardware and software computing systems; and/or pursue graduate studies in Computer Engineering or associated fields.
  2. Lead interdisciplinary engineering projects and communicate effectively in their profession.
  3. Adapt to technological changes and maintain technical competency and relevance.
  4. Uphold the highest standards of professional conduct, ethical behavior, and social responsibilities.

 The BSCpE program has been accredited since 1983 by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Bachelor of Science Degree in Software Engineering (BSSE)

Program educational objectives of the Software Engineering Program are what the program expects its graduates to attain within three to five years after graduation.  Graduates of the UTA Software Engineering Program will:

  1. Pursue the software profession by achieving expertise in implementation, integration, testing, and maintaining software systems; or pursue graduate studies in software engineering or a related area.
  2. Advance in the software profession with expertise in identifying needs and software requirements in an application domain, and design systems to meet the desired needs within realistic constraints.
  3. Demonstrate excellence and leadership in the software profession or a related area.

 The BSSE program has been accredited since 2002 by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Student Outcomes

From the educational objectives of the BSCS program (described above), the department designed the programs to meet the following Student Outcomes, to ensure that its graduates are able to:

  1.  Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. 
  2.  Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. 
  3.  Communicate effectively in a variety of professional contexts. 
  4.  Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. 
  5.  Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. 
  6.  Apply computer science theory and software development fundamentals to produce computing-based solutions. 

From the educational objectives of the BSCpE and BSSE programs (described above), the department designed these programs to meet the following Student Outcomes, to ensure that its graduates have:

  1. an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics 
  2.  an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors 
  3.  an ability to communicate effectively with a range of audiences 
  4.  an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts 
  5.  an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives 
  6.  an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions 
  7.  an ability to acquire and apply new knowledge as needed, using appropriate learning strategies. 

Admission Requirements

All entering students majoring in computer science, computer engineering, or software engineering are permitted to enroll in general education and pre-professional courses for which they are qualified. Students completing pre-professional courses must meet the academic requirements specified by the College of Engineering prior to applying for admission to the professional program. The Computer Science and Engineering Department requires a 2.5 overall grade point average on a 4.0 scale in each of three categories: (1) overall, (2) required science, mathematics, and engineering courses, and (3) required CSE courses. Additionally, they must have a total of no more than four unsuccessful attempts in engineering courses. Students not in the professional program must have permission from the department chairperson to receive credit for courses listed in the professional program category. Application for admission to the professional program is made to the Department of Computer Science and Engineering.

Prior Preparation

The BSCS, BSCpE, and BSSE are four-year programs and requirements for the degrees are based upon prior high school preparation through either an honors or college track. More specifically, entering students are expected to have a background in mathematics through precalculus, high school chemistry, and programming in a high-level language such as C, C++, Java or Python.

Students who have not had the appropriate preparation should contact the departmental advising office for assistance in structuring a degree plan that will include leveling courses. Students requiring leveling courses may require a longer period of time to complete their undergraduate program.

Readiness Examinations

Students will be required to pass readiness examinations before enrolling in the courses listed below unless the course prerequisite was taken at UT Arlington and passed with a C or better grade. Students not passing the readiness examination must take the prerequisite course. A readiness examination may be taken only once per course and only before enrolling in any CSE courses. Additional information is available in the departmental office.

CSE 1320INTERMEDIATE PROGRAMMING3
CSE 1325OBJECT-ORIENTED PROGRAMMING3

Student Advising

CS, CpE, and SE pre-majors and majors are required to be advised by a departmental advisor each semester. Consult the departmental bulletin boards or Web site for advising hours. New and transfer students must also be advised prior to the beginning of the semester in which they first enroll.

Transfer Students and Transfer Credit

After admission and prior to registration, transfer students should contact the Department of Computer Science and Engineering for advising. At the time of advising, a transfer student must present to the undergraduate advisor an official transcript (or copy) from each school previously attended. Only the equivalent courses in a program accredited by ABET or equivalent freshman, sophomore, or general education courses accepted by the department chairperson can be counted toward a degree in computer science and engineering.

A student, once admitted to The University of Texas at Arlington and enrolled in the CS, CpE or SE program, cannot enroll in courses at another college or university and transfer those courses for credit toward a CS, CpE or SE degree without having obtained prior written permission from the chairperson of the Department of Computer Science and Engineering.

Cooperative Education Program

Cooperative education or Co-op programs are arrangements where students alternate periods of full-time employment with periods of full-time study, usually during the last two years of a degree program. The employment is directly related to the student's major and pays an attractive salary. Thus, Co-op students gain valuable career related experience before graduating, while earning a meaningful income. Cooperative education opportunities are plentiful for CS, CpE, and SE students.

Honors Programs

The Computer Science and Engineering Department encourages qualified CS, CpE, and SE majors to participate in the Honors College described elsewhere in this catalog. Projects may be pursued in any one of the areas of concentration within the Department of Computer Science and Engineering.

Graduate Degree Paths

Computing is a rapidly changing discipline requiring lifelong learning by its professionals. Completing a graduate degree enhances an individual's ability to assimilate and apply their knowledge and skills to meet on the job challenges and the needs of society. Pursuing a graduate degree on a full-time basis immediately after completing the baccalaureate is an attractive option for many students. Students are encouraged to discuss possibilities with a Graduate Advisor upon advancement to a Bachelor of Science professional program.

Fast Track Program for Master's Degree in Computer Engineering, Computer Science or Software Engineering

The Fast Track Program enables outstanding UT Arlington senior undergraduate students in Computer Engineering to satisfy degree requirements leading to a master's degree in Computer Engineering while completing their undergraduate studies.  Similarly, the Fast Track Program enables  Computer Science students to satisfy degree requirements leading to a master's degree in Computer Science, and Software Engineering students to satisfy degree requirements leading to a master's degree in Software Engineering. 

When senior-level students are within 15 hours of completing their undergraduate degree requirements, they may take a minimum of six and a maximum of nine hours of graduate level coursework designated by the program to satisfy both undergraduate and graduate degree requirements. In the limiting case, a student completing the maximum allowable hours (9) while in undergraduate status would have to take only 21 additional hours to meet minimum requirements for a master's degree program (M.S.).

Interested UT Arlington undergraduate students should apply to the appropriate graduate program when they are within 30 hours of completing their bachelor's degrees. They must have completed at least 30 hours at UT Arlington, achieving a GPA of at least 3.25 in those courses, and have an overall GPA of 3.25 or better in all college courses. Additionally, they must have completed a set of specified undergraduate foundation courses with a minimum GPA of 3.3 in those courses. Contact the Undergraduate Advisor or Graduate Advisor in Computer Science and Engineering for more information about the program.

Direct Acceptance to Doctoral Programs from Bachelor's Degree Program

Excellent undergraduate students may qualify for acceptance to doctoral studies without the intermediate completion of a masters degree. Students should discuss the expected level of commitment and possibilities for long-term support with a Graduate Advisor.

Oral Communication and Computer Competency Requirement

CS, CpE, and SE students will satisfy the oral competency requirement by completing COMS 2302 PROFESSIONAL AND TECHNICAL COMMUNICATION FOR SCIENCE AND ENGINEERING. They will satisfy the computer use competency requirement by completing CSE 1106.

Course Offerings

All 1000- and 2000-level CSE courses are typically offered each semester and in the 11-week summer session. All 3000-level courses and required 4000-level courses are typically offered at least twice per year. Other 4000-level courses are typically offered only once per year unless there is a high demand. Refer to the CSE department bulletin boards or Web site for more specific and current information. The CSE department reserves the right to move students among equivalent sections of the same course.

Requirements for a Bachelor of Science Degree in Computer Science

The University Core Curriculum consists of 42 credit hours from University Core Curriculum.

General Education Courses24
PROFESSIONAL AND TECHNICAL COMMUNICATION FOR SCIENCE AND ENGINEERING
GOVERNMENT OF THE UNITED STATES
STATE AND LOCAL GOVERNMENT
History Electives (6 hours) 2
Social & Behavioral Sciences (IE 2308 or ECON 2305)
Approved Language, Philosophy and Culture elective 2
Approved Creative Arts elective 2
Program Requirements
Pre-Professional Courses 1
UNIV 1131STUDENT SUCCESS1
or ENGR 1101 ENTRANCE TO ENGINEERING FOR TRANSFER STUDENTS
ENGL 1301RHETORIC AND COMPOSITION I3
MATH 1426CALCULUS I (fulfills common core)4
MATH 2425CALCULUS II4
PHYS 1443GENERAL TECHNICAL PHYSICS I4
PHYS 1444GENERAL TECHNICAL PHYSICS II4
CSE 1106INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING1
CSE 1310INTRODUCTION TO COMPUTERS & PROGRAMMING3
CSE 1320INTERMEDIATE PROGRAMMING3
CSE 1325OBJECT-ORIENTED PROGRAMMING3
CSE 2312COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING3
CSE 2315DISCRETE STRUCTURES3
CSE 3318ALGORITHMS & DATA STRUCTURES3
Professional Courses 3
IE 3301ENGINEERING PROBABILITY3
or MATH 3313 INTRODUCTION TO PROBABILITY
CSE 3302PROGRAMMING LANGUAGES3
CSE 3310FUNDAMENTALS OF SOFTWARE ENGINEERING3
CSE 3314PROFESSIONAL PRACTICES3
CSE 3315THEORETICAL CONCEPTS IN COMPUTER SCIENCE AND ENGINEERING3
CSE 3320OPERATING SYSTEMS3
CSE 3330DATABASE SYSTEMS AND FILE STRUCTURES3
CSE 3380LINEAR ALGEBRA FOR CSE3
or MATH 3330 INTRODUCTION TO LINEAR ALGEBRA AND VECTOR SPACES
CSE 4308ARTIFICIAL INTELLIGENCE3
CSE 4316COMPUTER SYSTEM DESIGN PROJECT I3
CSE 4317COMPUTER SYSTEM DESIGN PROJECT II3
CSE 4344COMPUTER NETWORK ORGANIZATION3
Select one of the following:3
COMPUTER GRAPHICS
COMPILERS FOR ALGORITHMIC LANGUAGES
AUTONOMOUS ROBOT DESIGN AND PROGRAMMING
Select one of the following:3
INFORMATION SECURITY
INFORMATION SECURITY II
SECURE PROGRAMMING
Approved Mathematics elective 23
Approved Technical electives 215
Total Hours123
1

All pre-professional courses must be completed with a C or better before enrolling in professional courses

2

A list of acceptable electives is available from the departmental office or Web site.

3

All prerequisites for professional courses must be completed with a C or better

Note: Total hours will depend upon prior preparation and academic qualifications.  Also, students who do not have two units of high school foreign language will be required to take modern and classical language courses in addition to the previously listed requirements.

Refer to the College of Engineering section of this catalog for information concerning the following topics: Preparation in High School for Admission to the College of Engineering, Admission to the College of Engineering, Admission to the Professional Program, Counseling, College of Engineering Academic Regulations, Transfer Policies, College of Engineering Probation, Repeating Course Policy and Academic Honesty.

Recommended Core Curriculum

Computer Science and  Engineering students will satisfy the university core curriculum requirement by completing all General Education courses specified under “Requirements for a Bachelor of Science Degree in Computer Science” along with ENGL 1301, MATH 1426, MATH 2425, PHYS 1443 and PHYS 1444, which are within the Pre-Professional Program.  The university core curriculum allows each degree plan to designate a component area to satisfy three hours of the core requirement.  For the Computer Science degree plan, the designated component area is Mathematics and MATH 2326 is selected to satisfy the requirement.

Requirements for a Bachelor of Science Degree in Computer Engineering

The University Core Curriculum consists of 42 credit hours from University Core Curriculum.

General Education Courses24
PROFESSIONAL AND TECHNICAL COMMUNICATION FOR SCIENCE AND ENGINEERING
GOVERNMENT OF THE UNITED STATES
STATE AND LOCAL GOVERNMENT
History Electives (6 hours) 2
Social & Behavioral Sciences (IE 2308 or ECON 2305)
Approved Language, Philosophy and Culture elective 2
Approved Creative Arts elective 2
Program Requirements
Pre-Professional Courses 1
UNIV 1131STUDENT SUCCESS1
or ENGR 1101 ENTRANCE TO ENGINEERING FOR TRANSFER STUDENTS
ENGL 1301RHETORIC AND COMPOSITION I3
MATH 1426CALCULUS I4
MATH 2425CALCULUS II4
PHYS 1443GENERAL TECHNICAL PHYSICS I4
PHYS 1444GENERAL TECHNICAL PHYSICS II4
CSE 1106INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING1
CSE 1310INTRODUCTION TO COMPUTERS & PROGRAMMING3
CSE 1320INTERMEDIATE PROGRAMMING3
CSE 1325OBJECT-ORIENTED PROGRAMMING3
CSE 2312COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING3
CSE 2315DISCRETE STRUCTURES3
CSE 2440CIRCUIT ANALYSIS4
CSE 2441DIGITAL LOGIC DESIGN I4
CSE 3318ALGORITHMS & DATA STRUCTURES3
Professional Courses 3
IE 3301ENGINEERING PROBABILITY3
or MATH 3313 INTRODUCTION TO PROBABILITY
CSE 3313INTRODUCTION TO SIGNAL PROCESSING3
CSE 3314PROFESSIONAL PRACTICES3
CSE 3320OPERATING SYSTEMS3
CSE 3323ELECTRONICS3
CSE 3341DIGITAL LOGIC DESIGN II3
CSE 3380LINEAR ALGEBRA FOR CSE3
or MATH 3330 INTRODUCTION TO LINEAR ALGEBRA AND VECTOR SPACES
CSE 3442EMBEDDED SYSTEMS I4
CSE 4316COMPUTER SYSTEM DESIGN PROJECT I3
CSE 4317COMPUTER SYSTEM DESIGN PROJECT II3
CSE 4323QUANTITATIVE COMPUTER ARCHITECTURE3
CSE 4342EMBEDDED SYSTEMS II3
Approved Mathematics elective 23
Approved Science elective 24
Approved Technical elective 29
Total Hours124
1

All pre-professional courses must be completed with a C or better before enrolling in professional courses

2

A list of acceptable electives is available from the departmental office or Web site.

3

All prerequisites for professional courses must be completed with a C or better

 Note: Total hours will depend upon prior preparation and academic qualifications.  Also, students who do not have two units of high school foreign language will be required to take modern and classical language courses in addition to the previously listed requirements.

 Refer to the College of Engineering section of this catalog for information concerning the following topics: Preparation in High School for Admission to the College of Engineering, Admission to the College of Engineering, Admission to the Professional Program, Counseling, College of Engineering Academic Regulations, Transfer Policies, College of Engineering Probation, Repeating Course Policy and Academic Honesty.

Recommended Core Curriculum

Computer Science and  Engineering students will satisfy the university core curriculum requirement by completing all General Education courses specified under “Requirements for a Bachelor of Science Degree in Computer Engineering” along with ENGL 1301, MATH 1426, MATH 2425, PHYS 1443 and PHYS 1444, which are within the Pre-Professional Program.  The university core curriculum allows each degree plan to designate a component area to satisfy three hours of the core requirement.  For the Computer Engineering degree plan, the designated component area is Mathematics and MATH 2326 is selected to satisfy the requirement.

Requirements for a Bachelor of Science Degree in Software Engineering

The University Core Curriculum consists of 42 credit hours from University Core Curriculum.

General Education Courses24
PROFESSIONAL AND TECHNICAL COMMUNICATION FOR SCIENCE AND ENGINEERING
GOVERNMENT OF THE UNITED STATES
STATE AND LOCAL GOVERNMENT
History Electives (6 hours) 2
Social & Behavioral Sciences (IE 2308 or ECON 2305)
Approved Language, Philosophy and Culture elective 2
Approved Creative Arts elective 2
Program Requirements
Pre-Professional Courses 1
UNIV 1131STUDENT SUCCESS1
or ENGR 1101 ENTRANCE TO ENGINEERING FOR TRANSFER STUDENTS
ENGL 1301RHETORIC AND COMPOSITION I3
MATH 1426CALCULUS I4
MATH 2425CALCULUS II4
PHYS 1443GENERAL TECHNICAL PHYSICS I4
PHYS 1444GENERAL TECHNICAL PHYSICS II4
CSE 1106INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING1
CSE 1310INTRODUCTION TO COMPUTERS & PROGRAMMING3
CSE 1320INTERMEDIATE PROGRAMMING3
CSE 1325OBJECT-ORIENTED PROGRAMMING3
CSE 2312COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING3
CSE 2315DISCRETE STRUCTURES3
CSE 3318ALGORITHMS & DATA STRUCTURES3
Professional Courses 3
IE 3301ENGINEERING PROBABILITY3
or MATH 3313 INTRODUCTION TO PROBABILITY
CSE 3302PROGRAMMING LANGUAGES3
CSE 3310FUNDAMENTALS OF SOFTWARE ENGINEERING3
CSE 3311OBJECT-ORIENTED SOFTWARE ENGINEERING3
CSE 3314PROFESSIONAL PRACTICES3
CSE 3315THEORETICAL CONCEPTS IN COMPUTER SCIENCE AND ENGINEERING3
CSE 3320OPERATING SYSTEMS3
CSE 3330DATABASE SYSTEMS AND FILE STRUCTURES3
CSE 3380LINEAR ALGEBRA FOR CSE3
or MATH 3330 INTRODUCTION TO LINEAR ALGEBRA AND VECTOR SPACES
CSE 4316COMPUTER SYSTEM DESIGN PROJECT I3
CSE 4317COMPUTER SYSTEM DESIGN PROJECT II3
CSE 4321SOFTWARE TESTING & MAINTENANCE3
CSE 4322SOFTWARE PROJECT MANAGEMENT3
CSE 4361SOFTWARE DESIGN PATTERNS3
CSE 4380INFORMATION SECURITY3
Approved Mathematics elective 23
Approved Science elective 24
Approved Technical electives 29
Total Hours124
1

All pre-professional courses must be completed with a C or better before enrolling in professional courses

2

A list of acceptable electives is available from the departmental office or Web site.

3

All prerequisites for professional courses must be completed with a C or better

Note: Total hours will depend upon prior preparation and academic qualifications.  Also, students who do not have two units of high school foreign language will be required to take modern and classical language courses in addition to the previously listed requirements

Refer to the College of Engineering section of this catalog for information concerning the following topics: Preparation in High School for Admission to the College of Engineering, Admission to the College of Engineering, Admission into the Professional Program, Advising, College of Engineering Academic Regulations, Transfer Policies, College of Engineering Probation, Repeating Course Policy and Academic Honesty.

Recommended Core Curriculum

Computer Science and  Engineering students will satisfy the university core curriculum requirement by completing all General Education courses specified under “Requirements for a Bachelor of Science Degree in Software Engineering” along with ENGL 1301, MATH 1426, MATH 2425, PHYS 1443 and PHYS 1444, which are within the Pre-Professional Program.  The university core curriculum allows each degree plan to designate a component area to satisfy three hours of the core requirement.  For the Software Engineering degree plan, the designated component area is Mathematics and MATH 2326 is selected to satisfy the requirement.

Minor in Computer Science

To receive a minor in Computer Science, a student must not be receiving his/her major degree from the department and must complete all courses listed with a grade of C or better in each course. Any substitutions must be approved in advance by the department chairperson.

Requirements for a Minor in Computer Science

To receive a minor in Computer Science, a student must complete the following courses with a grade of C or better in each:

CSE 1320INTERMEDIATE PROGRAMMING3
CSE 1325OBJECT-ORIENTED PROGRAMMING3
CSE 2315DISCRETE STRUCTURES3
CSE 3318ALGORITHMS & DATA STRUCTURES3
Any two 3000 or 4000 level courses with a grade of C or better in each as well as all required prerequisites for the chosen courses6
Total Hours18
1

Grade of C or better in each, as well as all required prerequisites for the chosen courses.

Undergraduate Certificate in Cyber Security

Program Objective

The Certificate in Cyber Security is offered through the Computer Science  and Engineering Department and will educate undergraduate students in the knowledge and skills required to identify and proactively mitigate potential cyber security risks.  Students will learn about cryptographic techniques and public key infrastructure, secure programming techniques, and computer network security including intrusion detection devices and firewalls.  This program aims at the dual goal of providing industry with a knowledgeable, locally available workforce while developing career opportunities for its participants.  The Certificate in Cyber Security will be awarded concurrently with an undergraduate degree.

Admission Requirements

The certificate is open to all degree-seeking students.

Academic Requirements

Students must complete 12 hours of coursework as outlined below.  A combined GPA of 3.0 or better must be earned on all courses used to satisfy the certificate requirements.

Required classes
CSE 4344COMPUTER NETWORK ORGANIZATION3
or CSE 4352 IOT AND NETWORKING
CSE 4380INFORMATION SECURITY3
CSE 4381INFORMATION SECURITY II3
CSE 4382SECURE PROGRAMMING3
Total Hours12

*Any course substitution has to be approved beforehand by the certificate coordinator.

COURSE DESCRIPTIONS

CSE 4344 COMPUTER NETWORK ORGANIZATION

Design and analysis of computer networks. Emphasis on the OSI architecture but discusses other schemes (e.g., ARPAnet). Data link control, local networks, protocols/architectures, network access protocols, transport protocols, internetworking, and ISDN. Prerequisite: Admitted into an Engineering Professional Program. C or better in CSE 3320.

CSE 4352 IOT AND NETWORKING

Study of Ethernet stacks and layers, full implementation of an Ethernet stack and a basic low-latency, small footprint IoT protocol on bare metal embedded devices and embedded Linux systems. Prerequisite: Admitted into an Engineering Professional Program. C or better in CSE 3442.

CSE 4380 INFORMATION SECURITY

Hands-on introduction to the basics of security. Includes system security, buffer overflows, a high-level overview of cryptography, firewalls and intrusion detection/prevention, malware, penetration testing, forensics, and system administration. Prerequisite: Admitted into an Engineering Professional Program. C or better in CSE 3320.

CSE 4381 INFORMATION SECURITY II

Deeper study of the fundamentals of security, including symmetric key cryptography, public key cryptography, cryptographic protocols, malware design, network attacks and defenses, data security, privacy, and wireless security. Prerequisite: Admitted into an Engineering Professional Program. C or better in CSE 3320 and C or better in CSE 4344 (or concurrently).

CSE 4382 SECURE PROGRAMMING

This course is an introduction to methods of secure software design and development. Students will learn about the major security problems found in software today. Using this knowledge, they will work in teams to find these bugs in software, fix the bugs, and design software so that it has fewer security problems. Static analysis tools will be a core part of the class, but students will also be exposed to black box testing tools. Topics will include input validation, buffer overflow prevention, error handling, web application issues, and XML. Prerequisite: Admitted into an Engineering Professional Program. C or better in CSE 3320.

Undergraduate Certificate in Unmanned Vehicle Systems

Program Objective

The Certificate in UVS (Unmanned Vehicle Systems) is offered through the Computer Science and  Engineering Department and will educate undergraduate students in the knowledge and skills required for design, development and operation of UVS including UAS (Unmanned Aircraft Systems), UGS (Unmanned Ground Systems), and UMS (Unmanned Maritime Systems). The certificate program will emphasize the common aspects of UVS such as sensors, actuators, communications, and more importantly, decision-making capabilities (autonomy).  This program aims at the dual goal of providing the UVS industry with a knowledgeable, locally available workforce and developing career opportunities for its participants. To this end, the Certificate in UVS will be awarded concurrently with an undergraduate degree.    More information about this program is available on the College of Engineering website.

Admission Requirements

The certificate is open to all degree-seeking students.

Academic Requirements

Students must complete 15-16 hours of coursework as outlined below that include 6 hours of a core curriculum that is interdisciplinary and forms the basis of a common core in UVS Certificate and 9 hours of discipline specific curriculum. A combined GPA of 3.0 or better must be earned on all courses used to satisfy the certificate requirements.

For Computer Science majors:

Required classes
CSE 4378INTRODUCTION TO UNMANNED VEHICLE SYSTEMS3
CSE 4379UNMANNED VEHICLE SYSTEM DEVELOPMENT3
CSE 4308ARTIFICIAL INTELLIGENCE3
CSE 4360AUTONOMOUS ROBOT DESIGN AND PROGRAMMING3
3 credit hours from the following list3
FUNDAMENTALS OF MACHINE LEARNING
FUNDAMENTALS OF COMPUTER VISION
Total Hours15

*Any course substitution has to be approved beforehand by the certificate coordinator.

For Computer Engineering  majors:

Required classes
CSE 4378INTRODUCTION TO UNMANNED VEHICLE SYSTEMS3
CSE 4379UNMANNED VEHICLE SYSTEM DEVELOPMENT3
CSE 3313INTRODUCTION TO SIGNAL PROCESSING3
CSE 3442EMBEDDED SYSTEMS I4
3 credit hours from the following list3
EMBEDDED SYSTEMS II
AUTONOMOUS ROBOT DESIGN AND PROGRAMMING
ARTIFICIAL INTELLIGENCE
Total Hours16

*Any course substitution has to be approved beforehand by the certificate coordinator.

COURSE DESCRIPTIONS

CSE 4378 Introduction to Unmanned Vehicle Systems

Introduction to UVS (Unmanned Vehicle Systems) such as UAS (Unmanned Aircraft Systems), UGS (Unmanned Ground System) and UMS (Unmanned Maritime System), their history, missions, capabilities, types, configurations, subsystems, and the disciplines needed for UVS development and operation. UVS missions could include student competitions sponsored by various technical organizations. This course is team-taught by engineering faculty. Prerequisite: Admission to a professional engineering or science program.

CSE 4379 Unmanned Vehicle System Development

Introduction to the technologies needed to create an UVS (Unmanned Vehicle System). Integration of these technologies (embodied as a set of sensors, actuators, computing and mobility platform sub-systems) into a functioning UVS through teamwork. UVS could be designed to compete in a student competition sponsored by various technical organizations or to support a specific mission or function defined by the instructors. This course is team-taught by engineering faculty. Prerequisite: B or better in CSE 4378 and admission to the UVS certificate program.

CSE 4308 Artificial Intelligence

An introduction to the field of artificial intelligence studying basic techniques such as heuristic search, deduction, learning, problem solving, knowledge representation, uncertainty reasoning and symbolic programming languages such as LISP. Application areas may include intelligent agents, data mining, natural language, machine vision, planning and expert systems. Prerequisite: Admitted into an Engineering Professional Program. C or better in each of the following: CSE 3318 and (IE 3301 or MATH 3313).

CSE 4360 Autonomous Robot Design and Programming

An introduction to robotics and the design and programming of autonomous robot systems. Topics include basic kinematics, dynamics, and control, as well as sensors, knowledge representation, and programming techniques. Course work includes individual and group projects involving the building and programming of simulated and real robots. Prerequisite: Admitted into an Engineering Professional Program. C or better in each of the following: CSE 3318, CSE 3320 and CSE 3380 (or MATH 3330).

CSE 4309 Fundamentals of Machine Learning

This course offers an introduction to machine learning. Topics include naive Bayes classifiers, linear regression, linear classifiers, neural networks and backpropagation, kernel methods, decision trees, feature selection, clustering, and reinforcement learning. A strong programming background is assumed, as well as familiarity with linear algebra (vector and matrix operations), and knowledge of basic probability theory and statistics. Prerequisite: Admitted into an Engineering Professional Program. C or better in each of the following: CSE 3318, IE 3301 or MATH 3313, and CSE 3380 or MATH 3330.

CSE 4310 Fundamentals of Computer Vision

This course introduces students to basic concepts and techniques in computer vision. The topics covered include morphological operations, connected component analysis, image filters, edge detection, feature extraction, object detection, object recognition, tracking, gesture recognition, image formation and camera models, calibration, and stereo vision. A strong programming background is assumed, as well as familiarity with linear algebra (vector and matrix operations), and knowledge of basic probability theory and statistics. Prerequisite: Admitted into an Engineering Professional Program. C or better in each of the following: CSE 3318, IE 3301 or MATH 3313, and CSE 3380 or MATH 3330.

CSE 3313 Introduction to Signal Processing

Examines models for presentation and processing of digital signals. Sampling theorem, correlation and convolution, time and frequency analysis of linear systems, Fourier transform, Z-transform, design of digital filters structures for discrete time systems. Prerequisite: C or better in each of the following: CSE 3318 and either CSE 3380 or MATH 3330.

CSE 3442 – Embedded Systems I

Design of microcontroller-based systems, including microprocessor programming, component and system architectures, memory interfacing, asynchronous and synchronous serial interfaces, timer-based peripherals, analog to digital (A/D) and digital to analog (D/A) converters, and typical applications.  Prerequisites: C or better in each of the following: CSE 2312, CSE 2440 and CSE 2441.

CSE 4342 – Embedded Systems II

Advanced course in design of microcontroller-based systems. Emphasis is on the application of microcontrollers to real-time problems. Topics include the study of the differences in bare metal and embedded Linux implementations, developing applications including PID controllers, and system aspects such as bootloader design and watchdog supervision.  Prerequisites: C or better in each of the following: CSE 3323, CSE 3442, and CSE 3313.

Undergraduate Certificate in Embedded Systems

Program Objective

The Undergraduate Certificate in Embedded Systems is offered through the Computer Science and Engineering Department and will educate undergraduate students in the knowledge and skills required to design and test embedded systems, using microcontrollers, system-on-chip, and FPGA devices.  Topics include multi-threaded programming on bare-metal, custom real-time operating systems, and embedded Linux systems; implementation of IP stacks for computer networking; network and wireless protocol development for Internet of Things devices; design of real-time operating systems; implementation of RISC processors in FPGA devices; design of advanced digital logic systems; analysis and design of microprocessor systems; and control of systems with electromechanical actuators and sensors.  The Certificate in Embedded Systems will be awarded concurrently with an undergraduate degree.

This certificate is managed by:

  • Jason Losh, Program Coordinator
  • Linda Barasch, Undergraduate Advisor

Admission Requirements

The certificate is open to all degree-seeking students.

Academic Requirements

Students must complete 16 hours of coursework as outlined below.  A combined GPA of 3.0 or better must be earned on all courses used to satisfy the certificate requirements.

Course Requirements

The course requirements for the Embedded Systems certificate are:

CSE 3442EMBEDDED SYSTEMS I4
CSE 4342EMBEDDED SYSTEMS II3
and 3 of the following courses:9
DIGITAL LOGIC DESIGN II
IOT AND NETWORKING
REAL-TIME OPERATING SYSTEMS
ELECTROMECHANICAL SYSTEMS AND SENSORS
SYSTEM ON CHIP (SOC) DESIGN
RISC PROCESSOR DESIGN
WIRELESS COMMUNICATION SYSTEMS
Total Hours16

*Any course substitution has to be approved beforehand by the certificate coordinator.

Faculty

The UTA Faculty contributing to this certificate program are:

  • Jason Losh, Director of Undergraduate Computer Engineering Program
  • Bill Carroll

Other faculty members of CSE will be contributing to the certificate programs through the existing courses included in this certificate program.

Laboratory information can be found via cse.uta.edu under the Faculty Research heading.

Course Descriptions

CSE 3341 – Digital Logic Design II

Hierarchical organization, design, simulation, implementation, and testing of digital systems. Industrial standard computer-aided design tools including hardware description languages (HDLs), field-programmable gate arrays (FPGAs), and other prototyping hardware and software will be employed. Design of arithmetic and other algorithmic processes will be covered. A term project will be required. Prerequisite: C or better in CSE 2441.

CSE 3442 – Embedded Systems I

Design of microcontroller-based systems, including microprocessor programming, component and system architectures, memory interfacing, asynchronous and synchronous serial interfaces, timer-based peripherals, analog to digital (A/D) and digital to analog (D/A) converters, and typical applications.  Prerequisites: C or better in each of the following: CSE 2312, CSE 2440 and CSE 2441.

CSE 4342 – Embedded Systems II

Advanced course in design of microcontroller-based systems. Emphasis is on the application of microcontrollers to real-time problems. Topics include the study of the differences in bare metal and embedded Linux implementations, developing applications including PID controllers, and system aspects such as bootloader design and watchdog supervision.  Prerequisites: C or better in each of the following: CSE 3323, CSE 3442, and CSE 3313.

CSE 4352 – IoT and Networking

Study of protocol stacks and layers, implementation of an Ethernet protocol stack, and design of a basic low-latency, small footprint IoT protocol on bare metal embedded devices and embedded Linux systems.  Prerequisite: C or better in CSE 3442.

CSE 4354 – Real-time Operating Systems

Implementation of a real-time operating system with cooperative and preemption context switching, priority scheduling, semaphores, message queues, and inter-process communications on bare metal microcontrollers.  Prerequisite: C or better in CSE 3442.

CSE 4355 – Electromechanical Systems and Sensors

Applications of electronics and microcontrollers to the control of electromechanical systems. Topics include driving brushless motors (including stepper motors), brushed permanent magnet motors, and other mechanical actuators; the use of the sensors including IMU, LIDAR, RADAR, GPS, capacitive/inductive sensing, laser distance, thermocouples, strain, pressure, optical encoders, and Hall devices; and control applications.  Prerequisite: C or better in CSE 3323 and CSE 3442.

CSE 4356 – System on Chip (SoC) Design

Programming and implementation of FPGA-based system on chip solutions, including processor subsystems, FPGA fabric, processor to FPGA bridges, and device drivers.  Prerequisite: C or better in CSE 3442.

CSE 4372 – RISC Processor Design

Design of a RISC processor, based on RISC V and custom instruction set architectures with implementation on an FPGA target for test and verification. Prerequisite: C or better in CSE 3442.