Courses in Electrical and Computer Engineering

I CEN 110 (= I ESE 110) Introduction to Engineering (2)
(Formerly I CEN 140.) An introduction to engineering, including problem solving and other skill sets essential for engineers. Using a combination of assignments and classroom lectures and presentations, students will learn how to formulate, articulate, and solve engineering problems, and how to present engineering work in written and oral form. Students will learn about the different disciplines within engineering and the multidisciplinary nature of modern engineering. Students will gain a better understanding of how fundamental scientific principles relate to engineering. Only one of I CEN/I ESE 110 and I CEN 140 may be taken for credit. Corequisite or prerequisite: A MAT 112 or A MAT 118.

I CEN 111 Introduction to Electrical and Computer Engineering (4)
(Formerly as I CEN 150.) An introduction to fundamental concepts, skills, and technologies in Electrical and Computer Engineering. Students are introduced to modern engineering tools and logical and systematic ways to analyze and solve problems in electrical and computer engineering. Only one of I CEN 111 and I CEN 150 may be taken for credit. Must be completed with a C or better to register for I CEN 200. Corequisite(s) or prerequisite(s): A MAT 112 or A MAT 118.

I CEN 140 Introduction to Engineering Design (3)
This course explores the topic of engineering design and teaches about and formalizes the design process and problem solving. Using a combination of team and individual projects/labs, assignments, and classroom lectures and presentations, students will learn how to formulate, articulate, and solve problems, how to work on a team to design things, and how to present the results of engineering work in oral and written form. Students will also learn about the different disciplines of engineering and the multidisciplinary nature of modern engineering design. Only one of I CEN/I ESE 110 and I CEN 140 may be taken for credit. Prerequisite(s): A MAT 112, A PHY 140 or 142, and I CEN 200, or permission of instructor.

I CEN 150 Introduction to Engineering Analysis (3)
This course introduces students to techniques, skills, and modern engineering tools to teach students logical and systematic ways to analyze and solve engineering problems. This course leverages course work in physics, computer science and mathematics. Only one of I CEN 111 and I CEN 150 may be taken for credit. Must be completed with a C or better to register for I CEN 200. Prerequisite(s): I CEN 140.

I CEN 200 Programming for Engineers (4)
This is an introductory course in C programming language, which covers structured programming, data types, arrays, multi-dimensional arrays, functions, recursions, pointers, strings, structures and unions, bit manipulation, file processing, preprocessor, command line arguments and handling multiple source and header files. Only one of I CEN 200 and I CEN/I CSI 201 may be taken for credit. Must be completed with a grade of C or better to register for I CEN 340. Prerequisite(s): A grade of C or better in both I CEN 111/150 and A MAT112 or 118.

I CEN 201 (= I CSI 201) Introduction to Computer Science (4)
Computer algorithms and their representation. The principle of information hiding and its relation to program block structure. File structure and access methods. The efficient use of computational resources. Program development and style. Only one of I CEN 200 and I CEN/I CSI 201 may be taken for credit.

I CEN 210 (= I CSI 210) Discrete Structures (4)
Proofs by induction; mathematical reasoning, propositions, predicates and quantifiers; sets; relations, graphs, and trees; functions; counting, permutations and combinations. Only one version may be taken for credit. Prerequisite(s) or corequisite: High School mathematics through precalculus and A MAT 112.

I CEN 213 (= I CSI 213) (formerly I CSI 310) Data Structures (3)
Commonly used abstract data structures and their implementation. The use of pointers and recursive programming. Stacks, queues, lists and trees, and their application to such problems as sorting and searching. Analysis of algorithms for using these structures. May not be taken by students with credit for I CSI 310. Must be completed with a grade of C or better in to register for I CSI 333. Prerequisite(s): I CSI/I CEN 201 or permission of department chair.

I CEN 280 Introduction to Circuits (3)
Review of basic circuits, voltage and current division, and Thevenin and Norton equivalent circuits. Analysis of circuits using the matrix formulation of Kirchhoff¿s Current and Voltage Laws. Operational Amplifiers. Study of circuits with capacitors and inductors using linear differential equations. Sinusoidal steady state response of basic circuits, phasor circuit analysis, and frequency dependence. Passive filter design and analysis. Laplace Transform and s-domain circuit analysis. This course includes a laboratory. Prerequisite(s): A PHY 150 or 152 or T PHY 151 Corequisite(s): A MAT 311 and either A MAT 220 or 222.

