Course Descriptions
ENEE 425 Digital Signal Processing, 3 credits
Course Description
Sampling as a modulation process; aliasing; the sampling theorem; the Z-transform and discrete-time system analysis; direct and computer-aided design of recursive and nonrecursive digital filters; the Discrete Fourier Transform (DFT) and Fast Fourier Transform (FFT); digital filtering using the FFT; analog-to-digital and digital-to-analog conversion; effects of quantization and finite-word-length arithmetic.
Prerequisite
ENEE 322 and completion of all lower division EE courses
Textbook and any other required material
Oppenheim and Schafer, Discrete-time Signal Processing, Prentice Hall
Course Objectives
Understand how analog signals are represented by their discrete-time samples, and in what ways digital filtering is equivalent to analog filtering.
Master the representation of discrete-time signals in the frequency domain, using the notions of z-transform, discrete-time Fourier transform and discrete Fourier transform (DFT).
Learn the basic forms of FIR and IIR filters, and how to design filters with desired frequency responses.
Understand the implementation of the DFT in terms of the FFT, as well as some of its applications (computation of convolution sums, spectral analysis).
Topics covered
Uniform sampling: sampling as a modulation process; aliasing; ideal impulse sampling; sampling theorem; sampling bandpass signals
Data reconstruction by polynomial interpolation and extrapolation: zero-order hold; first order hold; linear point connector
The z-transform: definition; inverse; useful transform relationships; Parseval's theorem; difference equations
Analysis of sampled-data systems by transform methods: transfer functions for discrete-time systems; sinusoidal steady-state frequency response; structures for realizing transfer functions; stability; decimation and interpolation
The design of transfer functions for digital filtering: bilinear transformation method for IIR filters; Fourier series, windowing and the Remez algorithm for FIR filters
Effects of quantization and finite word length arithmetic in digital filters:
The discrete Fourier transform (DFT): definition of the DFT and its inverse; transform relationships; cyclic convolution and correlation; fast Fourier transform (FFT); filtering long sequences using the FFT.
Class/lab Schedule
3 hours lecture
Contribution of the course to meet the professional component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study.
Relationship of course to program objectives
(a) an ability to apply knowledge in mathematics, science and engineering:
SIGNIFICANT
Use Fourier theory and linear system theory (taught in ENEE 322) to analyze discrete-time signals and design discrete filters in both time and frequency domains.
(c) an ability to design a system, component, or process to meet desired needs:
MODERATE
Students learn how to implement digital signal processing systems in terms of functional blocks. They also learn how to design digital filters to various specifications: frequency selectivity (passband, attenuation, ripple), phase linearity, filter order, stability, etc.
(e) an ability to identify, formulate and solve engineering problems:
SIGNIFICANT
Examples of problems that students formulate and solve: what is the sampling rate required for processing an analog signal in digital form; what types of digital filters are suitable for different applications, and what are the required filter parameters; what is the processing power required for a particular digital signal processing application.
(g) an ability to communicate effectively:
SOME
Assignments and exams routinely test ability to describe systems in terms of block diagrams. Projects (if assigned) test written and/or oral communication (through project reports and in-class presentations).
(i) a recognition of the need for, and an ability to engage in life-long learning:
SOME
Basic concepts introduced in ENEE 322 are amplified and applied in ENEE 425. By this process, students appreciate that mastery of subtle concepts such as time-frequency domain interrelationships requires frequent review in different contexts.
(k) an ability to use the techniques, skills and modern engineering tools necessary for engineering practice:
MODERATE
Students enhance their MATLAB skills (in particular, use of the Signal Processing Toolbox).
Persons who prepared this syllabus and date of preparation
Dr. Papamarcou, April 2005
↑ Back to Top
ENEE 426 Communication Networks, 3 credits
Course Description
Main design issues associated with computer networks, satellite systems, wireless networks, and general networking infrastructures. Application of analytical tools, including queueing theory, to problems of design and performance evaluation in such networks. Review of proposed architectures and protocols.
Prerequisite
ENEE 324 and completion of all lower-division technical courses
in the curriculum.
Textbook and any other required material
A. Leon-Garcia and I. Widjaja, Communication Networks - Fundamental Concepts and Key Architectures (Second Edition), McGraw-Hill (2004)
Course Objectives
1. Understand layered protocols for communication networks
2. Understand mechanisms for error detection and retransmission
3. Understand medium access protocols for multi-user links
4. Understand basic routing algorithms for communication networks
5. Apply queueing theory to the delay analysis of data networks
6. Understand the fundamentals of TCP/IP and asynchronous transfer mode
(ATM) networks
Topics Covered
1. Open system interconnection (OSI) layering of communication network functions: reference models and protocol stacks
2. Physical layer: transmission media, information sources, digital signaling and transmission impairments
3. Data link control: sliding window flow control, automatic repeat request (ARQ) (stop-and-wait, go-back-N, selective repeat), high-level data link control (HDLC) frame structure and operations
4. Local area networks (LANs) and medium access control (MAC) protocols; Ethernet and token ring; LAN interconnections: bridges and routers
5. Random access protocols: Aloha, CSMA and 802.11; protocols for satellite networks
6. Telephone networks: circuit switching, TDMA and FDMA
7. Packet-switched networks: datagrams and virtual circuits; Quality of Service (QoS)
8. Routing: the Bellman-Ford algorithm and distance vector routing; Dijkstra's algorithm and link state routing; Intra vs inter-domain routing
9. Internet: addressing, routing, gateways, TCP/IP and internetworking
10. Internet services: electronic mail, telnet, ftp, http, etc.
11. Asynchronous transfer model (ATM): ATM switching, virtual paths, virtual circuits, ATM adaptation layer and rate control
Class/lab schedule
3 hours of lecture
Contribution of the course to meet the professional component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study
Relationship of course to program objectives
(a) an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
Apply engineering probability theory and Markov chains to queueing analysis and performance evaluation
(e) an ability to identify, formulate, and solve engineering problems:
SIGNIFICANT
Performance evaluation of LAN and WAN to meet design requirements
(h) the broad education necessary to understand the impact of engineering solutions in a global and societal context:
MODERATE
Students understand that networking is the foundation of information superhighway and the World Wide Web
(i) a recognition of the need for, and an ability to engage in life-long learning:
MODERATE
Students appreciate the evolution of mathematical techniques and models for the design and evaluation of communication networks
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice:
SIGNIFICANT
Familiarization with network simulation and design tools such as Comnet, Opnet, Bones
Persons who prepared this syllabus and date of preparation
Dr. Makowski, March, 2005
↑ Back to Top
ENEE 428 Communications Design Laboratory, 2 credits
Course Description
Exploring the signal processing and communication systems theoretical concepts presented in ENEE 420 Communication Systems and ENEE 425 Digital Signal Processing by implementing them on actual DSP based hardware in real time.
Prerequisite
ENEE 324 and completion of all lower division technical courses in the EE curriculum. Corequisite: ENEE 420 or ENEE 425
Textbook and any other required material
S. A. Tretter, Communication System Design Using DSP Algorithms With Laboratory Experiments for the TMS320C6701 and TMS320C6711, Kluwer/Springer Verlag
Course Objectives
Understand the key issues in the hardware implementation of communication and signal processing algorithms using digital signal processors (DSP's).
Become acquainted with the architecture and function of a DSP-based hardware platform.
Develop C and assembly language software for implementing various communication system components and algorithms on the DSP platform
Test the real-time operation of the systems thus implemented
Topics covered
Topics 1 through 4 are always covered. At least three additional topics are selected each semester from topics 5 through 12.
Introduction to the TMS320C6701 floating-point processor and evaluation module
Software tools: assembly instructions, assembler directives, C language compiler
Sine wave generation using three different methods
FIR and IIR filter design and implementation
The fast Fourier transform and power spectrum estimation
Implementation of an amplitude modulator and demodulator
Implementation of a Double-Sideband Suppressed Carrier AM coherent receiver using a Costas loop
Implementation of single-sideband transmitters and receivers
Implementation of an frequency modulation (FM) transmitter and an FM receiver using a frequency discriminator and one using a phase-locked loop
Pseudo-random binary sequences and data scramblers; bit error rate testing
Implementation of a baseband pulse amplitude modulator and symbol clock recovery system; eye diagram demonstration
(Optional) Implementation of quadrature amplitude modem including transmitter and receiver.
Class/lab Schedule
1 hour of lecture; 3 hours of laboratory
Contribution of the course to meet the professional component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study.
Relationship of course to program objectives
(a) an ability to apply knowledge of mathematics, science and engineering:
The algorithms implemented contain applications of linear systems, probability theory, digital signal processing and communication theory.
MODERATE
(b) an ability to design and conduct experiments, as well as to analyze and interpret data:
SIGNIFICANT
Test the real-time operation of the communication system components implemented; monitor waveforms and measure parameters to confirm the validity of the design.
(c) an ability to design a system, component, or process to meet desired needs:
SIGNIFICANT
Create and integrate, on a DSP hardware platform, communication system components that perform prescribed tasks
(g) an ability to communicate effectively:
MODERATE
Detailed written reports are submitted for every experiment
(i) a recognition of the need for, and an ability to engage in life-long learning:
SIGNIFICANT
Students become aware that continuing advances in computer technology facilitate the implementation of increasingly complex algorithms (and systems in general), resulting in a rapid expansion of the areas of digital signal and image processing
(k) an ability to use the techniques, skills and modern engineering tools necessary for engineering practice:
SIGNIFICANT
DSP programming is an invaluable tool in the design of modern communication and signal processing systems
Persons who prepared this syllabus and date of preparation
Drs. Tretter and Papamarcou, March 4, 2005
↑ Back to Top
ENEE 429W Indoor Wireless Project, 2 credits
Course Description
The physical layer of wireless communication systems. Implementation of speech coding, error control, modulation/demodulation and filtering schemes for wireless links using digital signal processors for baseband functions.
Prerequisite
Permission of instructor
Textbook and any other required material
Varies by semester
Course Objectives
The course aims at introducing research into the upper-level communications and signal processing curricula. The ultimate goal of the three-year project is to develop, on a digital signal processor-based platform, a small wireless local area network capable of transmitting voice, data and (eventually) video.
Topics covered
- Introduction to analog and digital wireless system standards.
- Functional blocks of wireless transmitters and receivers; baseband processing, IF/RF modulation/demodulation.
- Hardware platform design: interconnection of DSPs, A/D and D/A converters, radio frequency circuitry.
- Programming tools for DSPs
- Implementation of baseband system components
- System testing
Class/lab Schedule
1 hour of lecture; 3 hours of laboratory
Persons who prepared this syllabus and date of preparation
Dr. Papamarcou, February 1, 1999
↑ Back to Top
ENEE 434 Introduction to Neural Networks, 3 credits
Course Description
Introduction to the generation and processing of bio-electric signals including structure and function of the neuron, membrane theory, generation and propagation of nerve impulses, synaptic mechanisms, transduction and neural coding of sensory events, central nervous system processing of sensory information and correlated electrical signals, control of effector organs, muscle contraction and mechanics, and models of neurons and neural networks.
Prerequisite
ENEE 204 (or ENEE 245) and completion of all lower-division technical courses in the curriculum.
Textbook and any other required material
Hagen, Neural Network Design, College University Printing Services
Mathworks, MATLAB with Simulink (Student Version - Software)
Course Objectives
Give students an understanding of bio-medical processes in terms of electrical engineering
To study the human body as a electromechanical process
Topics Covered
single layer networks
multi-layer networks
backpropagation
parameters
adapting to the network structure
predication applications and time-delays
optimization networks
biological neural networks
implementation: hardware, optical
overview of other techniques in computational intelligence
Class/lab schedule
3 hours of lecture
Contribution of the course to meet the professional component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study
Relationship of course to program objectives
(a) an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
apply basic fundamental knowledge of electrical engineering and electrical signals to functions of the human body;
(e) an ability to identify, formulate, and solve engineering problems:
SIGNIFICANT
apply mathematical representations of biological process using EE models and solve related problems
(h) the broad education necessary to understand the impact of engineering solutions in a global and societal context:
MODERATE
students see EE and CpE in a broader context
(i) a recognition of the need for, and an ability to engage in life-long learning:
SIGNIFICANT
students appreciate the fact that there are numerous applications of electrical signals and electronics outside the fields of EE and CpE
Persons who prepared this syllabus and date of preparation
Dr. Newcomb, June 2005
↑ Back to Top
ENEE 435 Introduction to Electrical Processes, Structures and Computing Models of the Brain (3 Credits)
Course Description
The latest concepts about human neurons, signals, brain networks and systems are introduced, based on our current electrical science and computing modeling knowledge. Emerging novel methodologies/technologies used to “reverse-engineer” brain structures and functions are covered. Current instruments, experimental and heuristic techniques for examining and studying brains are reviewed. The course integrates neuroscience system science and engineering via: a) signal generation, information processing and decision-making aspects at the cellular, molecular and nanometer physical levels, and b) methods for studying brain memory, associations, adaptations, learning, thoughts and emotions. A neuroscience-dogma, the “Grand-Design Scheme”, is introduced. The course concludes with selected overviews of on-going human brain inspired approaches for addressing rapidly emerging global-scale challenges. The Course is built on Lectures, recommended library reference material and websites, homework, and website searches.
Pre-requisite
The course is self-contained for ECE Graduates, Seniors and Juniors in good academic standing.
Non-ECE graduate or undergraduate students in good academic standing require prior permission of the instructor. Contact the instructor via email (declaris@umd.edu).
Course Objectives
- Introduce human-brain processes of signaling, thought, information, knowledge, discovery and emotion.
- Explore “computing modeling and simulation” for studying human-brain biological processes.
- Explore emerging novel circuit, network and system science methodologies for human-brain-based applications.
Topics Covered
- Cellular, molecular, informational, hormonal aspects of non-human and human neural structures and brains.
- Neural signals, information generation, transfer and storage; diversity of structures and functions.
- Intercellular signaling and communication; structure, function and modeling.
- Biological Circuits, Networks and Systems - Synaptic Organization; Emerging Novel Hardware; Nanotechnology
- Brain Spatial Modular Organization; Forebrain, Midbrain and Hindbrain
- Brain Functional Organization ; Emerging Novel Software.
- Overview of Human-Brain Functions: Modeling Approaches; Knowledge
- Computing Methodologies and Implementations; Software & Hardware
- Selected optional topics for Mini-Project in Liu of the Final Exam or for extra credit. Required prior discussion with instructor, submission of written proposal and written approval of the instructor to commence Mini-Project.
Assignments, Participation/Discussions and Evaluation
- Attendance to Lectures is Mandatory,
- homework will be outlined in a written assignment to be carried out and submitted by each student as a Workshop Report in the required format and cover-page. (The grader will evaluate the Workshop Reports and return them to the class.),
- at that time one Report will be scheduled (volunteered or assigned) for presentation in a discussion session with class participation,
- following the discussion any student may elect to Revise hers/his Workshop Report and resubmitted it within one week for re-evaluation and grade improvement,
- Each student is required to maintain a notebook entitled MY ENEE 435 COURSEBOOK EXPERIENCE (kep throughout the course according to stated Guidelines).
- There will be 2 Exams:
- Mid-term Exam open-book (only your own ENEE 435 COURSE BOOK EXPERIENCE)
- Final Exam open–book (only your own ENEE 435 COURSE BOOK EXPERIENCE)
- COURSE GRADE will be based on pre-agreed weighted average of:
- the homework/Workshop/Participation Grade average,
- the Mid-Term Exam Grade,
- the Final-Exam Grade and
- he ENEE 435 COURSE NOTEBOOK term grade received at the completion of the Final Exam.
Contribution of the course to meet the professional component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study
Relationship of course to program objectives
(a) an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
apply basic fundamental knowledge of electrical engineering and electrical signals to functions of the human body;
(e) an ability to identify, formulate, and solve engineering problems:
SIGNIFICANT
apply mathematical representations of biological process using EE models and solve related problems
(h) the broad education necessary to understand the impact of engineering solutions in a global and societal context:
SIGNIFICANT
students see EE and CpE in a broader context
(i) a recognition of the need for, and an ability to engage in life-long learning:
MODERATE
students appreciate the fact that there are numerous applications of electrical signals and electronics outside the fields of EE and CpE
Persons who prepared this syllabus and date of preparation
Dr. N. DeClaris, June 2005
↑ Back to Top
ENEE 440 Microprocessors, 3 credits
Course Description
Microprocessor architectures, instruction sets, and applications. Bus structures, memory, I/O interfacing. Assembly language programming, real-time system design, interrupt-driven system design, LSI peripheral configuration and drivers, embedded-system design.
Prerequisite
ENEE 350 and completion of all lower-division technical courses in the EE curriculum.
Textbook and any Other Required Material
Mazidi and Mazidi, "The 80x86 IBM PC and Compatible Computers", Prentice-Hall
Course Objectives
Design real-time microprocessor-based system software to meet a project specification
Implement the system in Intel 8086 assembly language on microprocessor-based hardware
Configure and write drivers for a standard set of LSI peripherals (timer, interrupt, serial, parallel, system configuration), other devices (switch array, LED array), and communication protocol (header, checksum)
Formulate test procedures for demonstration and validation of the design
Document the system design and test procedures
Topics Covered
Introduction and review
Segments, data move, control transfer, assembler
Arithmetic and logic; special data operations
Macros; modular programming
Debug; programming style
Embedded programming methods; multitasking
CPU support; system bus
Memory interfacing; programmable logic
Programmed I/O; timers
Serial I/O; DMA; video
Math coprocessor; 386 protected mode
Class/lab Schedule
3 hours of lecture
Contribution of the course to Meet the Professional Component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study.
Relationship of Course to Program Objectives
(a) an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
application of digital logic and computer micro-architecture fundamentals to understanding x86 instruction set functions and system hardware design.
(b) an ability to design and conduct experiments, as well as to analyze and interpret data:
SOME
design and debugging of software drivers and program logic for real-time control problems; design of procedures for testing specification conformance.
(c) an ability to design a system, component, or process to meet desired needs:
SIGNIFICANT
design of a real-time microprocessor-based system to meet a system specification.
(e) an ability to identify, formulate, and solve engineering problems:
MODERATE
partition of a real-time system design problem into modules; distribution of problem elements over hardware and software resources of the target system; design of data structures for communication between modules; design of control structures to support module interaction and timing.
(f) an understanding of professional and ethical responsibility:
SOME
class discussion on individual's responsibility for informing customer/supervisor of variations in design from specification; application of project grading criteria which rewards honest reporting of deficiencies; class discussion of appropriate responses to discovery of defects/anomalies in a specification.
(g) an ability to communicate effectively:
SIGNIFICANT
two reports documenting design projects are required during the semester. The two design projects comprise 50% of the overall course grade, and of this, approximately 35% (18% of overall grade) is based on the organization, content, and quality of the report documentation.
(i) a recognition of the need for, and an ability to engage in life-long learning:
MODERATE
students are encouraged/required to supplement course materials with component data and application information found through library research, the internet, device manufacturers, and the class newsgroup.
(j) a knowledge of contemporary issues:
SOME
lecture topics include past current technology-market trends and an analysis of economic or other causes for recent market successes and failures.
Persons who prepared this syllabus and date of preparation
Professor Hawkins, June 2005
↑ Back to Top
ENEE 445 Microcomputer Laboratory, 2 credits
Course Description
Hardware oriented experiments providing practical experience in the design, construction, and checkout of components and interfaces for digital computers and data transmission systems. Projects include classical design techniques and applications of current technology.
Prerequisite
ENEE 206 (or ENEE 245) and ENEE 350
Course Objectives
design digital logic, microprocessor software, and LSI component (peripherals, memory, analog interface) to meet a problem specification
implement the design on breadboards with programmable logic and microprocessor-based hardware and software
design and implement a user control interface
demonstrate operation of the design
document the design
Topics Covered
Introduction
Programmable logic
Design tools
Timing analysis
Debug
A/D,D/A
Hard real-time programming
User interface
LSI component interface
I/O software
Multitasking; multiprocessor
High-level language
Advanced components
Class/lab Schedule
One hour of lecture; 3 hours of lab
Contribution of the Course to Meet the Professional Component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study.
Relationship of Course to Program Objectives
an ability to apply knowledge of mathematics, science, and engineering:
SOME
application of digital logic and computer programming fundamentals to practical circuit and software design.
an ability to design and conduct experiments, as well as to analyze and interpret data:
SIGNIFICANT
Verification of design concepts through logic and software simulation Design of hardware logic and software drivers with built-in test points and self-test. Emphasis on fault discovery through modular design for decomposition of signal paths and data flows.
an ability to design a system, component, or process to meet desired needs:
MODERATE
Design of a logic and software for microprocessor-based system, to meet a problem specification.
an ability to function on multi-disciplinary teams:
MODERATE)
Lab teams organize internally either on discipline (e.g., software/hardware), subsystem (e.g., data acquisition/communication), or process (e.g., design/test) according to team members own interests.
an ability to identify, formulate, and solve engineering problems:
SOME
Partition of embedded-microprocessor design problems into hardware and software components; design of control and data interaction between components; integration of components into a system design; verification by simulation and test of module and system operation.
an understanding of professional and ethical responsibility:
SIGNIFICANT
Class discussion on reliability, testability, and economic utility as elements of design quality; class discussion of right and wrong responses to design defects or anomalies.
an ability to communicate effectively:
SIGNIFICANT
Each student is to submit three reports documenting lab projects during the semester. The reports consist of two components: a design discussion/analysis, and a technical annex. The design discussion is the student's original work, containing an overview and rationale for the design approach, a description of major design components, an analysis of the design's operation, and possible suggestions for revisions and enhancements to the design. The technical annex is the team's work and documents the design with schematics, flowcharts, and logic and software design code. Additionally, each team is required to demonstrate operation of their solution to the lab assistant, providing any necessary tests for the demonstration, and responding to any demonstrate function, and to the lab instructor. The lab reports/design presentation comprise 50% of a student's overall course grade. Of this, 50% (25% of overall grade) is based on the students individual work in reports.
a recognition of the need for, and an ability to engage in life-long learning:
MODERATE
Students are encouraged/required to supplement course materials with component data and application information found through library research, the internet, device manufacturers, and the class newsgroup.
a knowledge of contemporary issues:
MODERATE
Lecture topics include current technology trends in components, applications, and design technology.
an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice:
SIGNIFICANT
Use of logic/system design environment, languages, and tools (Synario); LSI component application (CPLD, interface, memory, analog interface); assembly language programming and debugging.
Persons who prepared this syllabus and date of preparation
Professor Hawkins, June 2005
↑ Back to Top
ENEE 446 Digital Computer Design, 3 credits
Course Description
Fundamentals of computer design: cost models, performance models, evaluation methodologies, implementation techniques and tools. Topics include instruction set architectures, pipeline design, memory system design, and basic concepts in storage systems. Understanding the rules of parallelism and power in current and possible future computer designs is a growing component.
Prerequisite
ENEE 350
Textbook and Any Other Required Material
Hennessy & Patterson, Computer Architecture: A Quantitative Approach, 3rd edition, Morgan-Kaufman, 2003.
Course Objectives
Calculate the performance of a processor implementation
Evaluate the cost-performance of a processor implementation
Implement a memory system
Implement a processor pipeline
Topics Covered
Fundamentals of computer design
Instruction set: examples and measurements
Pipelining
Memory hierarchy design
Storage systems
Multiprocessors
Class/lab Schedule
3 hours of lecture
Contribution of the Course to Meet the Professional Component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study
Relationship of Course to Program Objectives
(a) an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
Students measure performance of processor implementations and calculate cost-performance given performance characteristics, implementation details, and cost models.
(b) an ability to design and conduct experiments, as well as to analyze and interpret data:
SOME
Higher level simulation of software of functionally and performance of digital systems. Students test and get measurements of hardware.
Students evaluate the use of design techniques by varying implementation parameters and measuring the resultant cost-performance.
(e) an ability to identify, formulate, and solve engineering problems:
SIGNIFICANT
Students learn how to evaluate design techniques and mechanisms to achieve cost-performance goals.
(j) a knowledge of contemporary issues:
SIGNIFICANT
Students learn about the latest techniques and mechanisms used in high-performance microprocessors and systems.
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice:
SOME
Students design processor using modern CAD tools.
Persons who Prepared this Syllabus and Date of Preparation
Dr. Vishkin, June 2005
↑ Back to Top
ENEE 447 Operating Systems, 3 credits
Course Description
The goal of this course is to present the theory, design, implementation, and analysis of computer operating systems. Through classroom lectures, homework, and projects, students learn the fundamentals of concurrency and process management, interprocess communication and synchronization, job scheduling algorithms, memory management, input/output devices, file systems, and protection and security in operating systems. Optional topics may include communications protocols, computer security, and real-time operating systems.
Prerequisite
'C' or higher in ENEE 350, experience in C or C++, and familiarity with UNIX.
Textbook and any Other Required Material
1. Tanenbaum, A. S., Modern Operating Systems, Prentice Hall, 2nd ed. (2001).
Course Objectives
- Understand processes and process management
- Understand synchronization and communication
- Given a scheduling algorithm, determine time line of actions
- Understand internals of file system
- Implement simple device driver
Topics Covered
- Introduction, processes, process management
- Interprocess communication (IPC) and synchronization, deadlocks
- Process scheduling
- Threads
- Memory management
- File system
- File protection; access control lists
- Input/Output System
- Device drivers
- Real-time operating systems
- Introduction to multiprocessor and distributed system issues
Class/Recitation Schedule
3 hours of lecture
Contribution of the Course to Meet the Professional Component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study.
Relationship of Course to Program Objectives
(a) an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
Application of basic data structures, algorithms, and computer programming to better understand and use the core funtionality provided by operating systems.
Approximation techniques are employed in the solution of nonlinear equations.
(B) an ability to design and conduct experiments, as well as to analyze and interpret data:
SIGNIFICANT
Create multiple processes that must synchronize with each other in order to perform complex tasks
(c) an ability to design a system, component, or process to meet desired needs:
SIGNIFICANT
Build components of an operating system in order to perform multiple tasks at once.
(i) a recognition of the need for, and an ability to engage in life-long learning:
MODEST
Generic operating system techniques that manage resources applicable for furture operating systems.
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineeirng practice:
SIGNIFICANT
Needed to create software for embedded system and as a basic for interdisciplinary projects that requrie computer control.
Persons who Prepared this Syllabus and Date of Preparation
Dr. Stewart and Dr. Jacob, July 23, 1998
↑ Back to Top
ENEE 459A CAD Tools (1 credit)
Course Description
Application of CAD tools to the design and simulation of programmable logic and circuit boards.
Prerequisite
ENEE 244
Textbook and any other Required Material
No Text Required
Course Objectives
transform the functional specification for a logic design into a logic description language
design a simulation for functional test of the logic design
compile the logic design into a physical device using a logic design environment
perform a timing analysis of the physical logic device using the logic design environment
incorporate the logic device and other components into a board-level design
perform functional and timing simulations on the board-level design
generate a physical layout design for the board-level design
Topics Covered
Programmable logic design
Fitting logic designs to a real chip
Schematic design
PCB design
System design exercise
Class/lab Schedule
One hour of lecture
Contribution of the Course to Meet the Professional Component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study.
Relationship of Course to Program Objectives
an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
application of current-technology design tools to digital logic design and hardware board design.
an ability to design and conduct experiments, as well as to analyze and interpret data:
SOME
verification of logic component and board design through simulation.
an ability to design a system, component, or process to meet desired needs:
SIGNIFICANT
design of component and board logic to meet a problem specification; design of functional and timing simulations to validate designs.
an ability to identify, formulate, and solve engineering problems:
MODERATE
partition of a logic design problem into modules; design of simulation to characterize logic function; integration of design with other components and simulation of results.
(g) an ability to communicate effectively:
SOME
student assignments (logic designs, system schematics, board designs) are expected to be professionally executed.
(i) a recognition of the need for, and an ability to engage in life-long learning:
SOME
learning the CAD system is an exemplar of the on-going learning required of any design engineer.
(j) a knowledge of contemporary issues:
MODERATE
CAD tools and components are chosen from current technologies; tool idiosyncrasies and shortcomings are discussed.
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice:
SIGNIFICANT
use of logic/system design environment, languages, and tools.
Persons who prepared this syllabus and date of preparation
Professor Hawkins, June 2005
↑ Back to Top
ENEE 459B Introduction to Trustworthy Computing, 3 credits
Course Description
Despite the pervasive use of computing devices, many people do not feel as comfortable using services provided by computers, softwares, and the Internet as they are using a device powered by electricity. This course covers the risks in cyberspace and focuses on the technology advances and law enforcements that have been or have to be made to establish trust in four key areas to establish the trust in computing: security, privacy, reliability, and business integrity.
Prerequisite
ENEE350 or senior standing in engineering, physical sciences, mathematics, computer science, economics, or business.
Textbook
Reading materials will be provided on the course website.
Recommended Textbooks
- Security in Computing, 3rd Ed. Charles P. Pfleeger and Shari Lawrence. Prentice Hall PTR, 2002.
- Cryptography and Network Security: Principles and Practice, 2nd Ed. William Stallings. Prentice Hall, 1998
Other Recommended Readings
- Trust in Cyberspace, Fred B. Schneider (Editor), Committee on Information Systems Trustworthiness. National Academy Press, 1999.
- Invation of Privacy: how to Protect Yourself in the Digital Age., Michael Hyatt. Regency Publishing, Inc.
- Digital Righrts Management: Business and Technology, Bill Rosenblatt, Bill Trippe, and Stephen Mooney. MIT Books, 2002.
- Code and Other Laws of Cyberspace, Lawrence Lessig, Basic Books.
Topics Covered
- Overview of Trustworthy Computing
- Public Telephone Network (PTN) and Internet Trustworthiness
- Environmental Disruption (link failure and congestion)
- Operational Errors and Harware/Software Failure
- Malicious Attacks on PTN and the Internet
- Basics of Cryptography
- Some Simple Cryptosystems
- Basic Cryptographic Protocols
- Public Key Cryptography
- Software Security and Reliability
- Viruses, Malicious Codes, and Controls against these Threats
- Foreign Code and Application-Level Security
- Protection in Operating Systems/li>
- Trustworthy Computing Security Development Lifecycles
- Digital Rights Managements (DRM)
- Challenges of DRM
- Technologies and Standards
- Legal and Ethical Issues
- Administering Trustworthy Computing
- PC and UNIX Security Management
- Network Security Management
- Risk Analysis, Security Planning, and Disaster Recovery
Course Structure The course materials will be delivered by means of lectures, readings, student presentations, and project development.
Grading Class Participation (15%) Homework (20%); Midterm (30%); and Final (Exam or Paper) (35%)
Contact Information Dr. Gang Qu - Email: gangqu@eng.umd.edu or Phone: 301-405-6703
Persons who prepared this syllabus and date of preparation.
Dr. Gang Qu, December, 2005
↑ Back to Top
ENEE 459C Computer Security (formerly offered as ENEE 459B: Introduction to Trustworthy Computing), 3 credits
Course Description
Credit will be granted for only one of the following: ENEE459B or ENEE 459C.
Despite the pervasive use of computing devices, many people do not feel as comfortable using services provided by computers, softwares, and the Internet as they are using a device powered by electricity. This course covers the current efforts from both academia and industry in building trustworthy computing. We will focus on the technology advances, industrial standards, and law enforcements that have been or have to be made to establish trust in four key areas to establish the trust in computing: security, privacy, reliability, and business integrity. The course will be jointly offered by experts from industry to help students get hands on experiences.
Prerequisite
ENEE 350 or senior standing in engineering or computer science, or permission of instructor.
Topics Covered
- Cryptography basics: ciphers, cryptanalysis, modern cryptosystems (DES, AES, RSA), public key cryptography (encryption/decryption, digital signature, key exchange).
- System security: intruders, viruses, malicious programs, Trojan horse; intrusion detection, password protection, firewall; case study on UNIX system.
- Network security: Authentication (Kerberos and X.509), E-mail security (PGP and S/MIME), IP security, Web security (SSL and SET), access control, endpoint security standards (NAC, TNC).
- Digital right management: copyright, patent, trade secrets, trademark; legal protection of users, fair use, fared use, P2P system, digital watermarking, DRM software and hardware, privacy on the web, case study.
- Hardware based trust and security: trusted platform module, storage protection, trusted software stack, hardware assisted security systems, trusted IC and hardware.
- Trusted software: hacking, software reliability, writing secure code.
- Trustworthy computing standards by the Trusted Computing Group.
- Virtualization and security: demo using Intel VT-X machine.
Course Structure The course materials will be delivered by means of lectures, readings, student presentations, and project development.
Grading
Class Participation (10%) Homework (15%); Midterm (35%); and Final (40%)
Contact Information Dr. Gang Qu - Email: gangqu@eng.umd.edu or Phone: 301-405-6703
Persons who prepared this syllabus and date of preparation.
Dr. Gang Qu, 2008
↑ Back to Top
ENEE 459D Data Structures and Algorithms, 3 credits
Course Description
Students should gain basic skills in designing and implementing efficient and effective computer programs. In particular, students should gain familiarity with: (1) mathematical tools for analyzing algorithms; (2) data structures and algorithms for a variety of fundamental problems, and; (3) translation from theory to practice (through programming exercises).
Prerequisite
ENEE 350 and completion of all lower-division technical courses in the EE curriculum.
Textbook and any other required material
T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms, McGraw-Hill, 1990.
Course Objectives
Design and implement algorithms and analyze them
Topics Covered
- Growth of functions and recurrence classes
- Sorting (insertion, merge, heap, quick) and order statistics
- Stacks, queues and linked lists
- Hashing
- Binary search trees, red-blck trees
- Dynamic progamming
- Greedy algorithms
- Union-find algorithms
- Graph algorithms (searching, spanning trees, shortest paths)
- Arithmetical algorithms (matrix multiplication, polynomials and the FFT, elementary number-theoretical operations)
- String matching
Class/lab schedule
Three hours of lecture
Persons who prepared this syllabus and date of preparation
Drs. Vishkin and Jacob, November 9, 1998
↑ Back to Top
ENEE 459I Principles of Intelligent Computing Models, Design Methods and Applications, 3 credits
Course Description
Concepts and a systematic, unifying approach are presented for finding acceptable predictive computing models from experimental data via learning techniques which mimic human intelligence. State-of-the art architectures and algorithms are emphasized. Design and model building techniques are discussed in the lectures - their use and potential are studied in well-structured homework exercises and workshops. Their use is studied further via selected actual case studies. Students may elect, with the approval and the guidance of the instructor, to formulate and complete individually or in small groups an optional design and implementation mini-project in lieu of completing a selected set of the required home works. The mini-projects require the submission of written Term Report in lieu of the Final Exam.
Prerequisite
Undergraduates: ENEE 434 (pre- or co-requisite) or ENEE435 or senior standing in engineering, physical sciences, mathematics, or computer science.
Graduates: good standing in Engineering, or in Computer, Mathematical and Physical Sciences, or in the NACS graduate program, or instructor permission.
Textbook
The Course Website will provide appropriate lists of recommended Links and lecture supplementary reading material for each topic.
Course Objectives
- Introduction to state-of-the-art novel computing methodologies for formulating problems, and finding acceptable solutions not otherwise possible.
- To provide training in the use and/or assessment of their applicability to actual problems.
Topics Covered
- Software Approaches for Problem-Statement Formulation and Problem-Solving Methods that Mimic Human Intelligence.
- Use of Experimental Data for Computer Modeling of Learning and Generalization.
- Mathematical Methods and Software Tools.
- Knowledge Representation and Acquisition
- Neural Network Architectures and Algorithms for Supervised Learning
- Neural Network Architectures and Algorithms for Unsupervised Learning
- Modular Neural Network Architectures and Algorithms
- Fuzzy Logic Models and Similarity with Neural Networks
- Selected Case Studies.
- Optional Term Project in lieu of Final Exam and a selected Homework/Workshop
Evaluation
All Homework/Workshops will be graded. There will be a mid-term exam and a Final Exam (with exemptions as noted).
Course Grades will be based on a pre-agreed weighted average of the Homework/Workshop Grades, the Midterm Exam Grade and the Final Exam or the Term Report Grade.
Class/lab schedule
Three hours of lecture per week. Group discussion sessions will be scheduled after the mid-term.
Persons who prepared this syllabus and date of preparation.
Dr. DeClaris, November, 2005
↑ Back to Top
ENEE 459J Consumer Electronics, 3 credits
Course Overview
This class will teach the skills necessary for good product design and development in the real world, focusing on real-time embedded systems, particularly consumer electronics (MP3 players, mobile wireless handheld devices, etc.). The class will be structured as a start-up company’s research & development department: students will develop design specs and have latitude in the choice of implementation. Within several weeks, the group/s will be defined and projects selected; the bulk of the class will be spent discussing how best to implement the chosen projects and then implementing them. Topics covered will include economics of start-ups, the rigor and attention to detail that is required to do good work, the realities of time and code, fundamentals of networked software, good and bad architecture-design principles, and the details of modern software, hardware, and firmware design.
Prerequisites
Completion of all 200-level ENEE coursework or permission of instructor.
Textbook and any Other Required Material
Paul Grahm. Hackers & Painters.
Frederick Brooks. The Mythical Man-Month.
Topics Covered/Lecture Schedule
- Introduction
- Networked & Real-time applications
- UNIX and its APIs (networking, real-time)
- Mobility and client/server architectures
- WEb-based standards, hardware standards
- PCB design, fabrication, assembly
- Firmware design, UNIX drivers
- Design for quality (test maintenance, etc.
- Case studies: BT vs. PCM
- Good/bad design principles
- Languages as a medium of express
- Economics, wealth, and startinga company
- Users vs. designers vs. developers
- "Taste for designers"
- Future Trends
Class/Retitation Schedule
1 Hours 15 minutes of Lecture and 3 hours of Lab
Grading
2/3 Group project
1/3 Individual contributions and class participation
Persons who Prepared this Syllabus and Date of Preparation,
Dr. Bruce Jacob, October 2008
↑ Back to Top
ENEE 459K Hardware FPGA Design Using Verilog, 3 credits
Course Description
Students will learn how to use the Verilog hardware description language (HDL) together with industry-standard simulation and synthesis tools to design digital systems. They will learn how to implement real-world designs in a field programmable gate array (FPGA) as well as test and optimize the FPGA-implemented systems. Students will also work in teams on a medium-scale digital design project and create an oral presentation and written report.
Notes: The project requirements include an implementation, experimental study, and oral presentation and written report of experimental findings. The oral presentation and report writing are evaluated individually. Active participation in discussion during class/labs/presentations is required.
Prerequisite
ENEE350 OR (ENEE244 and permission of instructor). No prior knowledge of Verilog is required.
Textbooks and any Other Required Material
- D. E. Thomas and P. R. Moorby, The Verilog Hardware Description Language, 5th Ed., Springer Science, 2002.
- D. R. Smith and P. D. Franzon, Verilog Styles for Synthesis of Digital Systems, Prentice Hall, 2000. (Recommended)
- Hardware: Digilent Nexys board with a Xilinx Vertex 2 Pro FPGA chip.
- The students are required to purchase the board ($100). (It fits in a DVD case,) The board has a USB communication mechanism. The board has other uses/applications beyond the course. Software: Xilinx ISE (its WebPack version is available.)
Course Objectives
- Experience with digital system design
- HDL-based design (Verilog)
- Use of associated CAD tools (Xilinx ISE)
- FPGA implementation and testing (Xilinx)
- Project work and experimentation
- Design, implementation, and debugging
- Synthesis
- Experiment design
- Project report
- Teamwork experience
- Communication skill development
- Oral presentation
- Written report
Topics Covered
- Digital design flow
- Verilog tutorial
- Verilog modeling
- Synthesis of combinational logic
- Synthesis of sequential logic
- Field programmable gate arrays
- Design verification
- Timing/area/power analysis and optimization
- Project summaries
- Oral presentations
Class/lab Schedule
2-hour (100-minute) lecture and 2-hour (100-minute) discussion/project
Course Requirements
- Quizzes/Homework/Class participation 30%
- Midterm Exam 20%
- Project 30%
- Oral presentation 10%
- Written report 10%
Persons who Prepared this Syllabus and Date of Preparation,
Dr. Nakajima, October 2008
↑ Back to Top
ENEE 459M Topics in Computer Engineering: Machine Learning, Knowledge Engineering and Computational Intelligence, 3 credits
Course Description
Fundamental concepts and methodologies of emerging computing technologies (hardware and software) for simulating information acquisition and processing by living brains. A systematic unifying approach is presented that uses machine training and learning techniques and, starting with acquired real-world data, it achieves performance that mimics human intelligence not otherwise possible. Selected state-of-the-art architectures and algorithms are introduced in the lectures and studied via well-structured homework exercises and workshops, including actual case studies. Students will formulate - with the approval and the guidance of the instructor - and complete a mini-project. The mini-project requires a written proposal, oral presentations and the submission of written Term Report in lieu of: a) selected set of homework exercises and workshops and b) the Final Exam.
Prerequisite
ENEE324
Prerequisite Topics
A good background in statistics and optimization, and familiarity with basic algorithmic techniques. A background in nonlinear optimization is desirable.
Textbook
Introduction to Data Mining, Pang-Ning Tan, Michael Steinbach, and Vipin Kumar, Pearson, Addison Wesley, 2006.
References
- Data Mining, Practical Machine Learning Tools and Techniques, Second Edition, I. H. Witten and E. Frank, Morgan Kaufmann, 2005.
- Machine Learning, Tom Mitchell, McGraw-Hill, 1997.
- Principles of Data Mining, D. Hand, H. Mannila, and P. Smyth, MIT Press, 2001.
Course Objectives
The course will cover basic machine learning techniques and their applications to analyze and mine scientific and business data. These techniques will include statistical models, decision trees, neural networks, Bayesian networks, support vector machines, clustering, and finding patterns and rules.
Topics Covered
- Machine Learning Tools and Techniques
- Introduction to Machine Learning: Concepts, Instances, and Attributes
- Simple Examples
- Some Application Domains
- Machine Learning and Statistics
- Data Preprocessing and Exploration
- Sampling
- Principal Component Analysis
- Freature Extraction
- Exploritory Data Analysis
- Fundamental Classification Strategies
- Decision Trees
- Bayesian Networks
- Neural Networks
- Support Vector Machines
- Clustering Techniques
- Basic Clustering Techniques
- Probabilistic Techniques (Maximum Likelihood & Mixture Modeling)
- Cluster Evaluation
- Mining for Rules
- Association Rules
- Generalized Association Rules
- Sequential Patterns
Grading Homework (30%); Midterm (35%); and Final (35%)
Contact Information joseph@umiacs.umd.edu: 301-4051925
Persons who prepared this syllabus and date of preparation.
Dr. Joseph JaJa, October, 2005
↑ Back to Top
ENEE 459N Neural Network Design and Implementation, 3 credits
Course Description
Design of Neural Networks to perform specific tasks of practical engineering importance not possible otherwise. Working knowledge to select: i) state-of-the art NN Architectures (such perceptron, multilevel feed-forward, modular, recurrent, associative) and ii) training and evaluation algorithms (such as classification, feature extraction, learning, generalization) to meet the needs of specific tasks. Hands-on experience with commercial (and/or proprietary) current Neurocomputing technology (such as MATLAB, MATHEMATICA, NEURALWARE, NEURALSOLUTIONS) to implement, test, evaluate and optimize the designs.
Prerequisite
ENEE 434 or ENEE 435 or [co-registration with permission of the instructor].
Textbook and any other required material
M. T. Hagan, H.B.Denuth and M. Beale, "Neural Network Design," PWS
Publishing Co., Boston, Mass.
Course Objectives
Prepare students to use novel Neural Network concepts and Neurocomputing state-of-the art methodologies in order to find acceptable solutions to practical engineering problems not otherwise possible. Provide training in the use of CAD implementation tools (Neurocomputing) to assess design performance and carry out heuristic optimization.
Topics Covered
- Supervised Perceptron Architectures.
- Performance Optimization
- Associative Network Architectures.
- Self-Organized Feature Maps.
- Recurrent Network Architectures
- Adaptive Resonance Architectures.
- Pulsed Neural Networks.
Class/lab schedule
Two hours of lecture, 3 hours of lab per week.
Persons who prepared this syllabus and date of preparation.
Dr. DeClaris, February 26, 2001
↑ Back to Top
ENEE 459P Parallel Algorithms, 3 credits
Course Description
The motivation for this new undergraduate course on parallel algorithms is the growing demand for parallel algorithmic thinking, and programming as an increasing number of CPU cores is being deployed in standard computer systems. In the past only the very top undergraduate students were able to learn this material by taking a parallel algorithms graduate class.
Prerequisites
- Topics: Basic knowledge and understanding of algorithms and data structures
- Courses: CMSC351 or equivalent.
Course Readings
Class notes and other material will be provided by the instructor. Please download and print out the first item (104 pages).
Reference Books
- An Introduction to Parallel Algorithms. JaJa, J. Addison Wesley, 1992.
- Parallel Computer Architecture. D.E. Culler and J.P. Singh. Morgan-Kaufmann, 1999.
- Computer Architecture a Quantitative Approach, 4th ed. J.L. Hennessy and D.A. Patterson. Morgan-Kaufmann, San Francisco. 2007.
Topics Covered
- Parallel Models
- Optimality Notions
- Basic Techniques
- Balanced Trees
- Pointer Jumping
- Divide-and-Conquer
- Partitioning
- Pipelining
- Accelerated Cascading
- Symmetry Breaking
- Trees and Lists
- List Ranking
- Euler Tour Techniques
- Tree Contraction
- Evaluation of Arithmetic Expressions
- Searching
- Merging and Sorting
- Dictionary and Other Data Structures
- Graphs
- Connected Components
- Introduction to Parallel Processing
- From Parallel Algorithms to Parallel Programs
- Principles of Available Multi-processors
- Thread-level Parallel (TLP) Systems
- Instruction-level Parallel (ILP) Systems.
- Parallel Architectures
- Optional Topic: Transitive Closure, Paths Problems
- Optional Topic: Parallel String Matching Algorithms
Other Issues Students cannot earn credit for both CMSC751/ENEE759K and ENEE459p.
Contact Information Dr. Uzi Vishkin - Email: vishkin@umiacs.edu or Phone: 301-405-6763
Persons who prepared this syllabus and date of preparation. Dr. Uzi Vishkin, Fall, 2007
↑ Back to Top
ENEE 459R Compilers, 3 credits
Course Description
This is an introductory course to compilers. A compiler is software used to convert high-level language programs to machine code executables. Compiler professionals are in very high demand in the marketplace, since compilers are absolutely crucial for extracting performance from a variety of new architectures, such as parallel computers, GPUs, FPGAs, DSPs, and embedded controllers.
Prerequisite
ENEE350 or CMSC216 or equivalent course in assembly language
Textbook and any Other Required Material
"Modern Compiler Implementation in C", by Andrew W. Appel, Cambridge University Press, New Ed edition (2004), ISBN: 978-0521607650.
Course Objectives
- This course aims to describe how the modern software development process works, how modern compilers are built, how they optimize code, and how the assembly, linking and loading process works.
- It will show how compilers can do much more than simple format translation, and how many such "value-added" tasks are demanded by different architectures and usage scenarios.
Topics Covered
- Compiler introduction
- The compilation, linking and loading process
- Separate compilation vs. whole program compilation
- Internal structure and phases of a compiler
- Lexical analysis and parsing
- Intermediate forms
- Global, stack and heap objects, and their addressing modes
- Instruction selection
- Register allocation
- Control flow analysis and optimization
- Dataflow analysis and optimization
- Compiling for VLIW and DSP architectures
- Compiling for SRAM memories
- Compiling for improving security
Class/lab Schedule
2 lectures of 75 minutes each a week
Contribution of the Course to Meet the Professional Component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study
Relationship of Course to Program Objectives
- Ability to apply knowledge of mathematics, science, and engineering:
- Ability to design and conduct experiments, as well as to analyze and interpret data:
- Ability to design a system, component, or process to meet desired needs
- Ability to function on a multi-disciplinary team:
- Ability to identify, formulate, and solve engineering problems:
- Understanding of professional and ethical responsibility
- Ability to communicate effectively:
- Broad education necessary to understand the impact of engineering solutions in a global and societal context
- Recognition of the need for, and an ability to engage in life-long learning:
- Knowledge of contemporary issues:
- Ability to use the techniques, skills, and modern engineering tools necessary for engineering practice:
Persons who prepared this syllabus and date of preparation
Dr. Barua, April 2008.
↑ Back to Top
ENEE 459W Systems on Programmable Chips (SOPCs), 3 credits
Course Description
Provides the student with an experience in designing and implementing complete systems (processor, memory and input/output) on large scale, field-programmable gate arrays (FPGAs).
Examples of existing system designs are analyzed to understand how tradeoffs between the two facets (software and hardware) of the design can be used to improve design performance.
Exercises and projects reinforce concepts of computer system design by presenting original application problems in computation and control to be solved by student-designed SOPCs.
Prerequisite
ENEE 350 and completion of all lower-division courses in the EE curriculum.
Textbook and Any Other Required Material
None
Persons who Prepared this Syllabus and Date of Preparation
Bill Hawkins, January 2006
↑ Back to Top
ENEE 447 (fomerly 459S) Operating Systems, 3 credits
Course Description
The goal of this course is to present the theory, design, implementation, and analysis of computer operating systems. Through classroom lectures, homework, and projects, students learn the fundamentals of concurrency and process management, interprocess communication and synchronization, job scheduling algorithms, memory management, input/output devices, file systems, and protection and security in operating systems. Optional topics may include communications protocols, computer security, and real-time operating systems.
Prerequisite
ENEE 350, experience in C or C++, and familiarity with UNIX and completion of all lower-division technical courses in the EE curriculum.
Textbook and Any Other Required Material
Tanenbaum, Modern Operating Systems, Prentice Hall, 1992
Course Objective
- understand process and process management
- understand synchronization and communication
- given a scheduling algorithm, determine time line of actions
- understand the internals of file system
- implement simple device drives
Topics Covered
- Introduction, Processes, Process Management
- Interprocess communication (IPC) and Synchronization, Deadlocks
- Process Scheduling
- Threads
- Memory Management
- File Systems
- File protection; access control lists
- Input/Output System
- Device Drivers
- Real-time operating systems
- Introduction to multiprocessor and distributed systems Issues
Class/lab Schedule
3 hours of lecture
Persons who Prepared this Syllabus and Date of Preparation
Drs. Stewart and Jacob, July 23, 1998
↑ Back to Top
ENEE 460 Control Systems, 3 credits
Course Description
Mathematical models for control system components. Transform and time domain methods for linear control systems. Introductory stability theory. Root locus, Bode diagrams and Nyquist plots. Design specifications in the time and frequency domains. Compensation design in the time and frequency domain. Introduction to sampled data systems.
Prerequisite
ENEE 322 and completion of all lower-division technical courses in the EE curriculum.
Textbook and Any Other Required Material
Goodwin, Control System Design, Prentice Hall
Course Objectives
represent a control system in mathematical form
control the output of a system to meet given specifications
design compensators to enhance performance of system
design computer algorithms to design control system
Topics Covered
Models of systems
Block diagrams and their manipulation
State space models
State space calculations
Control system sensitivity
Disturbances
Second-order systems
Some system specification
Stability
Introduction to root locus
Design using root locus
Frequency response plots
Nyquist stability criterion
Nichols plots/gain and phase margin
PID control
Lead/lag compensator design
Control design I
Control design II
Control design example I
Control design example II
Class/lab Schedule
3 hours of lecture
Contribution of the course to meet the professional component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study
Relationship of course to Program Objectives
(a) an ability to apply knowledge of mathematics, science and engineering:
SIGNIFICANT
apply MATLAB in class, using control toolbox
apply z-transforms for the design of discrete compensators
(c) an ability to design a system, component, or process to meet desired needs:
SIGNIFICANT
use computer to design compensators; look at system response for critical elements such as rise time, overshoot, and settling time
(e) an ability to identify, formulate, and solve engineering problems:
MODERATE
given a physical problem, convert to mathematical formulae and design a compensator to specification (ex: airplane autopilot design to follow given course).
(h) the broad education necessary to understand the impact of engineering solutions in a global and societal context:
MODERATE
applications of control systems in aircraft, vehicles, robots, space vehicles (homework demonstrates this)
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice:
SIGNIFICANT
Using MATLAB, apply knowledge of mathematical tools to design control systems.
Persons who Prepared this Syllabus and Date of Preparation
Dr. Levine, June 2005
↑ Back to Top
ENEE 461 Control Systems Laboratory, 2 credits
Course Description
Projects to enhance the student's understanding of feedback control systems and to familiarize him with the characteristics and limitations of real control devices. Students will design, build, and test servomechanisms, and will conduct analog and hybrid computer simulations of control systems.
Prerequisite
ENEE 206 (or ENEE 245) and ENEE 460
Textbook and any other required material
No text required
Course Objectives
operate in a modest control laboratory
understand fairly complex ideas about control theory as applied to real control systems (block diagrams vs. actual control)
write up experiment reports
Topics Covered
Introduction
Control Design and Sensors
Sensors (continued)
Smith Predictor
Servomechanisms
PID Control
Liquid Level, Process Simulator and Introduction to Digital Control
Nonlinearity
Inverted Pendulum
Inverted Pendulum and Multiple Inertias
Errors in Digital Control
Some Biological Control Systems
Nonlinear Controls
Class/lab schedule
One hour of lecture and three hours of laboratory
Contribution of the course to meet the professional component
One and one-half years of engineering topics, to include engineering sciences and engineering design appropriate to the student's field of study.
Relationship of course to program objectives
(a) an ability to apply knowledge of mathematics, science, and engineering:
SIGNIFICANT
Apply linear system theory and MATLAB in designing controllers and making a real control system work.
(b) an ability to design and conduct experiments, as well as to analyze and interpret data:
SIGNIFICANT
Collect data from physical control systems; analyze whether it fits predictions based on theoretical models; use data to arrive at physical controllers that function properly.
(c) an ability to design a system, component, or process to meet desired needs:
SIGNIFICANT
Students design, in a structured context, control systems.
(e) an ability to identify, formulate, and solve engineering problems:
MODERATE
Guides them through set up real of engineering problems (example: build an electronic float value).
(g) an ability to communicate effectively:
SIGNIFICANT
Students are required to turn in a detailed report on each control system they design and are graded on ability to articulate results.
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice:
SIGNIFICANT
Computer simulation as a tool for designing control systems; spectrum analyzer, oscilloscope and related tools for defining/measuring systems.
Specify and purchase components of a system.
Persons who prepared this syllabus and date of preparation
Dr. Levine, June 2005
↑ Back to Top
|