# Computer Engineering Course Descriptions

**ENGR 1202 (ENGR 1202) Introduction to Engineering **(*2 semester hours*) EE 1202 introduces the discipline of engineering. It includes a one-hour lecture plus a 3 hour fundamentals laboratory that stresses learning about laboratory procedures and equipment. Topics include: Learning the use of common laboratory equipment; understanding the assembly of electronic circuits; and making various measurements. Students also learn how to work together with a partner and how to write a laboratory report. The lecture introduces general engineering practices, engineering research at UTD, engineering activities at selected local companies, and concepts such as innovation and invention. EE 1202 may be taken by students outside of engineering in order to learn about the engineering profession. (1-1) S

**ECS 1337 (COSC 1337) Computer Science I **(*3 semester hours*) Introduction to object-oriented software analysis, design, and development. Classes and objects. Object composition and polymorphism. Sorting, searching, recursion. Strings using core classes. Inheritance and interfaces. Graphical User Interfaces. Includes a comprehensive programming project. Prerequisite: CS 1336 with a grade of C or better or equivalent. (3-0) S

**ENGR 2300 Linear Algebra for Engineers **(*3 semester hours*) Matrices, vectors, linear systems of equations, Gauss-Jordan elimination, LU factorization and rank. Vector spaces, linear dependence/independence, basis, and change of basis. Linear transformations and matrix representation; similarity, scalar products, orthogonality, Gram-Schmidt procedures, and QR factorization. Determinants, eigenvalues, eigenvectors, and diagonalization. Introduction to problem solving using MATLAB. Introduction to complex numbers. This course includes a required laboratory. Students cannot get credit for both CE/EE/MECH 2300 and MATH 2418. Pre- or Co-requisite: MATH 2414 or MATH 2419. (3-1) S

**ECS 2305 (MATH 2305) Discrete Mathematics for Computing I **(*3 semester hours*) Principles of counting. Boolean operations. Logic and methods of proof. Sets, relations, functions. Recurrence relations. Elementary graph theory. Students who have taken CE/TE 3307 cannot receive credit for this course. Prerequisite: MATH 1326, MATH 2413 or MATH 2417. (3-0) S

**EE 2310 Introduction to Digital Systems **(*3 semester hours*) Introduction to digital circuits, hardware structures, and assembly-language concepts that underlie the design of modern computer systems. Topics include: Internal data representation and arithmetic operations in a computer, basic logic circuits, MIPS assembly language and an overview of computer architecture. Some knowledge of a high-level language such as C++ or Java is expected. EE 2310 also has a laboratory component. Exercises will be assigned in class for completion in the laboratory. This class may be offered as either regular or honors sections (H). (Same as CE 2310) (3-0) S

**CE 2336 (COSC 2336) Computer Science II **(*3 semester hours*) Exceptions and number formatiing. File input/output using Stream classes. Implementation of primitive data structure, including linked lists (all types), stacks, queues, and binary trees. Advanced data manipulation using core classes. Introduction to multi-threading, multimedia, and networking. Includes a comprehensive programming project. Prerequisite: ECS 1337. (Same as CS 2336) (3-0) S

**CE 2V99 Topics in Computer Engineering **(*1-4 semester hours*) May be repeated as topics vary (*9 hours maximum*). ([1-4]-0) R
ENGR 3101 Electrical Network Analysis Laboratory (*1 semester hour*) Laboratory to accompany CE 3301. Design, assembly and testing of linear electrical networks and systems. Use of computers to control electrical equipment and acquire data. Prerequisite: ENGR 1202, RHET 1302. Co-requisite: CE/EE/TE 3301. (0-1) S

**ENGR 3102 Signals and Systems Laboratory **(*1 semester hour*) Laboratory based on MATLAB and LabVIEW to provide implementation experience on topics covered in CE 3302. Laboratory experiments cover linear time-invariant systems, convolution, Fourier series, continous Fourier transform, sampling, discrete Fourier transform, analog and digital filtering. Each lab is followed by a design application. Co-requisite: ENGR 3302. Prerequisite: RHET 1302. (0-1) S

**CE 3110 Electronic Devices Laboratory **(*1 semester hour*) Laboratory to accompany CE 3310. Experimental determination and illustration of properties of carriers in semiconductors including carrier drift, carrier diffusion; p-n junctions including forward and reverse bias effects and transient effects; bipolar transistors including the Ebers-Moll model and secondary effects; field effect transistors including biasing effects, MOS capacitance and threshold voltage. Corequisite: CE/EE 3310. Prerequisite: RHET 1302. (Same as EE 3110) (0-1) S

**CE 3111 Electronic Circuits Laboratory **(*1 semester hour*) Laboratory to accompany CE 3311. Design, assembly and testing of electronic circuits that use diodes, transistors and operational amplifiers in configurations typically encountered in practical applications. Corequisite: CE /EE 3311. (Same as EE 3111) (0-1) S