I CEN 310 Engineering Electromagnetics (4)
Review of Maxwell's equations and time harmonic electric and magnetic fields. Plane waves in lossless and lossy media, group velocity, Poynting vector, and flow of electromagnetic power. Normal and oblique incidence of plane waves at plane boundaries. Transmission lines, the Smith chart, and impedance matching. Waveguides. Introduction to antennas and antenna arrays. The course includes a laboratory. Prerequisites: I CEN 280.

I CEN 333 (= I CSI 333) Programming at the Hardware Software Interface (4)
Instruction set architecture of contemporary computers; Boolean logic, memory, registers, instructions and interrupts. Assembly language programming; assembler passes, symbols, macros, function linkage and separate compilations. C language programming; syntax, control, types, abstractions, pointers and strings. Dynamic memory, standard and user written libraries. ANSI and C++ standards. Instruction set simulation. Only one version may be taken for credit. Prerequisite(s): a grade of C or better in I CEN/I CSI 213.

I CEN 340 Digital Systems (3)
An introduction to digital logic hardware used in modern computing systems. Boolean algebra, number systems, digital arithmetic, basic logic gates, combinational logic circuits, complex logic building blocks, including multiplexers, decoders and flip-flops, registers and memory arrays. Methods and techniques for the analysis, design and synthesis of combinational logic, sequential logic and memory circuits. An introduction to, and "hands-on" experience with, state-of-the-art electronic design automation (EDA) software tools, and hardware description languages (HDL) such as VHDL for practical applications of digital logic designs and implementations using field programmable logic arrays (FPGAs). This course includes a laboratory. Prerequisite(s): a grade of C or better in I CEN 111/150, a grade of C or better in I CEN 200, and I CEN 210/I CSI 210.      

I CEN 350 Signals and Systems (3)
This course introduces students to Signals and Systems. The course is divided into three parts: introduction, theory, and applications of continuous ­time signals and systems, and theory and applications of discrete­-time signals and systems. The course is organized so that students not only get a solid understanding of the theory -- enhanced by analytic examples and software examples using MATLAB, learn about applications, but also develop confidence and proficiency in the material by working on analytic and computational problems. Prerequisites(s): A MAT 220, A MAT 311, I CEN 280.

I CEN 353 (= A PHY 353) Microprocessor Applications (3)
Applications of microprocessors to data collection and process control; the capabilities of typical microprocessors and the techniques used to interface them to external devices; input/output programming, use of the data and address busses; interrupt handling, direct memory access, and data communications; characteristics of peripheral devices such as keyboards, printers, A/D and D/A converters, sensors, and actuators. Three class periods each week. Only one version may be taken for credit. Prerequisite(s): I CEN/I CSI 201 or I CSI 204 or equivalent. An elementary knowledge of electricity is helpful.

I CEN 360 Emerging Technologies (3)
This course will explore current emerging technologies and related technical management practices on a global basis. The content of this course will vary from semester to semester. Each offering will cover an advanced engineering topic in Computer Engineering. May be repeated for credit when content varies. Prerequisite(s): permission of instructor.

I CEN 370 Digital Signal Processing (3)
This course covers the techniques of modern digital signal processing that are fundamental to a wide variety of application areas. The course covers the mathematical basis of discrete-time signal analysis, discusses the theory and implementation of fast Fourier transform algorithms, and discusses the design and implementation of digital filters. The coverage of the fundamentals is complemented with introductory treatments of several advanced techniques including linear prediction, adaptive filtering, and two-dimensional signal processing. The course concludes with a discussion of the application of digital signal processing techniques toward the solution of various types of practical problems. This course makes extensive use of MATLAB as an analysis, design, and visualization tool. Prerequisite(s): I CEN 350.

