Engineering, Computer (ENCE)
ENCE 2101 Digital Design (0-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 3241 Computer Organization and Architecture (3 Credits)
Organization of digital computers; memory, register transfer and datapath; Arithmetic Logic Unit; computer architecture; control unit; I/O systems. Prerequisite: ENCE 2101.
ENCE 3250 HDL Modeling & Synthesis (3 Credits)
Introduction to Hardware Design Language (HDL). Language syntax and synthesis. Applications related to digital system implementation are developed. Project. Prerequisite: ENCE 2101 or instructor's permission.
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. Prerequisite: ENEE 3311.
ENCE 3630 Pattern Recognition (4 Credits)
This class provides an introduction to classical pattern recognition. Pattern recognition is the assignment of a physical object or event to one of several prescribed categories. Applications includes automated object recognition in image and videos, face identification, and optical character recognition. Major topics include Bayesian decision theory, Parametric estimation and supervised learning, Linear discriminant functions, Nonparametric methods, Feature extraction for representation and classification, Support Vector Machines. Cross listed with ENCE 4630.
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)