Courses in Computer Engineering

ICEN 140 Intro to Engineering Design (3)

This course explores the topic of engineering design and formalizes the design process including problem solving and other skill sets essential for engineers. 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. Corequisite(s): A MAT 112, A PHY 140, and I CEN 201 or equivalent or permission of the department chair.

ICEN 150 Intro 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. Prerequisite(s): I CEN 140

ICEN 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. Normally offered fall, spring, summer

ICEN 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. Prerequisite(s) or corequisite(s): I CSI 201. Normally offered in the fall and may be offered in the summer.

ICEN 213 (= I CSI 213 formally 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. Prerequisite(s): I CSI 201. Normally offered fall and spring and may be offered in the summer.

ICEN 320 Probability and Statistics (3)

This course introduces students in engineering and sciences to probability and statistics. These individuals play a significant role in designing and developing new products and manufacturing systems and processes, and they also improve existing systems. This course introduces probability and statistics methods and techniques using examples and exercises that are engineering and science-based, using real data found in published sources and industry. Prerequisite(s): A MAT 113 or 119, plus 6 credits at the 200 or higher level in either mathematics or computer science.

ICEN 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. Prerequisite(s): Grade of C or better required in I CSI 310. Normally offered fall semester only.

ICEN 340 Digital Logic Design (3)

This course introduces students to Digital Logic Design. The course begins with binary (yes/no) phenomena and builds successively more complex components and systems, ending with a simple processor. Using a combination of team and individual projects/labs, students will discover how simple gates are built from switches, how components are built from gates, and how systems are built from components. Initial designs assume that there is no concept of time and that everything is immediately available. Time is then introduced, from which the concept of memory emerges, which greatly expands the devices that can be designed and used to create more complex systems. The final goal is to assemble a simple processor from the constituent components and to understand how software computations are performed on hardware. Prerequisite(s): I CEN 210

ICEN 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. Prerequisite(s): A MAT 220, A MAT 311, I CEN 415

ICEN 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. Prerequisite(s): I CSI 201 or 204 or equivalent. An elementary knowledge of electricity is helpful.

ICEN 360 Emerging Technologies (3)

This course will explore current emerging technologies and related technical management practices on a global basis. Working individually, students will explore the current body of literature/knowledge and conduct research on emerging technologies found in contemporary technology-intensive enterprises. Extensive and advanced readings, research, and writing assignments will be required. Prerequisite(s): I CEN 415, A MAT 214

ICEN 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): AMAT 220 Linear Algebra, CEN 415 Electronics, AMAT 311 Differential Equations

ICEN 400 (=I CSI 400) Operating Systems (3)

Historical overview; operating system services; mass storage file organization; memory management in multi-programed systems; virtual memory; resource allocation; concurrent processes; deadlock detection and prevention; security; the design of contemporary operating systems such as UNIX. Prerequisite(s): I CSI 333. Normally offered fall semester only.

ICEN 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. Prerequisite(s): I CSI 210 and 333. Normally offered spring semester only.

ICEN 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. Prerequisite: A PHY 150 or 151.

ICEN 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. Prerequisite(s): either ICSI 400/ I CEN 400 or I CSI 402 and A MAT 367 or A MAT 368.

ICEN 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. It is designed to complement and enhance the content of I CEN 440 (Design Lab I) by providing a framework for the analysis and design of the Design Lab project. Corequisite: I CEN 440

ICEN 440 Design Lab I (3)

This course is part one of a two-semester-long capstone design lab that serves as a significant educational experience for the student to enhance their professional skills and the application of their growing engineering and technical expertise. The two-semester-long capstone design lab provides the opportunity for teams of computer engineering students to propose, prototype/design, build, test, demonstrate, present and fully document a working prototype of a sophisticated electronic system. The two-semester-long capstone design lab represents a complex project that demonstrates the engineering design process and project engineering as practiced in industry. Student teams apply the design process by developing a project under the guidance of industry sponsors and / or faculty through design, fabrication, test and evaluation. In addition to technical feasibility studies, students also explore the concept of the engineer as an entrepreneur by considering their design for technology transfer for commercial use. This includes the development of a business case / preliminary business plan and the marketing viability for their design proposal. Corequisite: CEN 430 Systems Design and Analysis, Prerequisite(s): I CEN 350, I CEN 400, I CEN 454

ICEN 450 Design Lab II (6)

This course is part two of a two-semester-long final capstone design lab, where teams of computer engineering students build, test, demonstrate, and document the electronic system they proposed, specified, modeled, and designed during part one of capstone design lab (CEN440). In this course student teams integrate and demonstrate what they have learned in prior courses and labs by building and testing a working and reliable physical prototype of their design along with publication quality technical documentation, which includes a project website. Students conduct a product demonstration that shows how their physical design meets all engineering specifications, standards, and constraints. Students also further explore the concept of the engineer as an entrepreneur by continuing the validation of their design for technology transfer. This includes finalized go-forward business and marketing plans of their design for commercial use. This course fully familiarizes students with a realistic design and project constraints that include economical, environmental, social, political, ethical, health, safety, manufacturability, sustainability and social impacts as practiced in industry. Throughout the semester student teams provide weekly status reports and regular updates on project progress. Prerequisite(s): I CEN 440

ICEN 454 (=A PHY 454) Microprocessor Applications Lab (3)

Complements the theoretical development presented in 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. Prerequisite(s): A PHY 415 or permission of instructor or A PHY 353.

ICEN 460 Mobile Design Engineering (3)

Building on students’ basic knowledge of wired computer networks, this course will explore mobile wireless networks. Working individually 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 400 and I CEN 416.

ICEN 480 VLSI Design & Fabrication (3)

This course provides a survey of VLSI technology and very large-scale integrated systems. It considers problems that occur when ordinary circuits are replicated to involve millions of devices. It covers CMOS technology, and design styles up to the point of submission for fabrication. Computerized methods with high-density circuits with optimized speed and power consumption are utilized. Students perform simple layouts and simulations suitable for extension to a very large scale. Prerequisite(s): I CEN 454.