I CEN 380 Introduction to Digital Circuits (3)
Basic electronic and physical properties of semiconductors materials. Functional characteristics and electronic models of silicon semiconductor diodes and transistors (field effect transistors and bipolar junction transistors). DC biasing, static current-voltage (I-V) characteristics, and transient behavior of transistors, and transistor circuits. Analog transistor applications such as single stage and multi-stage amplifiers. Operational amplifiers. Frequency response and feedback characteristics of transistor circuits. Digital circuit applications with single and multi-stage transistor circuits. The use of computer aided circuit design and simulation tools and techniques. Hands-on lab experimentation constructing circuits to test and measure functional and performance characteristics. Prerequisite(s): I CEN 280. Prerequisite(s) or corequisite(s): I CEN 340.       

I CEN 400 (= I CSI 400) Operating Systems (3)
Historical overview; operating system services; mass storage file organization; memory management in multiprogrammed systems; virtual memory; resource allocation; concurrent processes; deadlock detection and prevention; security; the design of contemporary operating systems such as UNIX. Only one version may be taken for credit. Prerequisite(s): I CEN/I CSI 333.

I CEN 401 Advanced Electronics (3)
Linear and non-linear applications of operational amplifiers, with an emphasis on circuit design. Non-ideal operational amplifier behavior, including both static and dynamic characteristics. Amplifier stability and frequency compensation techniques. Operational amplifier based oscillators. Circuit noise. Prerequisite(s): I CEN 300/380.

I CEN 404 (= I CSI 404) Computer Organization (3)
An introduction to the logical organization of the hardware components of computing systems. Topics include logic design from a functional point of view, data representation and processing, description of major components such as the central processing unit and memory, and control and communication within the components and in the system. Only one version may be taken for credit. Prerequisite(s): I CEN/I CSI 210 and I CEN/ I CSI 333.

I CEN 410 Internet of Things (3)
In this course students will study new communication paradigms that are enabled by the ubiquity of heterogeneous devices, networks and applications. The course will consist of three components: lectures on emerging networks and their artifacts along with studying research publications to understand their practical challenges; bridging of the cyber and the physical world using sensors, embedded in mobile devices and building applications using the Android sensor programming framework; and analytics for large-scale data and business models for Big Data. Students are expected to have introductory knowledge about networking and communication systems along with foundations in programming and statistics. Prerequisite(s): I CEN/I CSI 416.

I CEN 411 Microwave Engineering (3)
An introduction to radio frequency and microwave analysis and design. Transmission lines and waveguides, network characterization and analysis, impedance matching and tuning. Passive microwave devices such as power dividers, couplers, resonators, filters, and ferrimagnetic components. An introduction to active devices. Prerequisite(s) I CEN 310 and I CEN 380.

I CEN 413 Electrical Energy Systems (3)
An introduction to the major components of today's power system such as transformers, electric machines, and transmission lines. Renewable energy sources and systems are discussed, including wind and solar energy. Integration of energy sources into the power grid. Prerequisite(s): I CEN 310 and I CEN 380.

I CEN 415 (= A PHY 415) Electronics (3)
Transistors and their characteristics; electronic circuits, field effect transistors and applications, amplifiers, low and high frequency response; operational amplifiers; consideration of control-circuit design; fast-switching and counting devices; integrated circuits and their designs. Two class periods and one three-hour laboratory each week. Only one version may be taken for credit. Prerequisite(s): A PHY 150.

I CEN 416 (= I CSI 416) Computer Communication Networks (3)
Introduction to computer communication networks. Equal emphasis on all layers of the ISO reference model and the TCP/IP protocol suite. Topics include physical networks, sliding window protocols, remote procedure call, routing, naming and addressing, security, authentication, performance, and applications. Only one version may be taken for credit. Prerequisite(s): I CSI/I CEN 400 or I CSI 402, and A MAT 367 or A MAT 370.