**CE 3120 Digital Circuits Laboratory **(*1 semester hour*) Laboratory to accompany CE 3320. Design, assembly, and testing of logic circuits. Use of programmable logic devices and simple CAD tools. Corequisite: CE/EE 3320. Prerequisite: RHET 1302. (Same as EE 3120) (0-1) S

**ENGR 3300 Advanced Engineering Mathematics **(*3 semester hours*) Survey of advanced mathematics topics needed in the study of engineering. Topics include review of complex numbers, multivariate calculus and analytic geometry, study of polar, cylindrical and spherical coordinates, vector differential calculus, vector integral calculus, and vector integral theorems. Examples are provided from electromagnetics, fluid mechanics, physics and geometry. Prerequisite: MATH 2415 or MATH 2419. (3-0) S

**ENGR 3301 Electrical Network Analysis **(*3 semester hours*) Analysis and design of RC, RL, and RLC electrical networks. Sinusoidal steady state analysis of passive networks using phasor representation; mesh and nodal analyses. Introduction to the concept of impulse response and frequency analysis using the Laplace transform. Prerequisites: MATH 2420, PHYS 2326. Co-requisite: ENGR 3101. (3-0) S

**ENGR 3302 Signals and Systems **(*3 semester hours*) Introduces the fundamentals of continuous and discrete-time signal processing. Linear system analysis including convolution and impulse response, Fourier series, Fourier transform and applications, discrete-time signal analysis, sampling and z-transform. Prerequisites: ENGR 3300. Co-requisite: 3102. (3-0) S

**CE 3310 Electronic Devices **(*3 semester hours*) Theory and application of solid state electronic devices. Physical principles of carrier motion in semiconductors leading to operating principles and circuit models for diodes, bipolar transistors, and field effect transistors. Introduction to integrated circuits. Prerequisites ENGR 3301. Co-requisite: CE/EE 3110. (Same as EE 3310) (3-0) S

**CE 3311 Electronic Circuits **(*3 semester hours*) Analysis and design of electronic circuits using diodes, transistors and operational amplifiers with feedback. Gain and stability of basic amplifier circuits using BJT’s, JFET’s and MOSFET’s; classes of amplifiers; performance of ideal and non-ideal operational amplifiers. Prerequisite: CE/EE 3310. Co-requisite: CE/EE 3111. (Same as EE 3311) (3-0) S

**CE 3320 Digital Circuits **(*3 semester hours*) Boolean logic. Design and analysis of combinational logic circuits using SSI and MSI. Design and analysis of synchronous state machines. State minimization and assignment. Design of arithmetic circuits: adders, multipliers and shifters. Use of programmable logic devices and simple CAD tools. Students cannot get credit for both CS 4341 and CE/EE 3320. Prerequisite: ENGR 2310. Co-requisite: CE/EE 3120. (Same as EE 3320) (3-0) S

**ENGR 3341 Probability Theory and Statistics **(*3 semester hours*) Axioms of probability, conditional probability, Bayes theorem, random variables, probability density/mass function (pdf/pmf), cumulative distribution function, expected value, functions of random variables, joint, conditional and marginal pdfs/pmfs for multiple random variables, moments, central limit theorem, elementary statistics, empirical distribution correlation. Students cannot get credit for both CS/SE 3341 and CE/EE/MECH/TE 3341. Prerequisite: MATH 2415 or MATH 2419. Recommended corequisite: MATH 2420. (3-0) S

**ECS 3345 Data Structures and Introduction to Algorithmic Analysis **(*3 semester hours*) Analysis of algorithms including time complexity and Big-O notation. Analysis of stacks, queues, and trees, including B-trees. Heaps, hashing, and advanced sorting techniques. Disjoint sets and graphs. Course emphasizes design and implementation. Prerequisites: ECS 2305 and ECS 2336. Prerequisite or corequisite: CS/SE 3341 or ENGR 3341. (3-0) S

**ECS 3354 Software Engineering **(*3 semester hours*) Introduction to software life cycle models. Software requirements engineering, formal specification and validation. Techniques for software design and testing. Cost estimation models. Issues in software quality assurance and software maintenance. Prerequisites: ECS 2336 or CS 3333, and CS 2305. Pre- or Co-requisite: ECS 3390. (3-0) S

**CE 4304 Computer Architecture **(*3 semester hours*) Introduction to computer organization and design, including the following topics: CPU performance analysis. Instruction set design, illustrated by the MIPS instruction set architecture. Systems-level view of computer arithmetic. Design of the datapath and control for a simple processor. Pipelining. Hierarchical memory. I/O systems. I/O performance analysis. Multiprocessing. Students cannot get credit for both CS/SE 3340 and CE/EE 4304. Prerequisite: CE/EE 3320. (Same as EE 4304) (3-0) S

**ENGR 4334 Numerical Methods in Engineering **(*3 semester hours*) Computer arithmetic and error analysis. Solution of linear equations, roots of polynomial equations, interpolation and approximation, numerical differentiation and integration, solution of ordinary differential equations. Emphasis on engineering applications and numerical software. Students cannot get credit for both CS/MATH 4334 and ENGR 4334. Prerequisites: ENGR 2300, ENGR 3300, and knowledge of a high level programming language. (3-0) Y

