# Computer Engineering Course Descriptions

**CE 1102 (ENGR 1102) Introduction to Experimental Techniques **(*1 semester hour*)** **CE fundamentals laboratory that stresses laboratory procedures; learning use of common laboratory equipment such as power supplies, multimeters, signal generators, and oscilloscopes; understanding the assembly of electronics circuits by putting together and testing two simple printed circuit boards; making measurements; familiarization with simple DC resistor circuits; Ohm's law; analyzing AC signals, including frequency, period, amplitude, and rms value; inductors, capacitors and DC transients; measuring phase shift in an AC circuit due to an inductor or capacitor; and basics of laboratory report writing. (Same as EE/TE 1102) (0-1) S

**CE 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. (Same as CS 1337) (3-0) S

**CE 2110 Introduction to Digital Systems** **Laboratory** *(1 semester hour) *Laboratory to accompany CE 2310.The purpose of this laboratory is to give students an intuitive understanding of digital circuits and systems. Laboratory exercises include construction of simple digital logic circuits using prototyping kits and board-level assembly of a personal computer, and extensive experience in developing assembly language programs in the MIPS assembly language, using the SPIM assembler. Corequisite: CE/EE 2310. (Same as EE 2110) (0-1) S

**CE 2300 Linear Algebra for Engineers **(*3 semester hours*)** **Matrices, vectors, linear systems of equations, Gauss-Jordan elimination, LU factorization and rank. Determinants and solutions of linear systems. Vector spaces, linear dependence/independence, basis, and change of basis. Linear transformations and matrix representation; similarity. Scalar products, orthogonality, Gram-Schmidt process, and QR factorization. Eigenvalues, eigenvectors, and diagonalization; singular-value decomposition. Students cannot get credit for both CE/EE/MECH 2300 and MATH 2418. Problem solving using MATLAB. Corequisite: MATH 2419. (Same as EE/MECH 2300) (3-0) S

**CE 2310 Introduction to Digital Systems** *(3 semester hours)* Introduction to hardware structures and assembly-language concepts that form the basis of the design of modern computer systems. Internal data representation and arithmetic operations in a computer. Basic logic circuits. MIPS assembly language. Overview of computer architecture. Corequisite: CE/EE 2110. This class may be offered as either regular or honors sections (H). (Same as EE 2310) (3-0) S

**CE 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: CE/CS 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

**CE 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: CE/EE/TE 1102. Corequisite: CE/EE/TE 3301. (Same as EE/TE 3101) (0-1) S

**CE 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. Corequisite: CE/EE/TE 3302. Pre- or corequisite: ECS 3390. (Same as EE/TE 3102) (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. Pre- or corequisite: ECS 3390. (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. Pre- or corequisite: ECS 3390. (Same as EE 3120) (0-1) S

**CE 3300 Advanced Engineering Mathematics** (*3 semester hours*) Survey of advanced mathematics topics needed in the study of engineering. Topics include vector differential calculus, vector integral calculus, integral theorems, complex variables, complex integration, series, residues and numerical methods. Examples are provided from microelectronics and communications. Corequisite: MATH 2420. (Same as EE/MECH 3300) (3-0) S

**CE 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. Corequisite: CE/EE/TE 3101. (Same as EE/TE 3301) (3-0) S

**CE 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: CE/EE 3300. Corequisite: CE/EE/TE 3102. (Same as EE/TE 3302) (3-0) S

**CE 3307 Discrete Mathematics** *(3 semester hours)* Principles of counting. Boolean operations. Sets, relations, functions, and partial orders. Recurrence relations. Graph theory. Students cannot get credit for both CE/TE 3307 and CS 2305 or CS 3305. Prerequisite: MATH 2417. (Same as TE 3307) (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 CE/EE/TE 3301. Corequisite: 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. Corequisite: 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: CE/CS/EE 2310. Corequisite: CE/EE 3120. (Same as EE 3320) (3-0) S

**CE 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. Students cannot get credit for both CS/SE 3341 and CE/EE/TE 3341. Prerequisite: MATH 2419. Recommended corequisite: MATH 2420. (Same as EE/MECH/TE 3341) (3-0) S

**CE 3346 Computer Algorithms and Data Structures** *(3 semester hours)* Basic data structures such as arrays, stacks, queues, lists, trees. Algorithmic complexity. Sorting and search techniques. Fundamental graph algorithms. Students cannot get credit for both CS/SE 3345 and CE/TE 3346. Prerequisites: CE/CS 2336 and CE/TE 3307. Prerequisite or corequisite: CE/EE/TE 3341. (Same as TE 3346) (3-0) S

**CE 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: CE/CS 2336 or CS 3333, and CE/TE 3307 or CS 2305. Pre- or Corequisite: ECS 3390. (Same as CS/SE 3354) (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

**CE 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 CE/EE/TE 4334. Prerequisites: CE/EE 2300, CE/EE 3300, and knowledge of a high level programming language. (Same as EE/TE 4334) (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: CE/CS 2336 or CS 3333, and CE/TE 3307 or CS 2305. (Same as CS 4337) (3-0) S

**CE 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, CS/SE 3345 or CE/TE 4346, and a working knowledge of C and UNIX. (Same as CS/SE/TE 4348) (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

**CE 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). (Same as EE/TE 4388) (3-0) S

**CE 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: CE/EE/TE 4388. (Same as TE 4389) (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