EECS 233: Introduction to Data Structures (100/5706)
MWF 03:00-03:50 PM Aug 24-Dec 04
Podgurski, H
The programming language Java; pointers, files, and recursion. Representation and manipulation of data: one way and circular linked lists, doubly linked lists; the available space list. Different representations of stacks and queues. Representation of binary trees, trees and graphs. Hashing; searching and sorting. Laboratory. Recommended preparation: ENGR 131.
EECS 246: Signals and Systems (100/5708)
MWF 02:00-02:50 PM Aug 24-Dec 04
Loparo, K
Mechanical Engineering students should take this course in place of EECS 212/214.
EECS 246: Signals and Systems (110/10423)
T 04:30-05:45 PM Aug 24-Dec 04
Loparo, K
The sinusoidal steady state and phasor analysis. Bode plots and their relationship to the frequency domain representation of signals. Gain-bandwidth product, slew-rate and other limitations of real devices. Filter design. Frequency domain considerations including Fourier series and Fourier transforms. Sampling theorem. The Discrete Fourier Transform. The z-transform and digital signal processing. Accompanying laboratory exercises which reinforce classroom lectures. Recommended preparation: ENGR 210 and MATH 224.
EECS 246: Signals and Systems (111/10424)
T 04:30-05:45 PM Aug 24-Dec 04
Loparo, K
The sinusoidal steady state and phasor analysis. Bode plots and their relationship to the frequency domain representation of signals. Gain-bandwidth product, slew-rate and other limitations of real devices. Filter design. Frequency domain considerations including Fourier series and Fourier transforms. Sampling theorem. The Discrete Fourier Transform. The z-transform and digital signal processing. Accompanying laboratory exercises which reinforce classroom lectures. Recommended preparation: ENGR 210 and MATH 224.
EECS 246: Signals and Systems (112/10433)
T 06:00-07:15 PM Aug 24-Dec 04
Loparo, K
The sinusoidal steady state and phasor analysis. Bode plots and their relationship to the frequency domain representation of signals. Gain-bandwidth product, slew-rate and other limitations of real devices. Filter design. Frequency domain considerations including Fourier series and Fourier transforms. Sampling theorem. The Discrete Fourier Transform. The z-transform and digital signal processing. Accompanying laboratory exercises which reinforce classroom lectures. Recommended preparation: ENGR 210 and MATH 224.
EECS 246: Signals and Systems (113/10434)
T 06:00-07:15 PM Aug 24-Dec 04
Loparo, K
The sinusoidal steady state and phasor analysis. Bode plots and their relationship to the frequency domain representation of signals. Gain-bandwidth product, slew-rate and other limitations of real devices. Filter design. Frequency domain considerations including Fourier series and Fourier transforms. Sampling theorem. The Discrete Fourier Transform. The z-transform and digital signal processing. Accompanying laboratory exercises which reinforce classroom lectures. Recommended preparation: ENGR 210 and MATH 224.
EECS 281: Logic Design and Computer Organization (100/5710)
TR 10:00-11:15 AM Aug 24-Dec 04
Zhang, X
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory. Recommended preparation: ENGR 131.
EECS 281: Logic Design and Computer Organization (110/6638)
T 01:15-02:05 PM Aug 24-Dec 04
Zhang, X
Recitation for EECS 281
EECS 281: Logic Design and Computer Organization (111/6640)
W 10:30-11:20 AM Aug 24-Dec 04
Zhang, X
Recitation for EECS 281
EECS 281: Logic Design and Computer Organization (112/6642)
W 11:30-12:20 PM Aug 24-Dec 04
Zhang, X
Recitation for EECS 281
EECS 301: Digital Logic Laboratory (100/5712)
F 03:00-03:50 PM Aug 24-Dec 04
Bhunia, S
This course is an introductory experimental laboratory for digital networks. The course introduces students to the process of design, analysis, synthesis and implementation of digital networks. The course covers the design of combinational circuits, sequential networks, registers, counters, synchronous/asynchronous Finite State Machines, register based design, and arithmetic computational blocks. Recommended preparation: EECS 281.
EECS 302: Discrete Mathematics (100/6260)
TR 08:30-09:45 AM Aug 24-Dec 04
Sun, X
A general introduction to basic mathematical terminology and the techniques of abstract mathematics in the context of discrete mathematics. Topics introduced are mathematical reasoning, Boolean connectives, deduction, mathematical induction, sets, functions and relations, algorithms, graphs, combinatorial reasoning.
Offered as EECS 302 and MATH 304.
EECS 318: VLSI/CAD (100/5714)
TR 10:00-11:15 AM Aug 24-Dec 04
Saab, D
With Very Large Scale Integration (VLSI) technology there is an increased need for Computer-Aided Design (CAD) techniques and tools to help in the design of large digital systems that deliver both performance and functionality. Such high performance tools are of great importance in the VLSI design process, both to perform functional, logical, and behavioral modeling and verification to aid the testing process. This course discusses the fundamentals in behavioral languages, both VHDL and Verilog, with hands-on experience. Recommended preparation: EECS 281, EECS 315.
EECS 322: Integrated Circuits and Electronic Devices (100/5716)
MW 10:00-11:15 AM Aug 24-Dec 04
Rajgopal, S
Taught together with EECS 415.
EECS 324: Simulation Techniques in Engineering (100/5718)
TR 01:15-02:30 PM Aug 24-Dec 04
Chankong, V
Discrete event systems and simulation concepts. Discrete event simulation with batch and interactive languages. Recommended preparation: Concurrent enrollment in ENGL 398.
EECS 325: Computer Networks I (100/5720)
TR 10:00-11:15 AM Aug 24-Dec 04
Rabinovich, M
Taught together with EECS 425.
EECS 326: Instrumentation Electronics (100/17080)
MWF 11:30-12:20 PM Aug 24-Dec 04
Garverick, S
A second course in instrumentation with emphasis on sensor interface electronics. General concepts in measurement systems, including accuracy, precision, sensitivity, linearity, and resolution. The physics and modeling of resistive, reactive, self-generating, and direct-digital sensors. Signal conditioning for same, including bridge circuits, coherent detectors, and a variety of amplifier topologies: differential, instrumentation, charge, and transimpedance. Noise and drift in amplifiers and resistors. Practical issues of interference, including grounding, shielding, supply/return, and isolation amplifiers.
EECS 337: Compiler Design (100/5722)
TR 01:15-02:30 PM Aug 24-Dec 04
Liberatore, V
Design and implementation of compilers and other language processors. Scanners and lexical analysis; regular expressions and finite automata; scanner generators; parsers and syntax analysis; context free grammars; parser generators; semantic analysis; intermediate code generation; runtime environments; code generation; machine independent optimizations; data flow and dependence analysis. There will be a significant programming project involving the use of compiler tools and software development tools and techniques. Recommended preparation: EECS 233 and EECS 281.
EECS 340: Algorithms and Data Structures (100/5724)
MW 09:00-10:15 AM Aug 24-Dec 04
Yang, J
Efficient sorting algorithms, external sorting methods, internal and external searching, efficient string processing algorithms, geometric and graph algorithms. Recommended preparation: EECS 233 and MATH 304.
EECS 341: Introduction to Database Systems (100/5726)
MW 12:30-01:45 PM Aug 24-Dec 04
Ozsoyoglu, G
Relational model, ER model, relational algebra and calculus, SQL, OBE, security, views, files and physical database structures, query processing and query optimization, normalization theory, concurrency control, object relational systems, multimedia databases, Oracle SQL server, Microsoft SQL server. Recommended preparation: EECS 233.
EECS 342: Introduction to Global Issues (100/5728)
T 06:00-08:30 PM Aug 24-Dec 04
Sreenath, S
This systems course is based on the paradigm of the world as a complex system. Global issues such as population, world trade and financial markets, resources (energy, water, land), global climate change, and others are considered with particular emphasis put on their mutual interdependence. A reasoning support computer system which contains extensive data and a family of models is used for future assessment. Students are engaged in individual, custom-tailored, projects of creating conditions for a desirable or sustainable future based on data and scientific knowledge available. Students at CWRU will interact with students from fifteen universities that have been strategically selected in order to give global coverage to UNESCO'S Global-problematique Education Network Initiative (GENIe) in joint, participatory scenario analysis via the internet.
EECS 351: Communications and Signal Analysis (100/10427)
MWF 02:00-02:50 PM Aug 24-Dec 04
Buchner, M
Fourier transform analysis and sampling of signals. AM, FM and SSB modulation and other modulation methods such as pulse code, delta, pulse position, PSK and FSK. Detection, multiplexing, performance evaluation in terms of signal-to-noise ratio and bandwidth requirements. Recommended preparation: EECS 246 or equivalent.
EECS 352: Engineering Economics and Decision Analysis (100/5730)
TR 02:45-04:00 PM Aug 24-Dec 04
Chankong, V
Economic analysis of engineering projects, focusing on financial decisions concerning capital investments. Present worth, annual worth, internal rate of return, benefit/cost ratio. Replacement and abandonment policies, effects of taxes, and inflation. Decision making under risk and uncertainty. Decision trees. Value of information.
EECS 360: Manufacturing and Automated Systems (100/10425)
W 05:30-08:00 PM Aug 24-Dec 04
Malakooti, B
Taught together with EECS 460
EECS 390: Advanced Game Development Project (100/5732)
T 08:30-09:45 AM Aug 24-Dec 04, R 08:30-09:45 AM Aug 24-Dec 04
Buchner, M
This game development project course will bring together an interdisciplinary group of advanced undergraduate students in the fields of Electrical Engineering and Computer Science, Art, Music, and English to focus on the design and development of a complete, fully-functioning computer game (as an interdisciplinary team). The student teams are given complete liberty to design their own fully functional games from their original concept to a playable finished product, i.e., from the initial idea through to the wrapped box. The student teams will experience the entire game development cycle as they execute their projects. Responsibilities include creating a game idea, writing a story, developing the artwork, designing characters, implementing music and sound effects, programming and testing the game, and documenting the entire project. Recommended preparation: Junior or Senior standing and consent of instructor.
EECS 393: Software Engineering (100/5756)
MWF 11:30-12:20 PM Aug 24-Dec 04
Podgurski, H
Topics: Introduction to software engineering; software lifecycle models; development team organization and project management; requirements analysis and specification techniques; software design techniques; programming practices; software validation techniques; software maintenance practices; software engineering ethics. Undergraduates work in teams to complete a significant software development project. Graduate students are required to complete a research project. Recommended preparation for EECS 493: EECS 337.
Offered as EECS 393 and EECS 493.
EECS 396: How to Build a Digital City (100/17157)
TR 02:45-04:00 PM Aug 24-Dec 04
Canter, M
This interdisciplinary course will focus on a pilot project being developed in Northern Ohio to innovate workforce development-called the Digital City Project. A software dashboard will be developed which integrates social networking, blogging, live web aspects (video help and webcams) and several new kinds of 'shared servers'.
This dashboard and these servers will be open sourced and serve as a basis for a new kind of 'distributed architecture' software infrastructure. Students will be encouraged to participate in the various associated projects and to contribute to new notions of customization, aggregation and community building (job training, virtuous circle of volunteerism, mobile gateways.)
State of the art 'open stack' standards will be investigated, the history of Digital Cities and dashboards explored and the construction, maintenance and on-going development of the project will be implemented - during the course. Expert guest lecturers and leaders in the area will present, as well as participants and implementers of the project.
Emphasis will be placed on the two-way APls, shared XML object stores and other techniques for implementing open distributed systems.
EECS 396: Research in Bioinformatics (101/17542)
Koyuturk, M
Special topics in areas of computer science.
EECS 397: Applied Circuit Design (101/6704)
TR 02:45-04:00 PM Aug 24-Dec 04
Sears, L
Special topics in electrical, computer, and systems and control engineering.
EECS 397: Electromec Energy Conver (102/16882)
W 09:00-11:20 AM Aug 24-Dec 04
Tsivitse, P
Special topics in electrical, computer, and systems and control engineering.
EECS 398: Engineering Projects I (100/5736)
MW 12:30-01:45 PM Aug 24-Dec 04
Schultz, W
Capstone course for electrical, computer and systems and control engineering seniors. Material from previous and concurrent courses used to solve engineering design problems. Professional engineering topics such as project management, engineering design, communications, and professional ethics. Requirements include periodic reporting of progress, plus a final oral presentation and written report. Scheduled formal project presentations during last week of classes. Recommended preparation: Senior standing.
EECS 399: Engineering Projects II (100/5738)
MW 12:30-01:45 PM Aug 24-Dec 04
Schultz, W
Continuation of EECS 398. Material from previous and concurrent courses applied to engineering design and research. Requirements include periodic reporting of progress, plus a final oral presentation and written report. Recommended preparation: EECS 398 or concurrent enrollment.
EECS 400T: Graduate Teaching I (100/5740)
Zorman, C
EE, CE ANDSY STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 400T: Graduate Teaching I (101/5742)
Rabinovich, M
CS STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 408: Introduction to Linear Systems (100/5746)
TR 04:30-05:45 PM Aug 24-Dec 04
Lin, W
Analysis and design of linear feedback systems using state-space techniques. Review of matrix theory, linearization, transition maps and variations of constants formula, structural properties of state-space models, controllability and observability, realization theory, pole assignment and stabilization, linear quadratic regulator problems, observers, and the separation theorem. Recommended preparation: EECS 304.
EECS 415: Integrated Circuit Technology I (100/5748)
MW 10:00-11:15 AM Aug 24-Dec 04
Rajgopal, S
Taught together with EECS 322.
EECS 419: Computer System Architecture (100/5750)
M 06:00-08:30 PM Aug 24-Dec 04
Papachristou, C
Interaction between computer systems hardware and software. Pipeline techniques - instruction pipelines - arithmetic pipelines. Instruction level parallelism. Cache mechanism. I/O structures. Examples taken from existing computer systems.
EECS 423: Distributed Systems (100/6874)
MWF 10:30-11:20 AM Aug 24-Dec 04
Jin, S
Introduction to distributed systems; system models; network architecture and protocols; interprocess communication; client-server model; group communication; TCP sockets; remote procedure calls; distributed objects and remote invocation; distributed file systems; file service architecture; name services; directory and discovery services; distributed synchronization and coordination; transactions and concurrency control; security; cryptography; replication; distributed multimedia systems. Recommended preparation: EECS 338.
EECS 424: Introduction to Nanotechnology (100/6694)
R 06:00-08:30 PM Aug 24-Dec 04
Zorman, C
An exploration of emerging nanotechnology research. Lectures and class discussion on 1) nanostructures: superlattices, nanowires, nanotubes, quantum dots, nanoparticles, nanocomposites, proteins, bacteria, DNA; 2) nanoscale physical phenomena: mechanical, electrical, chemical, thermal, biological, optical, magnetic; 3) nanofabrication: bottom up and top down methods; 4) characterization: microscopy, property measurement techniques; 5) devices/applications: electronics, sensors, actuators, biomedical, energy conversion. Topics will cover interdisciplinary aspects of the field.
Offered as EECS 424 and EMAE 424.
EECS 425: Computer Networks I (100/5752)
TR 10:00-11:15 AM Aug 24-Dec 04
Rabinovich, M
Taught together with EECS 325.
EECS 426: MOS Integrated Circuit Design (100/5754)
TR 01:15-02:30 PM Aug 24-Dec 04
Mohseni, P
Design of digital and analog MOS integrated circuits. IC fabrication and device models. Logic, memory, and clock generation. Amplifiers, comparators, references, and switched-capacitor circuits. Characterization of circuit performance with/without parasitics using hand analysis and SPICE circuit simulation. Recommended preparation: EECS 344 and EECS 321.
EECS 433: Database Systems (100/5758)
TR 01:15-02:30 PM Aug 24-Dec 04
Ozsoyoglu, G
Basic issues in file processing and database management systems. Physical data organization. Relational databases. Database design. Relational Query Languages, SQL. Query languages. Query optimization. Database integrity and security. Object-oriented databases. Object-oriented Query Languages, OQL. Recommended preparation: EECS 341 and MATH 304.
EECS 435: Data Mining (100/6796)
MWF 11:30-12:20 PM Aug 24-Dec 04
Yang, J
Data Mining is the process of discovering interesting knowledge from large amounts of data stored either in databases, data warehouses, or other information repositories. Topics to be covered includes: Data Warehouse and OLAP technology for data mining, Data Preprocessing, Data Mining Primitives, Languages, and System Architectures, Mining Association Rules from Large Databases, Classification and Prediction, Cluster Analysis, Mining Complex Types of Data, and Applications and Trends in Data Mining. Recommended preparation: EECS 341 or equivalent.
EECS 440: Machine Learning (100/16618)
MW 02:00-03:15 PM Aug 24-Dec 04
Ray, S
Machine learning is a subfield of Artificial Intelligence that is concerned with the design and analysis of algorithms that "learn" and improve with experience, While the broad aim behind research in this area is to build systems that can simulate or even improve on certain aspects of human intelligence, algorithms developed in this area have become very useful in analyzing and predicting the behavior of complex systems. Machine learning algorithms have been used to guide diagnostic systems in medicine, recommend interesting products to customers in e-commerce, play games at human championship levels, and solve many other very complex problems. This course is focused on algorithms for machine learning: their design, analysis and implementation. We will study different learning settings, including supervised, semi-supervised and unsupervised learning. We will study different ways of representing the learning problem, using propositional, multiple-instance and relational representations. We will study the different algorithms that have been developed for these settings, such as decision trees, neural networks, support vector machines, k-means, harmonic functions and Bayesian methods. We will learn about the theoretical tradeoffs in the design of these algorithms, and how to evaluate their behavior in practice. At the end of the course, you should be able to:
*Recognize situations where machine learning algorithms are applicable
*Understand, represent and formulate the learning problem
*Apply the appropriate algorithm(s), or if necessary, design your own, with an understanding of the tradeoffs involved
*Correctly evaluate the behavior of the algorithm when solving the problem.
EECS 458: Introduction to Bioinformatics (100/5762)
MW 09:00-10:15 AM Aug 24-Dec 04
Koyuturk, M
Fundamental algorithmic methods in computational molecular biology and bioinformatics discussed. Sequence analysis, pairwise and multiple alignment, probabilistic models, phylogenetic analysis, folding and structure prediction emphasized. Recommended preparation: EECS 340, EECS 233.
EECS 460: Manufacturing and Automated Systems (100/10426)
This course is concerned with learning the fundamentals of a number of computational methodologies which are used in adaptive parallel distributed information processing. Such methodologies include neural net computing, evolutionary programming, genetic algorithms, fuzzy set theory, and "artificial life." These computational paradigms complement and supplement the traditional practices of pattern recognition and artificial intelligence. Functionalities covered include self-organization, learning a model or supervised learning, optimization, and memorization.
EECS 485: VLSI Systems (100/5764)
W 06:00-08:30 PM Aug 24-Dec 04
Saab, D
Basic MOSFET models, inverters, steering logic, the silicon gate, nMOS process, design rules, basic design structures (e.g., NAND and NOR gates, PLA, ROM, RAM), design methodology and tools (spice, N.mpc, Caesar, mkpla), VLSI technology and system architecture. Requires project and student presentation, laboratory.
EECS 490: Digital Image Processing (100/10429)
TR 04:30-05:45 PM Aug 24-Dec 04
Merat, F
Digital images are introduced as two-dimensional sampled arrays of data. The course begins with one-to-one operations such as image addition and subtraction and image descriptors such as the histogram. Basic filters such as the gradient and Laplacian in the spatial domain are used to enhance images. The 2-D Fourier transform is introduced and frequency domain operations such as high and low-pass filtering are developed. It is shown how filtering techniques can be used to remove noise and other image degradation. The different methods of representing color images are described and fundamental concepts of color image transformations and color image processing are developed. One or more advanced topics such as wavelets, image compression, and pattern recognition will be covered as time permits. Programming assignments using software such as MATLAB will illustrate the application and implementation of digital image processing.
EECS 491: Artificial Intelligence (100/16857)
TR 02:45-04:00 PM Aug 24-Dec 04
Lewicki, M
Artificial intelligence and programming techniques used in design and implementation of intelligent systems. Problem solving and game playing by computer, different representation of problems and games, and their associated solution methods. Knowledge representation: logic, semantic networks frames. Programming in LISP and Prolog.
EECS 493: Software Engineering (100/6700)
MWF 11:30-12:20 PM Aug 24-Dec 04
Podgurski, H
Topics: Introduction to software engineering; software lifecycle models; development team organization and project management; requirements analysis and specification techniques; software design techniques; programming practices; software validation techniques; software maintenance practices; software engineering ethics. Undergraduates work in teams to complete a significant software development project. Graduate students are required to complete a research project. Recommended preparation for EECS 493: EECS 337.
Offered as EECS 393 and EECS 493.
EECS 495: Nanometer VLSI Design (100/5766)
TR 04:30-05:45 PM Aug 24-Dec 04
Bhunia, S
Semiconductor industry has evolved rapidly over the past four decades to meet the increasing demand on computing power by continuous miniaturization of devices. Now we are in the nanometer technology regime with the device dimensions scaled below 100nm. VLSI design using nanometer technologies involves some major challenges. This course will explain all the major challenges associated with nanoscale VLSI design such as dynamic and leakage power, parameter variations, reliability and robustness. The course will present modeling and analysis techniques for timing, power and noise in nanometer era. Finally, the course will cover the circuit/architecture level design solutions for low power, high-performance, testable and robust VLSI system. The techniques will be applicable to design of microprocessor, digital signal processor (DSP) as well as application specific integrated circuits (ASIC). The course includes a project which requires the student to work on a nanometer design issue. Recommended preparation: EECS 426 or EECS 485.
EECS 500: EECS Colloquium (100/5768)
TR 11:30-12:30 PM Aug 24-Dec 04
Zhang, X
Seminars on current topics in Electrical Engineering and Computer Science.
EECS 500T: Graduate Teaching II (100/5770)
Zorman, C
EE, CE, AND SY STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 500T: Graduate Teaching II (101/5772)
Rabinovich, M
CS STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 600: Electromed Energy Conver (100/16883)
W 09:00-11:20 AM Aug 24-Dec 04
Tsivitse, P
EECS 600: Adv Control Energy Systems (101/16884)
M 05:00-07:30 PM Aug 24-Dec 04
Garcia Sanz, M
EECS 600: Computational Biology (102/17050)
W 09:00-11:30 AM Aug 24-Dec 04
Li, J
EECS 600: Special Topics (103/17168)
MWF 11:30-12:20 PM Aug 24-Dec 04
Garverick, S
Class co-taught with EECS 326.
EECS 600T: Graduate Teaching III (100/5776)
Zorman, C
EE, CE, AND SY STUDENTS SHOULD REGISTER FOR THIS SECTION.