**CE 4337 Organization of Programming Languages **(*3 semester hours*) Principles of design and implementation of contemporary programming languages. Formal description including specification of syntax and semantics of programming languages. Language definition structures including binding, scoping, data types, control structures, parameter passing, abstraction mechanism, and run-time considerations. Design issues of imperative languages, object-oriented languages, functional languages and logic languages. Design, implement, and debug programs in various programming language paradigms. Prerequisites: ECS 2336 or CS 3333, CS 2305, CS/SE 3340. (Same as CS 4337) (3-0) S

**ECS 4348 Operating Systems Concepts **(*3 semester hours*) An introduction to fundamental concepts in operating systems: their design, implementation, and usage. Topics include process management, main memory management, virtual memory, I/O and device drivers, file systems, secondary storage management, and an introduction to critical sections and deadlocks. Prerequisites: CS/SE 3340 or CS/SE 4340 or CE/EE 4304, ECS 3345, and a working knowledge of C and UNIX. (3-0) S

**CE 4370 Embedded Microprocessor Systems **(*3 semester hours*) An introduction to microprocessors and their uses. Features commonly found in a CPU are discussed, such as: The Program Counter, Stack, Status Register, General Purpose Registers, ALU, Instruction Set and peripheral Devices. Memory (SRAM, DRAM, EPROM, EEPROM) and Memory Mapped IO peripheral devices. Assembly language is used to create the binary machine code necessary to program a Microprocessor system. The special features of microprocessors: the stack, interrupts, input ports, out ports and display. Prerequisites: CE/EE 3311. CE/EE 3320; Corequisite: CE/EE 4304. (3-0) Y

**CE 4372 Contemporary Systems Design **(*3 semester hours*) Design and analysis based system level design concepts, develop working projects using traditional and emerging technologies. Emphasis on specifying requirements, tracking projects and building test and validation strategies. Prerequisites: CE/EE 3320, CE/TE 3346, and CS/CE/SE 3354. (3-0) Y

**ENGR 4388 Senior Design Project I **(*3 semester hours*) First of two sequential semesters devoted to a team project that engages students in the full engineering design process. The goal of senior design projects is to prepare the student to run/participate in engineering projects related to an appropriate industry. Thus, all project teams are to follow standard industrial practices and methods. Teams must carry the engineering project to completion, examining real world constraints, following applicable industrial and business standards. Such constraints may include but are not limited to: economic, environmental, industrial standards, team time/resource management and cross-disciplinary/departmental result integration. (Students are encouraged to work in teams that include collaborative design interaction, but may work on individual projects as well, provided there is a collaboration component. Additionally, cross disciplinary/departmental teams are encouraged but not required.) In Senior Design I, project proposals will be written, reviewed and approved. Initial designs will be completed and corresponding constraints will be determined. All students will participate in a public oral presentation following departmental approved guidelines at a departmental approved time and location. Teams will also submit a written end of semester progress report and documented team communication (complete sets of weekly reports and/or log books) following guidelines approved by the faculty. Students must have completed ECS 3390 and one of the following prerequisite sequences: (CE 3311, CE 3320, CE 3346, and CE 3354), or (EE 3300, EE 3302, EE 3311, and EE 3320), or (EE 3300, TE 3302, and TE 3346; pre- or corequisite EE 3350). 4388) (3-0) S

**ENGR 4389 Senior Design Project II **(*3 semester hours*) Continuation of the Senior Design project begun in the previous semester. In Senior Design II, projects based on approved project proposals will be completed. All limitations of the design will be determined and addressed. All students will participate in a public oral presentation following faculty-approved guidelines at a faculty-approved time and location. Teams will also submit a written final report and documented team communication (complete sets of weekly reports and/or log books) following faculty-approved guidelines. Prerequisite: ENGR 4388. (3-0) S

**CE 4390 Computer Networks **(*3 semester hours*) The design and analysis of computer networks. Topics include: the ISO reference model, transmission media, medium-access protocols, LANs, data link protocols, routing, congestion control, internetworking, and connection management. Students cannot get credit for both CE/CS/TE 4390 and EE 4390. Prerequisite: CS/SE 3345 or CE/TE 3346. (Same as CS/TE 4390) (3-0) S

**CE 4399 Senior Honors in Computer Engineering **(*3 semester hours*) For students conducting independent research for honors theses or projects. (0-3) R

**CE 4V95 Undergraduate Topics in Computer Engineering **(*1-9 semester hours*) Subject matter will vary from semester to semester. May be repeated for credit as topics vary (*9 hours maximum*). ([1-9]-0) R

**CE 4V97 Independent Study in Computer Engineering **(*1-9 semester hours*) Independent study under a faculty member’s direction. May be repeated for credit as topics vary (*9 hours maximum*). Consent of instructor required. ([1-9]-0) R

**CE 4V98 Undergraduate Research in Computer Engineering **(*1-9 semester hours*) Topics will vary from semester to semester. May be repeated for credit as topics vary (*9 hours maximum*). Consent of instructor required. ([1-9]-0) R