I CEN 417 Optical Communications (3)
The future provision of Internet-based high-bandwidth applications has led to an explosion in demand for high-speed optical communication systems. This course aims to provide knowledge of the strategies and techniques involved in the design and implementation of optical communication technologies and how these optical links form networks. This course is designed to present the operation of modern optical devices driving the growth in optical communication systems and the broader picture of optical fiber and free space networks for future communication applications. The course covers: building blocks of optical communication systems such as transmitters, receivers, transmission fibers, and amplifiers; fundamental considerations in system design including signal to noise ratio, fiber nonlinearity, chromatic dispersion, polarization mode dispersion, modulation formats, etc.; and the latest developments in high data rate, high spectral efficiency optical communication systems. Many practical and useful examples are also included. Prerequisite(s): I CEN 280, A MAT 220 and 311.

I CEN 422 Integrated Circuit Devices (3)
Modern solid-state devices and their operational principles. Solid state physics fundamentals, such as carriers and their mobility, band structures, doping concentrations and PN junctions. The operation of PN diodes, PIN diodes, and Schottky diodes, as well as three terminal devices, such as BJTs, JFETs, SCRs, MESFETs and MOSFETs. Device modelling and behavior. Prerequisite(s): I CEN 380.

I CEN 430 Systems Analysis and Design (3)
The application of information technology has extended to all quarters of the business world. While the nature and the scope of information systems vary widely depending on the business context, the fundamental knowledge underlying their development remains the same. This course aims to provide technology students with a solid understanding of the important methodologies and tools & techniques related to the development of information systems in a variety of contexts. Prerequisite(s): I CEN/I CSI 333.

I CEN 431 Reconfigurable Computing (3)
This course provides a study of FPGA architecture with detailed discussion on opportunities and challenges in this flexible platform. Topics include device architecture, programming languages and models for FPGAs including streaming and I/O, Mapping, Placement and Routing in reconfigurable logic, application design, development, verification and application specific optimization techniques. Prerequisite(s): I CSI/I CEN 404 and I CEN 340.

I CEN 440 Design Lab I (3)
Part one of a two-semester-long capstone design experience that provides the opportunity for teams of students to propose, prototype/design, build, test, demonstrate, present and fully document a working prototype of a sophisticated electronic system. In this first part, student teams interact with industry sponsors and/or faculty to develop a proposal for a system, component or process to meet desired needs and specifications within constraints. Students teams will identify opportunities, develop requirements, perform analysis and synthesis, generate multiple solutions, evaluate solutions against requirements, consider risks, and make trade-offs. Prerequisite(s): I CEN 350, I CEN 380, and I CEN/ICSI 333.

I CEN 450 Design Lab II (3)
Part two of a two-semester-long capstone design experience that provides the opportunity for teams of students to propose, prototype/design, build, test, demonstrate, present and fully document a working prototype of a sophisticated electronic system. In this second part, student teams continue to interact with industry sponsors and/or faculty as they implement their design and conduct validation experiments to demonstrate that their design meets all engineering specifications, standards, and constraints. In documenting their work, student teams will also evaluate their designs in global, cultural, social, environmental, and economic context and develop recommendations for future development. Prerequisite(s): I CEN 440.

I CEN 453 Cyber-Physical Systems (3)
This course is an introduction to the basics of models, analysis tools, and control for embedded systems operating in real time. Topics include models of computation, basic analysis, control, and systems simulation, interfacing with the physical world, mapping to embedded platforms and distributed embedded systems. This course has a lab component. Prerequisite(s): I CEN 350/371 and I CEN/I CSI 333.

I CEN 454 (= A PHY 454) Microprocessor Applications Laboratory (3)
Complements the theoretical development presented in I CEN/A PHY 353. Centers around practical laboratory applications in both hardware and software of a particular microprocessor. Students prototype a minimum system and expanded system. Applications include keyboard, printer, display, A/D, D/A, and control functions. A knowledge of a microprocessor and digital logic functions is desirable. Only one version may be taken for credit. Prerequisite(s): I CEN/A PHY 353 or A PHY 415 or permission of instructor.

I CEN 460 Mobile Design Engineering (3)
Building on students' basic knowledge of wired computer networks, this course will explore mobile wireless networks. Students will learn about current protocols and technologies in mobile networks. Through hands-on exercises students will gain experience in wireless networks operation and configuration. Successful completion of the course will require detailed prior understanding of network-based communications, Internet protocol operations, strong systems programming skills and familiarity with UNIX. Prerequisite(s): I CEN/I CSI 400 and I CEN/I CSI 416.

