Computer Science and Engineering - Undergraduate Programs
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 Courses | 24 | |
PROFESSIONAL AND TECHNICAL COMMUNICATION FOR SCIENCE AND ENGINEERING | ||
GOVERNMENT OF THE UNITED STATES | ||
STATE AND LOCAL GOVERNMENT | ||
History Electives (6 hours) 2 | ||
Approved Language, Philosophy and Culture elective 2 | ||
Approved Creative Arts elective 2 | ||
Program Requirements | ||
Pre-Professional Courses 1 | ||
UNIV 1131 | STUDENT SUCCESS | 1 |
or ENGR 1101 | ENTRANCE TO ENGINEERING FOR TRANSFER STUDENTS | |
ENGL 1301 | RHETORIC AND COMPOSITION I | 3 |
MATH 1426 | CALCULUS I (fulfills common core) | 4 |
MATH 2425 | CALCULUS II | 4 |
PHYS 1443 | GENERAL TECHNICAL PHYSICS I | 4 |
PHYS 1444 | GENERAL TECHNICAL PHYSICS II | 4 |
CSE 1106 | INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING | 1 |
CSE 1310 | INTRODUCTION TO COMPUTERS & PROGRAMMING | 3 |
CSE 1320 | INTERMEDIATE PROGRAMMING | 3 |
CSE 1325 | OBJECT-ORIENTED PROGRAMMING | 3 |
CSE 2312 | COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING | 3 |
CSE 2315 | DISCRETE STRUCTURES | 3 |
CSE 3318 | ALGORITHMS & DATA STRUCTURES | 3 |
Professional Courses 3 | ||
IE 3301 | ENGINEERING PROBABILITY | 3 |
or MATH 3313 | INTRODUCTION TO PROBABILITY | |
CSE 3302 | PROGRAMMING LANGUAGES | 3 |
CSE 3310 | FUNDAMENTALS OF SOFTWARE ENGINEERING | 3 |
CSE 3314 | PROFESSIONAL PRACTICES | 3 |
CSE 3315 | THEORETICAL CONCEPTS IN COMPUTER SCIENCE AND ENGINEERING | 3 |
CSE 3320 | OPERATING SYSTEMS | 3 |
CSE 3330 | DATABASE SYSTEMS AND FILE STRUCTURES | 3 |
CSE 3380 | LINEAR ALGEBRA FOR CSE | 3 |
or MATH 3330 | INTRODUCTION TO LINEAR ALGEBRA AND VECTOR SPACES | |
CSE 4308 | ARTIFICIAL INTELLIGENCE | 3 |
CSE 4316 | COMPUTER SYSTEM DESIGN PROJECT I | 3 |
CSE 4317 | COMPUTER SYSTEM DESIGN PROJECT II | 3 |
CSE 4344 | COMPUTER NETWORK ORGANIZATION | 3 |
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 2 | 3 | |
Approved Technical electives 2 | 15 | |
Total Hours | 123 |
- 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 Courses | 24 | |
PROFESSIONAL AND TECHNICAL COMMUNICATION FOR SCIENCE AND ENGINEERING | ||
GOVERNMENT OF THE UNITED STATES | ||
STATE AND LOCAL GOVERNMENT | ||
History Electives (6 hours) 2 | ||
Approved Language, Philosophy and Culture elective 2 | ||
Approved Creative Arts elective 2 | ||
Program Requirements | ||
Pre-Professional Courses 1 | ||
UNIV 1131 | STUDENT SUCCESS | 1 |
or ENGR 1101 | ENTRANCE TO ENGINEERING FOR TRANSFER STUDENTS | |
ENGL 1301 | RHETORIC AND COMPOSITION I | 3 |
MATH 1426 | CALCULUS I | 4 |
MATH 2425 | CALCULUS II | 4 |
PHYS 1443 | GENERAL TECHNICAL PHYSICS I | 4 |
PHYS 1444 | GENERAL TECHNICAL PHYSICS II | 4 |
CSE 1106 | INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING | 1 |
CSE 1310 | INTRODUCTION TO COMPUTERS & PROGRAMMING | 3 |
CSE 1320 | INTERMEDIATE PROGRAMMING | 3 |
CSE 1325 | OBJECT-ORIENTED PROGRAMMING | 3 |
CSE 2312 | COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING | 3 |
CSE 2315 | DISCRETE STRUCTURES | 3 |
CSE 2440 | CIRCUIT ANALYSIS | 4 |
CSE 2441 | DIGITAL LOGIC DESIGN I | 4 |
CSE 3318 | ALGORITHMS & DATA STRUCTURES | 3 |
Professional Courses 3 | ||
IE 3301 | ENGINEERING PROBABILITY | 3 |
or MATH 3313 | INTRODUCTION TO PROBABILITY | |
CSE 3313 | INTRODUCTION TO SIGNAL PROCESSING | 3 |
CSE 3314 | PROFESSIONAL PRACTICES | 3 |
CSE 3320 | OPERATING SYSTEMS | 3 |
CSE 3323 | ELECTRONICS | 3 |
CSE 3341 | DIGITAL LOGIC DESIGN II | 3 |
CSE 3380 | LINEAR ALGEBRA FOR CSE | 3 |
or MATH 3330 | INTRODUCTION TO LINEAR ALGEBRA AND VECTOR SPACES | |
CSE 3442 | EMBEDDED SYSTEMS I | 4 |
CSE 4316 | COMPUTER SYSTEM DESIGN PROJECT I | 3 |
CSE 4317 | COMPUTER SYSTEM DESIGN PROJECT II | 3 |
CSE 4323 | QUANTITATIVE COMPUTER ARCHITECTURE | 3 |
CSE 4342 | EMBEDDED SYSTEMS II | 3 |
Approved Mathematics elective 2 | 3 | |
Approved Science elective 2 | 4 | |
Approved Technical elective 2 | 9 | |
Total Hours | 124 |
- 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 Courses | 24 | |
PROFESSIONAL AND TECHNICAL COMMUNICATION FOR SCIENCE AND ENGINEERING | ||
GOVERNMENT OF THE UNITED STATES | ||
STATE AND LOCAL GOVERNMENT | ||
History Electives (6 hours) 2 | ||
Approved Language, Philosophy and Culture elective 2 | ||
Approved Creative Arts elective 2 | ||
Program Requirements | ||
Pre-Professional Courses 1 | ||
UNIV 1131 | STUDENT SUCCESS | 1 |
or ENGR 1101 | ENTRANCE TO ENGINEERING FOR TRANSFER STUDENTS | |
ENGL 1301 | RHETORIC AND COMPOSITION I | 3 |
MATH 1426 | CALCULUS I | 4 |
MATH 2425 | CALCULUS II | 4 |
PHYS 1443 | GENERAL TECHNICAL PHYSICS I | 4 |
PHYS 1444 | GENERAL TECHNICAL PHYSICS II | 4 |
CSE 1106 | INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING | 1 |
CSE 1310 | INTRODUCTION TO COMPUTERS & PROGRAMMING | 3 |
CSE 1320 | INTERMEDIATE PROGRAMMING | 3 |
CSE 1325 | OBJECT-ORIENTED PROGRAMMING | 3 |
CSE 2312 | COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING | 3 |
CSE 2315 | DISCRETE STRUCTURES | 3 |
CSE 3318 | ALGORITHMS & DATA STRUCTURES | 3 |
Professional Courses 3 | ||
IE 3301 | ENGINEERING PROBABILITY | 3 |
or MATH 3313 | INTRODUCTION TO PROBABILITY | |
CSE 3302 | PROGRAMMING LANGUAGES | 3 |
CSE 3310 | FUNDAMENTALS OF SOFTWARE ENGINEERING | 3 |
CSE 3311 | OBJECT-ORIENTED SOFTWARE ENGINEERING | 3 |
CSE 3314 | PROFESSIONAL PRACTICES | 3 |
CSE 3315 | THEORETICAL CONCEPTS IN COMPUTER SCIENCE AND ENGINEERING | 3 |
CSE 3320 | OPERATING SYSTEMS | 3 |
CSE 3330 | DATABASE SYSTEMS AND FILE STRUCTURES | 3 |
CSE 3380 | LINEAR ALGEBRA FOR CSE | 3 |
or MATH 3330 | INTRODUCTION TO LINEAR ALGEBRA AND VECTOR SPACES | |
CSE 4316 | COMPUTER SYSTEM DESIGN PROJECT I | 3 |
CSE 4317 | COMPUTER SYSTEM DESIGN PROJECT II | 3 |
CSE 4321 | SOFTWARE TESTING & MAINTENANCE | 3 |
CSE 4322 | SOFTWARE PROJECT MANAGEMENT | 3 |
CSE 4361 | SOFTWARE DESIGN PATTERNS | 3 |
CSE 4380 | INFORMATION SECURITY | 3 |
Approved Mathematics elective 2 | 3 | |
Approved Science elective 2 | 4 | |
Approved Technical electives 2 | 9 | |
Total Hours | 124 |
- 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 1320 | INTERMEDIATE PROGRAMMING | 3 |
CSE 1325 | OBJECT-ORIENTED PROGRAMMING | 3 |
CSE 2315 | DISCRETE STRUCTURES | 3 |
CSE 3318 | ALGORITHMS & DATA STRUCTURES | 3 |
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 courses | 6 | |
Total Hours | 18 |
- 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 4344 | COMPUTER NETWORK ORGANIZATION | 3 |
or CSE 4352 | IOT AND NETWORKING | |
CSE 4380 | INFORMATION SECURITY | 3 |
CSE 4381 | INFORMATION SECURITY II | 3 |
CSE 4382 | SECURE PROGRAMMING | 3 |
Total Hours | 12 |
*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 4378 | INTRODUCTION TO UNMANNED VEHICLE SYSTEMS | 3 |
CSE 4379 | UNMANNED VEHICLE SYSTEM DEVELOPMENT | 3 |
CSE 4308 | ARTIFICIAL INTELLIGENCE | 3 |
CSE 4360 | AUTONOMOUS ROBOT DESIGN AND PROGRAMMING | 3 |
3 credit hours from the following list | 3 | |
FUNDAMENTALS OF MACHINE LEARNING | ||
FUNDAMENTALS OF COMPUTER VISION | ||
Total Hours | 15 |
*Any course substitution has to be approved beforehand by the certificate coordinator.
For Computer Engineering majors:
Required classes | ||
CSE 4378 | INTRODUCTION TO UNMANNED VEHICLE SYSTEMS | 3 |
CSE 4379 | UNMANNED VEHICLE SYSTEM DEVELOPMENT | 3 |
CSE 3313 | INTRODUCTION TO SIGNAL PROCESSING | 3 |
CSE 3442 | EMBEDDED SYSTEMS I | 4 |
3 credit hours from the following list | 3 | |
EMBEDDED SYSTEMS II | ||
AUTONOMOUS ROBOT DESIGN AND PROGRAMMING | ||
ARTIFICIAL INTELLIGENCE | ||
Total Hours | 16 |
*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 3442 | EMBEDDED SYSTEMS I | 4 |
CSE 4342 | EMBEDDED SYSTEMS II | 3 |
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 Hours | 16 |
*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.