Engineering, Computer (ENCE)
ENCEÂ 2101 Digital Design (3 Credits)
Basic logic concepts. Boolean algebra, truth tables and logic diagrams. Karnaugh maps; programmable devices including ROM's, PLA's and PAL's; data selectors and multiplexors; flip-flops, and memory design of sequential logic circuits. State diagrams, counters, latches and registers; realization of sequential and arbitrary counters; monostable multivibrators. Course includes engineering ethics. Laboratory.
ENCEÂ 3100 Advanced Digital System Design (4 Credits)
Design of logic machines. Finite state machines, gate array designs, ALU and control unit designs, microprogrammed systems. Hardware design of digital circuits using SSI and MSI chips. Introduction to probability and statistics. Application of probability and stochastic processes for cache and paging performance. Laboratories incorporate specification, top-down design, modeling, implementation and testing of actual digital design systems hardware. Simulation of circuits using VHDL before actual hardware implementation. Laboratory. Cross listed with ENCEÂ 4110. Prerequisite: ENCEÂ 2101.
ENCEÂ 3210 Microprocessor Systems I (4 Credits)
Introduction to microprocessors and to the design and operation of computer systems. A study of the microprocessor and its basic support components. Analysis of CPU architectures of modern computers. Assembly language programming. Use of an assembler and other development tools for programming and developing microprocessor-based systems. Laboratory. Cross listed with ENCE 4210. Prerequisite: ENCEÂ 2101.
ENCEÂ 3231 Embedded Systems Programming (4 Credits)
Design, construction and testing of microprocessor systems. Hardware limitations of the single-chip system. Includes micro-controllers, programming for small systems, interfacing, communications, validating hardware and software, microprogramming of controller chips, design methods and testing of embedded systems. Prerequisite: ENCEÂ 3210.
ENCEÂ 3260 Python for Engineers (3 Credits)
This course introduces python programming to students and gives them programming and mathematical tools that will be useful in different areas of engineering. The course is divided into 2 main parts. Part 1 (Introduction to Python Programming), covers the fundamental concepts of python programming, covering topics from variables and data structures, functions, algorithm complexity, representation of numbers and basics of parallel computing. Part 2 (Introduction to Numerical Methods), gives an overview of a variety of numerical methods that are useful for engineers. The course reviews the basics of linear algebra, discusses the importance of eigenvalues and eigenvectors, regressions and concepts of “discrete Fourier transform” and “fast Fourier transform”.
ENCEÂ 3321 Network Design (4 Credits)
Introduction to network components. Layering of network architecture. Analysis of Local Area Network (LAN) concepts and architecture based on IEEE standards. Design principles including switching and multiplexing techniques, physical link, signal propagation, synchronization, framing and error control. Application of probability and statistics in error detecting and control. Ethernet, Token-ring, FDDI (Fiber Distributed Data Interface), ATM (Asynchronous Transfer Mode), ISDN (Integrated Service Data Networks). Prerequisite: ENEEÂ 3111, ENCEÂ 2101 or permission of instructor.
ENCEÂ 3501 VLSI Design (3 Credits)
Design of Very Large Scale Integration systems. Examination of layout and simulation of digital VLSI circuits using a comprehensive set of CAD tools in a laboratory setting. Studies of layouts of CMOS combinational and sequential circuits using automatic layout generators. Fundamental structures of the layout of registers, adders, decoders, ROM, PLA's, counters, RAM and ALU. Application of statistics and probability to chip performance. CAD tools allow logic verification and timing simulation of the circuits designed. Cross listed with ENCEÂ 4501. Prerequisite: ENCEÂ 3231.
ENCEÂ 3620 Computer Vision (4 Credits)
This course is an introduction to the basic concepts in image processing and computer vision. First, an introduction to low-level image analysis methods, including radiometry and geometric image formation, edge detection, feature detection, and image segmentation are presented. Then, geometric-based image transformations (e.g., image warping and morphing) for image synthesis will be presented in the course. Furthermore, methods for reconstructing three-dimensional scenes including camera calibration, Epipolar geometry, and stereo feature matching are introduced. Other important topics include optical flow, shape from shading, and three-dimensional object recognition. In conclusion, students learn and practice image processing and computer vision techniques that can be used in other areas such as robotics, pattern recognition, and sensor networks. Cross listed with ENCEÂ 4620. Prerequisites: ENGRÂ 3611 or ENGRÂ 3621 AND ENGRÂ 1572 or ENGRÂ 3650 or ENCEÂ 3260 or permission of instructor.
ENCEÂ 3631 Machine Learning (4 Credits)
This class covers topics in machine learning including but not limited to Bayesian decision theory, supervised learning, unsupervised learning and clustering, linear discriminant functions, deep learning, neural networks, linear classification techniques, manifold learning, bag of words, and Support Vector Machines. Cross listed with ENCE-4631.
ENCEÂ 3830 Topics in Computer Engineering (1-5 Credits)
Special topics in computer engineering as announced. May be taken more than once. Prerequisite: varies with offering.
ENCEÂ 3991 Independent Study (1-5 Credits)
Topics in computer engineering investigated under faculty supervision. May be taken more than once. Students must obtain and complete an Independent Study form from the Office of the Registrar. Prerequisite: permission of instructor.
ENCEÂ 3995 Independent Research (1-10 Credits)