I CEN 461 GPU Architecture and Programming (3)
This course introduces the students the concept of massively-parallel programming. It is divided into two parts: in the first part, the students are expected to develop multi-threaded programs in the C programming language using pthreads. In the second part, the concepts that are learned in the first part are extended to the GPU architecture. Nvidia CUDA programming language is used as the main tool to develop GPU programs. Prerequisite(s): I CEN 200 and I CEN/ICSI 404.

I CEN 463 Digital Image Processing (3)
An introduction to digital image and video processing. The course starts with an introduction of digital image processing. It continues with fundamentals of video processing and covers closely related topics in computer vision. The course focuses on both the theory and the practical application of digital image and video processing. Students will learn hands-on programming implementation using Python, Matlab, or C++. Prerequisite(s): I CEN 200 and I CEN 370.

I CEN 464 Robotics (3)
An introduction to the fundamentals of robotics, including configuration space, transformation matrix, kinematics, motion planning, and a brief introduction to robot manipulation. In addition to simulation environments, the course uses robot arms and small drones as hardware platforms for students to practice programming and test algorithms. Current final projects include navigating drones through a small field of obstacles and the use of a robot arm to pick up objects. Prerequisite(s): A MAT 220, I CEN 210 and 213.

I CEN 470 Human Computer Interaction (3)
An introduction to the design principals of Human-Computer Interaction (HCI), including techniques for rapid prototyping and evaluation of multiple interface alternatives. The study of the computer visual interface, including human face tracking, expression recognition, hand gesture tracking and recognition, pedestrian detection and tracking, pose tracking and action recognition. A survey of the latest research papers and technologies in the field. The course includes a project, where students will pick and implement a relevant visual tracking or recognition project in HCI. Prerequisite(s): I CEN/I CSI 333.

I CEN 471 Communication Systems (3)
An introduction to analog and digital communication signals and systems. Representation of analog and digital signals and their spectra. Baseband pulse and digital signaling, including PAM, PCM, DM and DPCM. Bandlimited signaling without inter-symbol interference. Analog and digital bandpass signaling, including AM, FM, PM, OOK, PSK, FSK, MSK, QAM and OFDM. Transmitter and receiver operations and systems. Performance in the presence of noise. Prerequisite(s): I CEN 350 and A MAT 370.

I CEN 472 Advanced Digital Communications (3)
An introduction to digital communications, including signal generation, signal detection, synchronization, channel modeling, and coding. Baseband pulse modulation. Signal space representation of signals and optimal receiver structures. Bandpass modulation techniques including PSK, QAM and FSK. Carrier, symbol, and frame synchronization. Channel characterization and modeling, including terrestrial channels. Error control coding. Prerequisite(s): I CEN 471.

I CEN 473 Radiowave Propagation and Remote Sensing (3)
In this course the basic physical mechanisms of electromagnetic wave propagation in the troposphere and ionosphere, and the fundamentals of microwave remote sensing will be studied. Theoretical and empirical models which describe several propagation mechanisms will be discussed to understand the design and analysis of communications and remote sensing (radar and radiometer) systems. Prerequisite(s): I CEN 310 and I CEN 350.

I CEN 480 Introduction to VLSI (3)
An introduction to Very Large Scale Integrated (VLSI) circuit design. The device, circuit, and system aspects of VLSI design are covered in an integrated fashion. Emphasis is placed on NMOS, PMOS and CMOS technology. Using transistors, simple gates such as XOR, AND, OR, AOI, OAI, and flip flops, are constructed and simulated using Cadence Design Systems tools. Verilog-A is used to provide input vectors and test the correctness of the output. Prerequisite(s): I CEN 380.

I CEN 481 Linear Control Theory (3)
An introduction to the analysis and design of linear control systems. Mathematical models, including state variable models. Feedback control, and stability. Root locus and frequency response compensation methods.

I CEN 497 Independent Research in Computer Engineering (1-3)
Independent research project under faculty guidance. Students will present their research as appropriate. May be repeated for credit up to a total of 6 credits with permission of department. Prerequisite(s): permission of instructor.