EECS Course Descriptions

The following are the descriptions of the courses in the EECS department. The list is periodically revised, at minimum prior to a campus visit (for EE and CompE) by the Accreditation Board for Engineering Technology (ABET) or (for CSc) by the Computer Science Accreditation Board (CSAB). If you find something out of date, please inform the webmaster

Course content changes frequently. Hence, even though the descriptions were accurate at the time the listings were prepared, these descriptions may not be totally accurate for the next time a particular course is taught. The listed instructor may not teach the next offering, and text books may change. Changes may be due to the simple reason that a different professor is teaching the material; these are usually minor changes. More significant changes may happen in the higher-level courses, where advances in science or technology may cause an update of the course content, thus adding or deleting various topics.

"University Fall 96 schedule of course times"

Quick list of courses. Choose/Click on one to jump to that entry

Return to the course index or return to the EECS home page


CSc 11 Introduction to Computing (4)

Fall

1996-97

Catalog Data: Problem solving and programming in C++. Survey of great ideas in computer science. Multi-media computer laboratory. No prerequisites. (ES 2) (ED 2)

Textbook: Blank and Barnes, The Universal Machine: A Multimedia Introduction to Computing. (With CD-ROM).

Reference(s):

Coordinator: G. Blank, Associate Professor

Goals: Emphasis on computer problem solving using a structured or object- oriented approach. Introduction to important concepts in computing. Students should learn to write programs for a variety of applications.

Prerequisite: Departmental approval required (Laboratory size limited). Sign up in Packard Lab 314.

Topics:

  1. Getting started; the idea of the Universal Turing Machine
  2. Problem solving strategies: hacking, analysis or analogy
  3. "Knobby the Knowbot": A gentle introduction to programming
  4. A Taste of C++
  5. Programming languages and translators
  6. Classes as types (using musical, graphical, string and file classes)
  7. Software life cycle, testing and debugging
  8. Boolean expressions and if-else control structures
  9. Peeling the onion: computer architecture
  10. Procedural abstraction through functions
  11. Operating systems
  12. While loops
  13. Computer networks, Internet
  14. Strings and Arrays
  15. Computer security, viruses and encryption
  16. Classes: an inside look
  17. Computing theory, complexity
  18. Object-oriented software
  19. Artificial Intelligence
  20. Social, professional and ethical issues
Laboratory Projects:

Estimated ABET Category Content: Engineering Design: 2 credits; Engineering Science: 2 credits
Estimated CSAB Category Content:

Total Credits: 4

Return to the course index or return to the EECS home page


CSc 17 Structured Programming and Data Structures (4)

Fall/Spring

1996-97

Catalog Data: Algorithmic design and implementation in high level, block-structured, procedure-oriented languages. Recursion, lexical programs, pointers, data structures, and their applications. Previous experience with programming required. (ES 3) (ED 1)

Textbook: Savitch, Turbo Pascal, Benjamin Cummings.

Reference(s):

Coordinator: S. Corbesero, Adjunct Lecturer & EECS Systems Manager, S96

Goals: To teach fluency structured programming using a subset of C++. To teach top-down approach to solution of programming skills, and to teach the skill of writing readable programs.

Prerequisites by topic: Previous experience with programming.

Topics:

  1. Syntax diagrams and sample data types (4 classes)
  2. Procedures and Functions (3 classes)
  3. Arrays (1 class)
  4. Records (2 classes)
  5. Processing text (6 classes)
  6. Recursion (1 classes)
  7. Sets & Scalar Types (2 classes)
  8. Pointers (10 classes)
  9. Graphs & trees (3 classes)
  10. Implementary Recursion (4 classes)
  11. Variant Records (1 class)
  12. Stacks and Queues (3 classes)
  13. Linked Lists (2 classes)
  14. Problem Solving (5 classes)
Estimated ABET Category Content:
Engineering Design: 1 credit
Engineering Science: 3 credits
Laboratory projects (specify number of weeks on each): Six programming assignments

Estimated CSAB Category Content: Computer Science Allocation:

Total Credits: 4

Return to the course index or return to the EECS home page


CSc 109 Systems Programming (3)

Spring

1996-97

Catalog Data: Advanced data structures: hash tables, B-trees, disk files. Design of assemblers, macro-processors, loaders, interpreters, translators, communication protocols. Use of a high-level language to implement sample systems. Prerequisites: CSc 17 and ECE 33. (ES 1.5) (ED 1.5)

Textbook: Carrano, Data Abstractions and Problem Solving with C++, Benjamin Cummings.

Coordinator: S. Corbesero, Adjunct Lecturer & EECS Systems Manager

Goals:

  1. Strengthen fundamental programming skills
  2. Teach intermediate programming concepts
  3. Teach intermediate data structures with practical applications
  4. Introduce the C and C++ programming languages
Prerequisites: CSc 17 and ECE 33
Prerequisites by topic: 1. Fundamental computer principles Operating system usage; Text editing
2. Fundamental programming in a structured language. Syntax and language constructs; Simple data types (integer, real, character, string, pointer); Simple data structures (arrays, linked lists, binary trees, files)
3. Computer architecture. Machine structure and instruction set; Memory organization
Topics:
  1. C programming (12 classes) -Syntax; Compiling, linking, libraries; Strings, arrays, pointers; Input/output; Debugging; Efficiency
  2. Software engineering (3 classes) -Modularity; Program maintenance; Documentation;
  3. Advanced data structures (12 classes) -Dynamic memory allocation; Hash tables; B-Trees; Data files (sequential, random, indexed files, binary)
  4. Systems programming (11 classes) -Assemblers, linkers, loaders; Macro-processors; Interpreters, translators, compilers; Operating system blocks, communications
  5. C++ Language Concepts (2 classes)
  6. Tests (2 classes)
Computer Usage: Five C programming assignments, all targetted towards the design and implementation of complete 8080/8085 assembler. Assignments are to be done using a Unix C compiler.
Laboratory Projects: See Computer Usage.
Estimated ABET Course Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits

Estimated CSAB Category Content:

Return to the course index or return to the EECS home page


CSc 209 Assembly Language Programming (3)

Fall

1996-97

Catalog Data: Design and development of assembly language programs for computer systems. Interactive input-output, handling interrupts, system architecture, hardware-software tradeoffs. Evaluation of program efficiency. Prerequisite: CSc 109. (ES 1) (ED 2)

Textbook: Thorne, Computer Organization and Assembly Language Programming, Addison Wesley.

Reference(s): Borland International, Turbo Debugger, Turbo Assembler.

Coordinator: S. Gulden, Professor

Goals: To teach principles of assembly language and operation system interface

Prerequisite: CSc 109 Systems Programming.

Topics:

  1. Basic Assembly instructions 2 weeks
  2. String Operations 2 weeks
  3. Interrupts and I/O 1 week
  4. MS/PC-DOS functions 3 weeks
  5. MS/PC-DOS low-level structures 1 week
  6. File Manipulations 2 weeks
  7. Disk Programming 2 weeks
  8. Devices and Device Drivers 1 week
Laboratory
Projects:
  1. small programs 7 weeks
  2. large programs 5 weeks
Estimated ABET Course Content:
Engineering Design: 2 credit
Engineering Science: 1 credit
Estimated CSAB Category Content:

Return to the course index or return to the EECS home page


CSc 241 Data Base Systems (3)

Spring

1996-97

Catalog Data: Data base concepts in terms of formal logic. Knowledge representation and deduction. Data base integrity. Query languages. Prerequisite: Return to the course index or return to the EECS home page href="#CSC11"> CSc 11 or approval of the division head. (ES 1.5) (ED 1.5)

Textbook: D. Kroenke, Database Processing Fundamentals, Design, and Implementation, 5th Edition, Prentice Hall.

Reference(s):

Coordinator: D. J. Hillman, Professor

Goals: To establish a solid understanding of the fundamentals of database technology; to teach correct principles of relational database design; to acquaint students with the use of database management systems; to show the relationships of database systems to other areas of computer science, especially AI.

Prerequisites by topic: CSc 11 Introduction to Structured Programming: 1. data structures, 2. pointers, 3. hashing structures

Topics:

  1. Architecture of database systems: 2 hours
  2. Internal level: 2 hours
  3. QBE based systems: 6 hours
  4. Data Definition: 3 hours
  5. Data Manipulation with SQL: 9 hours
  6. Relational data structure: 2 hours
  7. Integrity: 2 hours
  8. Relational algebra: 2 hours
  9. Relational calculus: 2 hours
  10. Normalization: 3 hours
  11. Data decomposition techniques: 3 hours
  12. Functional dependencies and multivalued dependencies: 3 hours
  13. Developing an application: 3 hours
Laboratory
projects: 1. Develop an oracle or paradox implementation of several database examples in the course text (2 weeks)
2. Design, develop, and implement a small database system (4 weeks)
Estimated ABET Category Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits
Estimate CSAB Category Content: Computer Science Allocation

Return to the course index or return to the EECS home page


CSc/Math 261 Discrete Structures (3)

Spring

1996-97

Catalog Data: Topics in discrete structures chosen for their applicability to computer science and engineering. Sets, propositions, induction, recursion; combinatorics; binary relations and functions; ordering, lattices and Boolean algebra; graphs and trees; groups and homomorphisms. Various applications. Prerequisites: Math 21 and either CSc 11 or Engr. 1. (ES 2) (ED 1)

Textbook: K. Bogart, Discrete Mathematics, 1st Edition, D. D. Heath Publishers.

Coordinator: K. Tzeng, Professor; F96 - taught by Math Dept.

Goals: To give the students majoring in computer science and computer engineering a mathematical foundation for computer science and engineering topics; to further develop their mathematical maturity in relating abstract concepts to practical applications.

Prerequisites by topic: Math 21 Analytical Geometry & Calculus and either CSc 11 (Introduction to Structured Programming or Engr 1 Engineering Computations: 1. calculus, 2. data structures, 3. algorithms

Topics:

  1. Sets, propositions, induction, recursion (6 classes)(1 week design)
  2. Elementary combinatorics (5 classes)
  3. Binary relations, functions, posets, lattices, Boolean algebra (6 classes)(2 weeks design)
  4. Algebraic systems, groups, homomorphisms (4 classes)(1 week design)
  5. Graphs and trees (2 classes)
  6. Review, quizzes and examinations (5 classes)
Estimated ABET Category Content:
Engineering Design: 1 credit
Engineering Science: 2 credits
Laboratory projects: None
Estimate CSAB Category Content: Computer Science Allocation

Return to the course index or return to the EECS home page


CSc 262 Programming Languages (3)

Spring

1996-97

Catalog Data: Use, structure and implementation of several programming languages.

Prerequisite: CSc 17. (ES 1.5) (ED 1.5)

Textbook: R. Sethi, Programming Languages: Concepts and Constructs, Addison Wesley.

Reference:

Coordinator: T. Boult, Associate Professor; F96 - B. Yener, Assistant Professor

Goals: To teach the concepts underlying the design, implementation, and use of programming languages. These are illustrated with exercises in programming in several languages.

Prerequisites by topic: CSc 17 (Structured Programming & Data Structures):

1. records, 2. pointers, 3. recursion.
Topics:

  1. FORTRAN: Data Types, Arrays, Expressions (6 hours)
  2. ALGOL: Control Structures, Scoping (3 hours)
  3. Backus-Naur Form Notes (2 hours)
  4. Parameter Passing Notes (3 hours)
  5. Pascal: Data Structures, Named Types (2 hours)
  6. C: OS Control, Dynamic Memory Management (5 hours)
  7. Ada: Modularity, Data Abstraction, Concurrency (6 hours)
  8. LISP: List Processing, Functional Programming (6 hours)
  9. Prolog/OPS5: Non-procedural, Logic Programming
  10. Smalltalk/C++: Object-oriented Programming (4 hours)
  11. Forth: Stack-oriented language (3 hours)
Laboratory projects: Programs in each of the following languages:
FORTRAN, C, ADA, LISP, PROLOG, and C++. Each program requires 2 weeks.
Estimated ABET Category Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits
Estimated CSAB Category Content:

Return to the course index or return to the EECS home page


CSc 271 Programming in C and the Unix Environment (3)

Fall

1996-97

Catalog Data: C language syntax and structure. C programming techniques. Emphasis on structured design for medium to large programs. Unix operating system fundamentals. Unix utilities for program development, text processing, and communications. Prerequisites: ECE 33 and CSc 17. (ES 2) (ED 1)

Textbook: Horspool/Nigel, The Berkeley UNIX Environment. 2nd Edition, Prentice-Hall.

Reference: Brian Kernighan and Dennis Ritchie, The Language, Prentice- Hall Inc., 1978.

Coordinator: S. G. Corbesero, Adjunct Lecturer and EECS Systems Manager.

Goals: As an advanced course in programming, CSC 271 is designed to give students exposure to the C programming language, the Unix operating system, and large program structure and design.

Prerequisites by topic :

  1. Fundamental computer principles. Operating system usage; Remote machine access.
  2. Fundamental programming in a structured language. Syntax and basic language constructs; Simple data types (integer, real, character, string, pointer); Simple data structures. (arrays, linked lists, trees, hash tables, files)
  3. Computer architecture. (memory, registers, execution, storage devices)
Topics:
  1. C programming (18 classes):Syntax, Compiling, linking, libraries, Strings, arrays, pointers, Input/output, Debugging, Efficiency, portability, hardware utilization
  2. Unix concepts. (14 classes): Basic system usage, including text editing., Shell programming. Input/output (redirection, pipes), Multi- processing., Standard utilities
  3. Program development (7 classes): Large program design., Programming utilities
  4. Miscellaneous (3 classes): Communications, Tests
Computer Usage:
  1. Five (5) C programming assignments covering nearly all of the above topics, which must be done on the Sun Sparc workstations. Note: The students are encouraged to use a PC- based compiler for development.
  2. There are 2 assignments dealing with Unix Shell programming and system utility usage.
Laboratory projects (specify number of weeks on each):
Estimated ABET Category Content:
Engineering Design: 1 credit
Engineering Science: 2 credits
Estimate CSAB Category Content: Computer Science Allocation Total Credits: 3

Return to the course index or return to the EECS home page


CSc 302 Compiler Design (3)

Spring

1996-97

Catalog Data: Principles of artificial language description and design. Sentence parsing techniques, including operator-precedence, bounded-context, and syntax-directed recognition schemes. The semantic problem as it relates to compilers and interpreters. Dynamic storage allocation, table grammars, code optimization, compiler-writing languages. Prerequisite: CSC 109 and CSc 318. (ES 1.5) (ED 1.5)

Textbook: J. Elder, Compiler Construction, Prentice Hall

Coordinator: S. Gulden, Professor

Goals:

  1. To understand the structure of a compiler; in particular the lexical analyzer the lexical analyzer, parser and code generator
  2. To obtain hands-on experience in construction of a compiler for a Pascal-like language
  3. To experiment with data structures and control structures

Prerequisites by topic CSc 109 Data Structures, CSc 318 Automata and Formal Grammars:
  1. data structures
  2. algorithms
  3. formal grammars
  4. parsing

Topics:
  1. Review of formal languages (8 hours)
  2. First sets, follow sets, live symbols in CFG (4 hours)
  3. Top down and bottom up parsing (7 hours)
  4. Recursive descent parsing (6 hours)
  5. Context free error handling and recovery mechanisms; (3 hours)
  6. Symbol table, nested blocks, structured data types (8 hours)
  7. Code generation and stack machines (6 hours)

Laboratory
Projects: Programming assignments on all of the above topics to construct parts of a compiler incrementally (14 weeks).

Estimated ABET Category Content:
Engineering Design: l.5 credits
Engineering Science: l.5 credits
Estimate CSAB Category Content: Computer Science Allocation

Total Credits: 3

Return to the course index or return to the EECS home page


CSc 303 Operating System Design (3)

Fall

1996-97

Catalog Data: Assemblers, executive systems, multiprogramming, time-sharing. Concurrent tasks, deadlocks, resource sharing. Construction of a small operating system. Prerequisites: CSc 109 and ECE 201.

Textbooks: F95 - Galvin/Silberschatz, Operating Systems Concepts, Addison Wesley.

References:

Coordinator: F96 - R. Wallace, Assistant Professor

Goals: To become aware of some of the difficulties which arise in the designing of an operating system, and examine some of the possible approaches to their solution.

Prerequisites by topic: Familiarity with computer organization on the assembly language level.

Topics:

  1. Process Concept/CPU Scheduling (8 hours)
  2. Memory Management (8 hours)
  3. Secondary Storage Management (6 hours)
  4. File Systems (3 hours)
  5. Synchronization/Multiprocessing (10 hours)
  6. Deadlock (6 hours)

Laboratory
projects:
  1. Simulate multi-level queue CPU scheduling and test (3.5 weeks)
  2. Simulate and test performance of various techniques for page replacement (3 weeks)
Estimated ABET Category Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits
Estimate CSAB Category Content: Computer Science Allocation Total Credits: 3

Return to the course index or return to the EECS home page


CSc 313 Computer Graphics (3)

1996-97

Catalog Data: General principles; algorithms; display devices and organization; methods of interaction; design of visual interactive systems. Prerequisite: CSc 109. (ES 1.5) (ED 1.5)

Textbook: V. Foley, Computer Graphics, 2nd Edition, Addison Wesley Publishers.

References: B. Rogers, D. F. and Adams, J. A. "Mathematical Elements for Computer Graphics", McGraw-Hill.

C. Mortenson, M. "Geometric Modelling", Wiley.

D. Foley, vanDam, Feiner, Highes, "Computer Graphics", Addison Wesley.

Coordinator: T. Boult, Associate Professor

Goals: To understand the principles behind graphics algorithms, and to know some commonly used algorithms; to know how to implement an algorithm in a computer.

Prerequisites by topic: Advanced data structures: B-trees, disk files.

Topics:

  1. Description of subject (Time: 1 hour, Reference: A)
  2. Review of graphics peripheral hardware (1 hour, A)
  3. Raster scan graphics. Scan conversion. Encoding.
  4. Filling Antialiasing (3 hours, A)
  5. 2D and 3D transformations. Homogenous coordinates (3 hours, B, D)
  6. Representations of lines and planes (1 hour)
  7. Discussion of standards, interleaved in lectures (2 hours)
  8. Clipping and shielding (4 hours, A)
  9. Plane and space curves. B splines,
  10. Bezier splines, B splines (8 hours, B,C)
  11. Plane graphs (1 hour)
  12. Representations of solid bodies (6 hours, C,D)
  13. Hidden lines and surfaces (5 hours, A)
  14. Color, rendering, shading (5 hours, A)
  15. Reserve (2 hours)
Laboratory Projects:
Estimated ABET Category Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits
Estimate CSAB Category Content: Computer Science Allocation Total Credits: 3

Return to the course index or return to the EECS home page


CSc 318 Automata and Formal Grammars (3)

Fall

1996-97

Catalog Data: Formal languages, finite automata, context-free grammars, Turing machines, complexity theory, undecidability. Prerequisite: CSc 261. (ES 3) (ED 0)

Textbook: Derick Wood, Theory of Computations, 1987. John Wiley & Sons

Reference:

Coordinator: E. Kay, Professor; F96 - S. Gulden, Professor

Goals: Understand underlying structure of parsing

Prerequisites by topic: CSc 261 Discrete Structures

Topics:

  1. Review of set theory, counting, induction. Finite state automata, regular expressions, and their equivalence. Context free grammars. Push-down automata.

Laboratory Projects:

Estimated ABET Category Content:
Engineering Design: 0
Engineering Science: 3
Estimate CSAB Category Content: Computer Science Allocation

Total Credits: 3

Return to the course index or return to the EECS home page


CSc 327 Artificial Intelligence Theory and Practice (3)

Fall

1996-97

Catalog Data: Survey of Foundations: heuristic search, knowledge representation, general problem solvers, probabilistic reasoning, connectionism. Survey of applications and research issues, such as knowledge engineering, natural language processing, intelligent robots, cognitive science. Use of export system and neural net software to develop rule-based and connectionist systems. (ES 2) (ED 1)

Textbook: E. Rich & Kevin Knight, Artificial Intelligence, 2nd Ed., McGraw-Hill, 1991.

Coordinator: G. Blank, Associate Professor

Goals: Through study of types of AI systems and particular AI systems successful in practice or experimentally, to gain understanding of why AI systems (especially expert systems and natural language understanding systems) are designed as they are, and what the open questions and state-of-the-art answers are about how to design them.

Prerequisites: None

Goals: Study of theory (heuristic research, knowledge representation, problem solving, probabilistic reasoning, connectionism) and practice (expert systems, natural language processing, intelligent robots) of AI. Critique of foundations, such as physical symbol-hypothesis and search. Develop systems with an expert system shell and a natural language processor.

Topics:
See syllabus.

Laboratory Projects

  1. rule-based expert system with VP-expert shell
  2. confidence factors with VP-expert shell
  3. natural language processing with Register Vector Grammar

Estimated ABET Category Content:

Engineering Design: 1 credit

Engineering Science: 2 credits Estimate CSAB Category Content: Computer Science Allocation:

Total Credits: 3

Return to the course index or return to the EECS home page


CSc 330 Advanced Software Engineering Tools (3)

1996-97

Catalog Data: CASE tools; portability and reusability of software; experimental methods in software engineering; automatic programming. Prerequisite: ECE 116. (ES 1) (ED 2)

Textbook: N/A

Reference(s): IBM Visual Age for Smalltalk

Coordinator: D. J. Hillman, Professor

Goals: To acquaint students with the use of advanced GUI development and application development tools featuring reusable software

Prerequisite: ECE 116

Topics:

  1. Visual programming
  2. Object orientation
  3. Environment neutrality

Laboratory Projects:

Visual programs

Estimated ABET Category Content:

Engineering Design: 2 credits

Engineering Science: 1 credit

Estimate CSAB Category Content: Computer Science Allocation:

Total Credits: 3

Return to the course index or return to the EECS home page


CSc 340 Design & Analysis of Algorithms 3)

Spring

1996-97

Catalog Data: Algorithms for searching, sorting, counting, graph and tree manipulation, matrix multiplication, scheduling, pattern matching, fast Fourier transform. Minimum time and space requirements are established, leading to the notion of abstract complexity measures and the intrinsic complexity of algorithms and problems, in terms of asymptotic behavior. The question of the correctness of algorithms is also treated. Prerequisite: Math 23 or consent of instructor. (ES 3) (ED 0)

Textbook: S. Basse, Computer Algorithms: Introduction to Design and Analysis, Addison Wesley

Coordinator: E. Santos, Assistant Professor

Goals: To give students an understanding of common problem-solving techniques (such as divide and conquer, dynamic programming, local optimization, approximation) as well as the ability to evaluate the time and space requirements of implementation.

Prerequisites: As stated in catalog description above.

Topics:

  1. Asymptotic Analysis: 4 hours
  2. Greedy Algorithms: 6 hours
  3. Graph Algorithms: 5 hours
  4. Dynamic Programming: 6 hours
  5. Divide and Conquer: 6 hours
  6. Complexity and Polynomial Reducibility: 6 hours
  7. Heuristics: 6 hours
Laboratory Projects:

Optional programming problems to implement the algorithms.

Estimated ABET Category Content:

Engineering Design: 0 credits

Engineering Science: 3 credits

Estimate CSAB Category Content: Computer Science Allocation

Total Credits: 3

Return to the course index or return to the EECS home page


CSc 365 Natural Language Processing (3)

Fall

1996-97

Catalog Data: Computer analysis of human languages, such as English. Syntactic parsing and semantic interpretation of sentences; morphological recognition of words and idioms. Applications of natural language processing such as database queries. Prerequisite: CSc 262 or equivalent familiarity with Prolog, Lisp. (ES 2) (ED 1)

Textbook: James Allen, Natural Language Understanding, 2nd Ed., 1988, Benjamin Cummings.

Reference(s): G. D. Blank, A Finite and Real-Time Processor for Natural Language, Communications of the ACM, Oct. 1989, Vol. 32 No. 10.

Coordinator: G. Blank, Associate Professor

Goals: Appreciation of theoretical issues & quandaries of natural language, and practical experience implementing systems near the state of the art.

Prerequisites: CSc 262 Advanced Programming

Topics:

  1. Foundations: 2
  2. 1
  3. Structures
  4. design
  5. of programming languages
  6. elements and Architecture
  7. Implications
ADVANCED Total Credits: 3

Return to the course index or return to the EECS home page


CSc 262 Programming Languages (3)

Spring

1996-97

Catalog Data: Use, structure and implementation of several programming languages.

Prerequisite: CSc 17. (ES 1.5) (ED 1.5)

Textbook: R. Sethi, Programming Languages: Concepts and Constructs, Addison Wesley.

Reference:

Coordinator: T. Boult, Associate Professor; F96 - B. Yener, Assistant Professor

Goals: To teach the concepts underlying the design, implementation, and use of programming languages. These are illustrated with exercises in programming in several languages.

Prerequisites by topic: CSc 17 (Structured Programming & Data Structures):

1. records, 2. pointers, 3. recursion.
Topics:

  1. FORTRAN: Data Types, Arrays, Expressions (6 hours
  2. ALGOL: Control Structures, Scoping (3 hours
  3. Backus-Naur Form Notes (2 hours
  4. Parameter Passing Notes (3 hours
  5. Pascal: Data Structures, Named Types (2 hours
  6. C: OS Control, Dynamic Memory Management (5 hours
  7. Ada: Modularity, Data Abstraction, Concurrency (6 hours
  8. LISP: List Processing, Functional Programming (6 hours
  9. Prolog/OPS5: Non-procedural, Logic Programming
  10. Smalltalk/C++: Object-oriented Programming (4 hours
  11. Forth: Stack-oriented language (3 hours
Laboratory projects: Programs in each of the following languages:
FORTRAN, C, ADA, LISP, PROLOG, and C++. Each program requires 2 weeks.
Estimated ABET Category Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits
Estimated CSAB Category Content:

Return to the course index or return to the EECS home page


CSc 271 Programming in C and the Unix Environment (3)

Fall

1996-97

Catalog Data: C language syntax and structure. C programming techniques. Emphasis on structured design for medium to large programs. Unix operating system fundamentals. Unix utilities for program development, text processing, and communications. Prerequisites: ECE 33 and CSc 17. (ES 2) (ED 1)

Textbook: Horspool/Nigel, The Berkeley UNIX Environment. 2nd Edition, Prentice-Hall.

Reference: Brian Kernighan and Dennis Ritchie, The C Programming Language, Prentice- Hall Inc., 1978.

Coordinator: S. G. Corbesero, Adjunct Lecturer and EECS Systems Manager.

Goals: As an advanced course in programming, CSC 271 is designed to give students exposure to the C programming language, the Unix operating system, and large program structure and design.

Prerequisites by topic : 1. Fundamental computer principles.
Operating system usage; Remote machine access.
2. Fundamental programming in a structured language.
Syntax and basic language constructs; Simple data types (integer, real, character, string, pointer); Simple data structures. (arrays, linked lists, trees, hash tables, files)
3. Computer architecture. (memory, registers, execution, storage devices)
Topics:

  1. C programming (18 classes):Syntax, Compiling, linking, libraries, Strings, arrays, pointers, Input/output, Debugging, Efficiency, portability, hardware utilization
  2. Unix concepts. (14 classes): Basic system usage, including text editing., Shell programming. Input/output (redirection, pipes), Multi- processing., Standard utilities
  3. Program development (7 classes): Large program design., Programming utilities
  4. Miscellaneous (3 classes): Communications, Tests
Computer Usage:
1. Five (5) C programming assignments covering nearly all of the above topics, which must be done on the Sun Sparc workstations. Note: The students are encouraged to use a PC- based compiler for development.
2. There are 2 assignments dealing with Unix Shell programming and system utility usage.
Laboratory projects (specify number of weeks on each):
Estimated ABET Category Content:
Engineering Design: 1 credit
Engineering Science: 2 credits
Estimate CSAB Category Content: Computer Science Allocation Total Credits: 3

Return to the course index or return to the EECS home page


CSc 302 Compiler Design (3)

Spring

1996-97

Catalog Data: Principles of artificial language description and design. Sentence parsing techniques, including operator-precedence, bounded-context, and syntax-directed recognition schemes. The semantic problem as it relates to compilers and interpreters. Dynamic storage allocation, table grammars, code optimization, compiler-writing languages. Prerequisite: CSC 109 and CSc 318. (ES 1.5) (ED 1.5)

Textbook: J. Elder, Compiler Construction, Prentice Hall

Coordinator: S. Gulden, Professor

Goals:

  1. To understand the structure of a compiler; in particular the lexical analyzer the lexical analyzer, parser and code generator
  2. To obtain hands-on experience in construction of a compiler for a Pascal-like language
  3. To experiment with data structures and control structures
Prerequisites by topic CSc 109 Data Structures, CSc 318 Automata and Formal Grammars:
1. data structures; 2. algorithms; 3. formal grammars; 4.parsing
Topics:
  1. Review of formal languages (8 hours
  2. First sets, follow sets, live symbols in CFG (4 hours
  3. Top down and bottom up parsing (7 hours
  4. Recursive descent parsing (6 hours
  5. Context free error handling and recovery mechanisms; (3 hours
  6. Symbol table, nested blocks, structured data types (8 hours
  7. Code generation and stack machines (6 hours
Laboratory
Projects: Programming assignments on all of the above topics to construct parts of a compiler incrementally (14 weeks).
Estimated ABET Category Content:
Engineering Design: l.5 credits
Engineering Science: l.5 credits
Estimate CSAB Category Content: Computer Science Allocation

Return to the course index or return to the EECS home page


CSc 303 Operating System Design (3)

Fall

1996-97

Catalog Data: Assemblers, executive systems, multiprogramming, time-sharing. Concurrent tasks, deadlocks, resource sharing. Construction of a small operating system. Prerequisites: CSc 109 and ECE 201.

Textbooks: F95 - Galvin/Silberschatz, Operating Systems Concepts, Addison Wesley.

References:

Coordinator: F96 - R. Wallace, Assistant Professor

Goals: To become aware of some of the difficulties which arise in the designing of an operating system, and examine some of the possible approaches to their solution.

Prerequisites by topic: Familiarity with computer organization on the assembly language level.

Topics:

  1. Process Concept/CPU Scheduling (8 hours)
  2. Memory Management (8 hours)
  3. Secondary Storage Management (6 hours)
  4. File Systems (3 hours)
  5. Synchronization/Multiprocessing (10 hours)
  6. Deadlock (6 hours)
Laboratory
projects: 1. Simulate multi-level queue CPU scheduling and test (3.5 weeks)
2. Simulate and test performance of various techniques for page replacement (3 weeks)
Estimated ABET Category Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits
Estimate CSAB Category Content: Computer Science Allocation

Return to the course index or return to the EECS home page


CSc 313 Computer Graphics (3)

1996-97

Catalog Data: General principles; algorithms; display devices and organization; methods of interaction; design of visual interactive systems. Prerequisite: CSc 109. (ES 1.5) (ED 1.5)

Textbook: V. Foley, Computer Graphics, 2nd Edition, Addison Wesley Publishers.

References: B. Rogers, D. F. and Adams, J. A. "Mathematical Elements for Computer Graphics", McGraw-Hill.

C. Mortenson, M. "Geometric Modelling", Wiley.

D. Foley, vanDam, Feiner, Highes, "Computer Graphics", Addison Wesley.

Coordinator: T. Boult, Associate Professor

Goals: To understand the principles behind graphics algorithms, and to know some commonly used algorithms; to know how to implement an algorithm in a computer.

Prerequisites by topic: Advanced data structures: B-trees, disk files.
Topics:

  1. Description of subject (Time: 1 hour, Reference: A)
  2. Review of graphics peripheral hardware (1 hour, A)
  3. Raster scan graphics. Scan conversion. Encoding.
  4. Filling Antialiasing (3 hours, A)
  5. 2D and 3D transformations. Homogenous coordinates (3 hours, B, D)
  6. Representations of lines and planes (1 hour)
  7. Discussion of standards, interleaved in lectures (2 hours)
  8. Clipping and shielding (4 hours, A)
  9. Plane and space curves. B splines,
  10. Bezier splines, B splines (8 hours, B,C)
  11. Plane graphs (1 hour)
  12. Representations of solid bodies (6 hours, C,D)
  13. Hidden lines and surfaces (5 hours, A)
  14. Color, rendering, shading (5 hours, A)
  15. Reserve (2 hours)
Laboratory Projects:
Estimated ABET Category Content:
Engineering Design: 1.5 credits
Engineering Science: 1.5 credits
Estimate CSAB Category Content: Computer Science Allocation

Return to the course index or return to the EECS home page


CSc 318 Automata and Formal Grammars (3)

Fall

1996-97

Catalog Data: Formal languages, finite automata, context-free grammars, Turing machines, complexity theory, undecidability. Prerequisite: CSc 261. (ES 3) (ED 0)

Textbook: Derick Wood, Theory of Computations, 1987. John Wiley & Sons

Reference:

Coordinator: E. Kay, Professor; F96 - S. Gulden, Professor

Goals: Understand underlying structure of parsing

Prerequisites by topic: CSc 261 Discrete Structures

Topics:

  1. Review of set theory, counting, induction. Finite state automata, regular expressions, and their equivalence. Context free grammars. Push-down automata.
Laboratory Projects:

Estimated ABET Category Content:
Engineering Design: 0
Engineering Science: 3
Estimate CSAB Category Content: Computer Science Allocation

Return to the course index or return to the EECS home page


CSc 327 Artificial Intelligence Theory and Practice (3)

Fall

1996-97

Catalog Data: Survey of Foundations: heuristic search, knowledge representation, general problem solvers, probabilistic reasoning, connectionism. Survey of applications and research issues, such as knowledge engineering, natural language processing, intelligent robots, cognitive science. Use of export system and neural net software to develop rule-based and connectionist systems. (ES 2) (ED 1)

Textbook: E. Rich & Kevin Knight, Artificial Intelligence, 2nd Ed., McGraw-Hill, 1991.

Coordinator: G. Blank, Associate Professor

Goals: Through study of types of AI systems and particular AI systems successful in practice or experimentally, to gain understanding of why AI systems (especially expert systems and natural language understanding systems) are designed as they are, and what the open questions and state-of-the-art answers are about how to design them.

Prerequisites: None

Goals: Study of theory (heuristic research, knowledge representation, problem solving, probabilistic reasoning, connectionism) and practice (expert systems, natural language processing, intelligent robots) of AI. Critique of foundations, such as physical symbol-hypothesis and search. Develop systems with an expert system shell and a natural language processor.

Topics:
See syllabus.

Laboratory Projects

  1. rule-based expert system with VP-expert shell
  2. confidence factors with VP-expert shell
  3. natural language processing with Register Vector Grammar
Estimated ABET Category Content:

Engineering Design: 1 credit

Engineering Science: 2 credits Estimate CSAB Category Content: Computer Science Allocation:

Return to the course index or return to the EECS home page


CSc 330 Advanced Software Engineering Tools (3)

1996-97

Catalog Data: CASE tools; portability and reusability of software; experimental methods in software engineering; automatic programming. Prerequisite: ECE 116. (ES 1) (ED 2)

Textbook: N/A

Reference(s): IBM Visual Age for Smalltalk

Coordinator: D. J. Hillman, Professor

Goals: To acquaint students with the use of advanced GUI development and application development tools featuring reusable software

Prerequisite: ECE 116

Topics:

  1. Visual programming
  2. Object orientation
  3. Environment neutrality
Laboratory Projects:

Visual programs

Estimated ABET Category Content:

Engineering Design: 2 credits

Engineering Science: 1 credit

Estimate CSAB Category Content: Computer Science Allocation:

Return to the course index or return to the EECS home page


CSc 340 Design & Analysis of Algorithms 3)

Spring

1996-97

Catalog Data: Algorithms for searching, sorting, counting, graph and tree manipulation, matrix multiplication, scheduling, pattern matching, fast Fourier transform. Minimum time and space requirements are established, leading to the notion of abstract complexity measures and the intrinsic complexity of algorithms and problems, in terms of asymptotic behavior. The question of the correctness of algorithms is also treated. Prerequisite: Math 23 or consent of instructor. (ES 3) (ED 0)

Textbook: S. Basse, Computer Algorithms: Introduction to Design and Analysis, Addison Wesley

Coordinator: E. Santos, Assistant Professor

Goals: To give students an understanding of common problem-solving techniques (such as divide and conquer, dynamic programming, local optimization, approximation) as well as the ability to evaluate the time and space requirements of implementation.

Prerequisites: As stated in catalog description above.

Topics:

  1. Asymptotic Analysis: 4 hours
  2. Greedy Algorithms: 6 hours
  3. Graph Algorithms: 5 hours
  4. Dynamic Programming: 6 hours
  5. Divide and Conquer: 6 hours
  6. Complexity and Polynomial Reducibility: 6 hours
  7. Heuristics: 6 hours
Laboratory Projects:

Optional programming problems to implement the algorithms.

Estimated ABET Category Content:

Engineering Design: 0 credits

Engineering Science: 3 credits

Estimate CSAB Category Content: Computer Science Allocation

Return to the course index or return to the EECS home page


CSc 365 Natural Language Processing (3)

Fall

1996-97

Catalog Data: Computer analysis of human languages, such as English. Syntactic parsing and semantic interpretation of sentences; morphological recognition of words and idioms. Applications of natural language processing such as database queries. Prerequisite: CSc 262 or equivalent familiarity with Prolog, Lisp. (ES 2) (ED 1)

Textbook: James Allen, Natural Language Understanding, 2nd Ed., 1988, Benjamin Cummings.

Reference(s): G. D. Blank, A Finite and Real-Time Processor for Natural Language, Communications of the ACM, Oct. 1989, Vol. 32 No. 10.

Coordinator: G. Blank, Associate Professor

Goals: Appreciation of theoretical issues & quandaries of natural language, and practical experience implementing systems near the state of the art.

Prerequisites: CSc 262 Advanced Programming

Topics: See caralog description above. Laboratory projects (specify number of weeks on each):

Context-Free Recognition: 3 weeks

Augmented Transition Networks: 3 weeks

Register Vector Grammar: 3 weeks

Semantics: 4 weeks

Estimated ABET Category Content:

Engineering Design: 1 credit

Engineering Science: 2 credits

Estimate CSAB Category Content: Computer Science Allocation

  • Theoretical Foundations: 1
  • Algorithms: 1
  • Data Structures: 1
  • Software design:
  • Concept of programming languages:
  • Computer elements and Architecture:
  • Other Allocation (Specify) Total Credits: 3

    Return to the course index or return to the EECS home page


    CSc 368 Artificial Intelligence Programming (3)

    Spring

    1996-97

    Catalog Data: The use of LISP and related languages to simulate intelligence on computers. Prerequisite: CSc 262 or approval of the division head. (ES 2) (ED 1)

    Textbook: Winston & Horn, LISP, third edition, 1989. Addison-Wesley

    Ginsberg, M., Essentials of Artificial Intelligence, Morgan-Kaufmann

    Reference:

    Coordinator: S. Gulden, Professor

    Goals: Teaching some of the programming techniques used in AI.

    Prerequisites by topic: CSc 262 Programming Languages:

    1. Algorithms

    2. Concepts of programming languages

    Topics:

    1. Fundamentals of Common LISP (10 hours)
    2. Property Lists (3 hours)
    3. Pattern matching (6 hours)
    4. Production Systems (5 hours )
    5. Forward and Backward Chaining (4 hours)
    6. Elementary Language Processing Systems (4 hours)
    7. Search Methods (8)
    8. Natural Language Semantics (2 hours)
    Laboratory projects (Major programming assignments):
    1. Basic Lisp Programs (2 weeks)
    2. Advanced techniques (2 weeks)
    3. Derivative and Algebraic Manipulation (3 weeks)
    4. String Sorting (2 weeks)
    5. Search Methods (2 weeks)
    Estimated ABET Category Content:

    Engineering Design: 1 credit

    Engineering Science: 2 credits

    Estimate CSAB Category Content: Computer Science Allocation

    Return to the course index or return to the EECS home page


    CSc 375 Hardware and Software Topics in Parallel Computing (3)

    Spring

    1996-97

    Catalog Data: Introduction to parallel computing, covering both hardware and software topics such as interconnection networks, SIMD, MIMD, and hybrid parallel architectures, parallel languages, parallelizing compiler techniques and operating systems for parallel computers. Prerequisite: ECE 201 and CSc 303 previously or concurrently, or consent of the instructor. (ES 1.5) (ED 1.5)

    Prerequisites: ECE 201 and CSc 303 previously or concurrently, or consent of the instructor.

    Textbook: Almasi & Gottlieb, Highly Parallel Computing, 1989, Benjamin Cummings.

    Coordinator:

    Goals: This senior level class is designed to introduce the students to architectural and software issues in parallel processing.

    Prerequisite: CSc 303 previously or concurrently, or consent of instructor.

    Topics:

    1. Introduction to parallel processing (3 hours)
    2. Interconnection networks (6 hours)
    3. SIMD architectures (4 hours)
    4. MIMD architectures (4 hours)
    5. Hybrid SIMD/MIMD (2 hours)
    6. Constructs for parallel execution (7 hours)
    7. Parallelizing sequential code (4 hours)
    8. Operating systems for parallel computers (4 hours)
    9. Student presentations (6 hours)
    Laboratory Projects:

    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 1.5 credits

    Estimate CSAB Category Content: Computer Science Allocation

    Return to the course index or return to the EECS home page


    CSc 376 Parallel Algorithms (3)

    Fall

    1996-97

    Catalog Data: Parallel algorithms for searching, sorting, matrix processing, network optimization, and selected graph problems. Implementation and efficiency measures of parallel algorithms also considered. Prerequisite: Return to the course index or return to the EECS home page href="#CSC375"> CSc 375 or CSc 340 or consent of instructor. (ES 1) (ED 2)

    Textbook: Akl, Selim, The Design and Analysis of Parallel Algorithms, 1st edition, 1989, Prentice-Hall.

    Reference(s):

    Coordinator:

    Goals: To introduce the student to the paradigm of parallel computation; to investigate the approaches used to exploit parallelism in specific applications such as sorting, searching, matrix multiplication, FFT.

    Prerequisite: As stated in catalog description above.

    Topics:

    1. Models of Computation - 4 hours
    2. Selection - 5 hours
    3. Merging - 5 hours
    4. Sorting - 6 hours
    5. Searching - 6 hours
    6. Numerical Problems - 6 hours
    7. Graph Algorithms - 4 hours
    8. Complexity Issues - 4 hours
    Laboratory Projects: None

    Estimated ABET Category Content:

    Engineering Design: 2 credits

    Engineering Science: 1 credit

    Estimate CSAB Category Content: Engineering Science: 3 credits

    Computer Science Graduate Courses

    CSc 403. Theory of Operating Systems (3)

    Principles of operating systems with emphasis on hardware and software requirements and design methodologies for multi-programming systems. Global topics include the related areas of process management, resource management, and file systems. Prerequisite: CSc 303 or equivalent.

    CSc 409. Theory of Automata and Formal Grammars (3)

    Finite automata. Pushdown automata. Relationship to definition and parsing of formal grammars. Prerequisite: CSc 318.

    CSc 411. Advanced Programming Techniques (3)

    spring

    Deeper study of structured programming, data structures, back-tracking, recursion. Applications of basic concepts of automata theory and formal language theory. Fundamental principles of "large program" design. Several major programming assignments using Pascal. Prerequisite: 17 or consent of the division head. Gulden

    Return to the course index or return to the EECS home page

    CSc 412. Object Oriented Programming (3)

    Objects, messages, classes and inheritance; the model-view-controller paradigm. Prototyping the user interface. Kay

    CSc 413. Robotics and Intelligent Machines (3)

    Software aspects of robot and intelligent machine controls. Fundamental control issues through language and artificial intelligence implementations.

    CSc 414. Expert Systems (3)

    The design and development of knowledge-based expert systems. Rule-based protocols. Knowledge engineering. Programming application. Prerequisite: CSc 368.

    CSc 415. Database Topics (3)

    Design issues in integrated database systems. Database entities and their relationships. Prerequisite: CSc 241 or equivalent.

    CSc 416. Advanced Issues in Knowledge-based Systems (3)

    Advanced techniques and current applications of knowledge-based systems. Emphasis on knowledge engineering techniques through the development of a substantial system. Prerequisite: CSc 414. Hillman and Blank

    CSc 417. Topics in Information Retrieval (3)

    Selected topics in the design of advanced retrieval systems. Prerequisite: CSc 241 or equivalent.

    Return to the course index or return to the EECS home page

    CSc 418. Uncertainty in Knowledge Based Systems (3)

    Basic problems and possibilities for probable inference by expert systems are discussed. In this light, Bayesian inference, certainty factors, Dempster-Shafer evidence theory, and fuzzy logic are described and critiqued. Various related topics are also discussed.

    CSc 422. Advanced Topics in Compiling (3)

    Topics from general parsers, attributed translation, attribute grammars, two-level grammars, expression optimization, data flow, code optimization, compiler compilers, implementation languages, multi-tasking languages. Prerequisite: CSc 302 or consent of the division head. Gulden

    CSc 432. Object-Oriented Software Engineering (3)

    Design and construction of modular, reusable, extensible and portable software using statically typed object-oriented programming languages (Eiffel, C++, Objective C). Abstract data types; genericity; multiple inheritance; use and design of software libraries; persistence and object-oriented databases; impact of object-oriented programming on the software life cycle.

    CSc 437. Program Semantics (3)

    Theories and techniques of program semantics and program verification. Topics may be chosen from denotational semantics, operational semantics, Floyd-Hoare semantics, temporal logic, dynamic logic, algebraic semantics, continuous semantics, recursive function theory or a current semantic theory. Gulden

    CSc 440. Graph Theory and Application (3)

    Fundamental concepts of and algorithms for graphs, including: connectivity, planarity, network flows, matchings, colorings, traversals, duality, intractability and applications. Prerequisite: CSc 340 or consent of instructor.

    CSc 450. Special Topics (3)

    Selected topics in computer science not included in other courses. May be repeated for credit.

    Return to the course index or return to the EECS home page

    CSc 463. Advanced Issues in Natural Language Processing (3)

    Advanced techniques and current applications of natural language systems. Complex syntax and semantics, discourse coherence and planning, natural language interfaces and other applications. Prerequisite: CSc 365 or CSc 465. Blank

    CSc 465. Seminar in Natural Language Processing (3)

    Writing and presenting reviews of research issues in natural language, knowledge representation, speech processing and other applications. Requires concurrent attendance in CSc 365: Natural Language Processing.

    CSc 491. Research Seminar (1-3)

    Regular meetings focused on specific topics related to the research interests of department faculty. Current research will be discussed. Students may be required to present and review relevant publications. May be repeated for credit up to a maximum of three (3) credits. Prerequisite: Consent of instructor.

    CSc 492. Independent Study (1-3)

    An intensive study, with report of a topic in computer science which is not treated in other courses. May be repeated for credit. Prerequisite: Consent of instructor.

    Return to the course index or return to the EECS home page



    ECE Courses

    Return to the course index or return to the EECS home page


    ECE 33 Introduction to Computer Engineering (4)

    Fall/Spring

    1996-97

    Catalog Data: Analysis, design and implementation of digital circuits. Boolean algebra. Minimization techniques, synchronous sequential circuit design, Number systems and arithmetic. Microcomputer architecture, interfacing, assembly level programming. Prerequisite: Engr 1 or CSc 17. (ES 2) (ED 2)

    Textbook: Nagle Jr., Carroll, & Irwin. An Introduction to Computer Logic. Prentice Hall, 1975.

    Reference(s): Class handouts.

    Coordinator: M. D. Wagh, Associate Professor

    Goals: To learn the elements of computer engineering including digital design, computer architecture and assembly programming.

    Prerequisites by topic: Engr 1 (Engineering Computations) or CSc 17 (Structured Programming & Data Structures) or equivalent. Concept of algorithms and flow charts, elements of programming.

    Topics:

    1. coding of data and information in a digital computer (2 classes)
    2. arithmetical operations in a computer (2 classes)
    3. computer organization (2 classes)
    4. Boolean algebra (4 classes)
    5. analysis and design of combinational circuits (K-maps, Q-M techniques) (8 classes)
    6. analysis of sequential circuits (2 classes)
    7. design of synchronous sequential circuits (3 classes)
    8. 8085 microprocessor organization (2 classes)
    9. 8085 instruction codes and addressing modes (6 classes)
    10. assembler and hand assembly, assembly (2 classes)
    11. relocatable assembly (2 classes)
    12. elements of operating systems (2 classes)
    Programming

    Projects:

    1. use of an assembler and interface with the operating system
    2. designing programs for reading and writing characters to a terminal
    3. programming for numerical data processing
    4. programming cursor control and graphics on televideo terminals
    Estimated ABET Category Content:

    Engineering Design: 2 credits

    Engineering Science: 2 credits

    Return to the course index or return to the EECS home page


    ECE 81 Principles of Electrical Engineering (4)

    Fall/Spring

    1996-97

    Catalog Data: Circuit elements and laws. Behavior of simple linear networks. Steady state and transient analysis. Impedance concepts. Characteristics of electronic devices and device models. Introduction to operational amplifiers. Principles of electromechanical energy conversion and power systems. Includes a weekly session for review and discussion. Prerequisite: Math 22. Corequisite: Phys 21. (ES 3) (ED 1)

    Textbook: Paul/Nasar/Unnewehr, Introduction to Electrical Engineering, 2nd Edition, 1992, McGraw Hill.

    Reference(s): Schwarz and Oldham, Electrical Engineering-An Introduction, 1984, Holt Rinehardt. Ralph J. Smith, Circuits, Devices, and Systems, Wiley.

    Coordinators: D. Frey, Associate Professor; D. Brzakovic, Associate Professor

    Goals: Designed to give electrical and non-electrical engineering majors an introduction to the fundamentals of electrical engineering.

    Prerequisite: Math 22 (Analytical Geometry & Calculus II)

    1. First order differential equations.
    2. Solution of sets of simultaneous equations.
    3. Static electric and magnetic fields.
    Topics:
    1. Electrical Quantities (1 class)
    2. Circuit principles and basic theorems (10 classes)
    3. Signal Waveforms (2 classes)
    4. Natural Response of Circuits (4 classes)
    5. Forced Responses - AC Steady State (6 classes)
    6. Diodes and Applications (2 classes)
    7. Transistors and Circuit Models (1 classes)
    8. Circuit applications (4 classes)
    9. Operational Amplifiers (2 classes)
    10. Three-phase Concepts (2 classes)
    11. Transformers and Rotating Machines (4 classes)
    12. Tests (2 classes)
    Estimated ABET Category Content:

    Engineering Design: 1 credit

    Engineering Science: 3 credits

    Return to the course index or return to the EECS home page


    ECE 82 Sophomore Lab (1)

    Spring

    1996-97

    Catalog Data: An introduction to the fundamental laboratory instrumentation and measurement techniques of electrical and computer engineering. Experiments based on the fundamental concepts discussed in the prerequisite courses. Introduction to PSPICE. Discussions of electrical components and laboratory safety. Use of an engineering notebook and report writing. One 3-hour laboratory per week. Prerequisites: ECE 33 or ECE 81, previously. (ES 0) (ED 1)

    Textbook: Tuinenga, Spice - A Guide to Circuit Simulation and Analysis Using PSpice, Prentice Hall.

    Reference(s): Nagel, Carroll, Irwin, An Introduction to Computer Logic, Prentice Hall and Paul, Nasar, Unnewehr, Introduction to Electrical Engineering, McGraw Hill.

    Coordinator: C. S. Holzinger, Professor

    Goals:

    1. Students will be able to use standard laboratory instruments.
    2. Students will understand the electrical characteristics of circuit elements.
    3. Students will design, implement, and evaluate basic electrical and electronic circuits.
    4. Students will be able to use PSPICE simulations as design aids.
    Prerequisite: ECE 81 Principles of Electrical Engineering

    ECE 33 Introduction to Computer Engineering

    Laboratory Projects:

    1. Analysis of an R-2R D/A ladder circuit using PSPICE.
    2. Use of oscilloscope and function generator to study transient behavior of a first order system and Thevenin equivalents of such.
    3. Application of Bode plots to filters.
    4. DC characterization of TTL and CMOS Logic Gates.
    5. Operation of Binary Counters, Buffers and LED's
    6. R-2R D/A converter.
    7. Conversion of D/A converter to an A/D converter.
    8. Quadrature Amplitude Modulator.
    Estimated ABET Category Content:

    Engineering Design: 1 credit

    Engineering Science: 0 credits

    Return to the course index or return to the EECS home page


    ECE 108 Signals and Systems (4)

    Spring

    1996-97

    Catalog Data: Continuous and discrete signal and system descriptions using signal space and transform representations. Includes Fourier series, continuous and discrete Fourier transforms, Laplace transforms, and z-transforms. Introduction to sampling. Prerequisite: ECE 81. (ES 4) (ED 0)

    Textbook: L. B. Jackson, Signals, Systems, and Transforms, 1st Edition, Addison Wesley Publishers.

    Reference(s): None

    Coordinators: D. Brzakovic, Associate Professor; R. Blum, Assistant Professor

    Goals: To teach basics of signal and system representation and the concepts and usage of transfer functions. To expose students to the mathematics of system theory.

    Prerequisite: ECE 81 Principles of Electrical Engineering

    Topics:

    1. Continuous-Time Signals
    2. Convolution
    3. Continuous-Time Systems
    4. Fourier Series
    5. The Fourier Transform
    6. Linear Filters
    7. The Laplace Transform
    8. Sampling Theory
    9. Discrete-Time Signals and Systems
    10. The Discrete-Time Fourier Transform (DTFT)
    11. The Discrete Fourier Transform (DFT)
    12. The z-transform
    13. Digital Filters
    Estimated ABET Category Content:

    Engineering Design: 0 credits

    Engineering Science: 4 credits

    Return to the course index or return to the EECS home page


    ECE 111 Proseminar (1)

    Fall

    1996-97

    Catalog Data: A weekly seminar to acquaint students with current topics in electrical and computer engineering. Students prepare and present oral and written reports that are judged on quality and presentation as well as technical content. Prerequisite: senior standing. (ES 0.5) (ED 0.5)

    Textbook: None

    Reference(s): None

    Coordinator: D. R. Decker, Professor

    Goals: To provide a course in which students carry out independent study in an area of their own choice. To provide an opportunity for the students to gain experience in organizing and writing a technical paper, and to present an oral technical report. To expose the students to a broad spectrum of electrical engineering topics that transcend their classroom experience, including topics on Professional Ethics, Career Development, Professional Engineering Licenses, Patents and Litigation. Prerequisite: Senior standing.

    Topics:

    1. A random sample of talks/reports, out of about 60 topics:
    2. Implementation of the vector transform
    3. Oceanographic technology
    4. Electric automobile
    5. Encoding of music on compact disks
    6. Power systems - delivery and power factor correction
    7. Alternative energy update
    8. Digital video interactive technology
    9. Fault tolerant systems
    10. Military applications of lasers
    11. Anti-lock brake control systems
    12. Fire/smoke alarms and detectors
    13. Speech processing
    14. Neural networks (pattern recognition)
    15. Error correction in CD players
    16. Laser and ink jet printers
    Estimated ABET Category Content:

    Engineering Design: 0.5 credits

    Engineering Science: 0.5 credits

    Return to the course index or return to the EECS home page


    ECE 116 Software Engineering (3)

    Spring

    1996-97

    Catalog Data The software life-cycle; life-cycle models; software planning; testing; specification methods; modularity; design methods; maintenance. Emphasis on team work and large-scale software systems, including oral presentations and written reports. Prerequisite: CSc17. (ES 1.5) (ED 1.5)

    Textbook: Stephen Schach, "Classical and Object- Oriented Software Engineering", 3rd Ed, R. Irwin Publishers.

    Reference(s): F. Carrano "Data Abstraction and Problem Solving with C++", Benjamin Cummings. (Or any book on C++.)

    Coordinator: T. Boult, Associate Professor

    Goals: To acquaint students with the basic concepts and major issues in software engineering. Practice some of these concepts in the design and implementation of a large team software project.

    Topics:

    1. Overview of Software Engineering
    2. CASE tools
    3. Object Oriented and other programming language features
    4. Software documentation
    5. Software requirements and Specifications
    6. Planning a software project & cost estimation
    7. Software design
    8. Software verification
    9. Software maintenance
    Laboratory

    Projects: Large team project involving complex data management and other technical issues.

    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 1.5 credits

    Estimated CSAB Category Content:

    Return to the course index or return to the EECS home page


    ECE 121 Electronic Circuits Laboratory (2)

    Fall

    1996-97

    Catalog Data: One lecture and one laboratory per week. Experiments illustrating the principles of operation of electronic devices and their circuit applications. Basic electronic instrumentation and measurement techniques. Corequisite: ECE 123. (ES 0.5) (ED 1.5)

    Textbook: Tuinenga, Spice - A Guide to Circuit Simulation & Analysis Using PSpice, Prentice Hall.

    Reference(s): A.S. Sedra and K.C. Smith, Microelectronic Circuits, Holt, Rinehart and Winston, 1991.

    Coordinator: D. Frey, Associate Professor

    Goals: To introduce the use of basic laboratory equipment such as oscilloscopes, signal generators, meters, and power supplies. To teach the students about the characteristics of real world circuit elements, both passive and active. To introduce the electronic circuit analysis program PSPICE.

    Prerequisite: ECE 81 Principles of Electrical Engineering, ECE 108 Signals and Systems, ECE 125 Circuits and Systems - concurrently, ECE 123 Electronic Circuits - concurrently.

    Topics:
    Laboratory Projects:

    1. Familiarization with laboratory equipment.
    2. DC transfer characteristics of half wave rectifier.
    3. Time response of half wave rectifier.
    4. Voltage transfer characteristics of a zener voltage regulator.
    5. Dynamic output resistance of zener voltage regulator.
    6. Time response of visible and IR LED.
    7. Time response of phototransistor light detector.
    8. Seven segment displays.
    9. Non-inverting and inverting Op Amp circuits.
    10. Active half wave rectifiers.
    11. Active full wave rectifier.
    12. Voltage doubler and quadrupler.
    13. Op Amp relaxation oscillators.
    14. Triangular wave generator.
    15. BJT, CE, CB and CC amplifiers, DC and AC studies.
    16. Transient behavior of BJT's.
    17. J-FET audio amplifier, DC and AC study.
    18. Simulation of circuits with PSPICE.
    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 0.5 credits

    Return to the course index or return to the EECS home page


    ECE 123 Electronic Circuits (3)

    Fall

    1996-97

    Catalog Data: Methods for analyzing and designing circuits containing electronic devices. Topics include device models, basic amplifier configurations, operating point-stabilization, frequency response analysis, and computer-aided analysis of active circuits. Prerequisite: ECE 108. (ES 1.5) (ED 1.5)

    Textbook: A.S. Sedra and K.C. Smith, Microelectronic Circuits, Oxford Press, 1991.

    Reference(s): Class notes.

    Coordinator: D. Frey, Associate Professor

    Goals: This course provides the foundation for the analysis and design of digital and analog circuits. It further provides the student with an understanding of integrated circuits and sub-systems.

    Prerequisite: ECE 108 Signals and Systems, ECE 121 Electronics Circuits Laboratory, concurrently.

    Topics:

    1. Review of linear circuits
    2. Operational amplifiers
    3. Diodes
    4. Nonlinear circuit applications
    5. Bipolar junction transistors
    6. Junction field-effect transistors
    7. Metal-oxide-semiconductor field-effect transistors
    8. Transistor amplifiers and logic circuits
    9. Frequency and transient response
    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 1.5 credits

    Return to the course index or return to the EECS home page


    ECE 125 Circuits and Systems (3)

    Fall

    1996-97

    Catalog Data: Formulation of linear circuit equations in the time and frequency domain. Complete solutions of difference and differential equations. Network theorems. Basic stability and feedback concepts. Modulation theory, sampling theory and basic digital signal processing ideas. Prerequisite: ECE 108. (ES 2.5) (ED 0.5)

    Textbook: Ambadar, Analog and Digital Signal Processing, 1st Ed., PWS

    References: ECE 81 Text, ECE 108 Text.

    Coordinator: C. S. Holzinger, Professor

    Goals: To reinforce and extend the students' background in circuit, signal and system theory established by ECE 81 and ECE 108.

    Prerequisite: ECE 108 Circuits and Systems

    1. Basic circuit theory: R.L.C. elements, ideal sources, Kirchhoff's laws, impedance and admittance.
    2. Linear differential equations.
    3. Laplace and Fourier transforms.
    4. Basic matrix theory.
    Topics:
    1. Transform techniques (6 classes
    2. Loop and node analysis (5 classes
    3. Two-port parameters (5 classes
    4. Delta-wye transformations (2 classes
    5. Signal flow diagrams and feedback concepts (3 classes
    6. Stability considerations (Includes design of feedback systems) (3 classes
    7. Frequency response techniques--pole-zero diagrams, Bode plots (6 classes
    8. design of simple filters
    9. State variables and other solution techniques (9 classes
    Estimated ABET Category Content:

    Engineering Design: 0.5 credits

    Engineering Science: 2.5 credits

    Return to the course index or return to the EECS home page


    ECE 126 Fundamentals of Semiconductor Devices (3)

    Spring

    1996-97

    Catalog Data: Introduction to the physics of semiconductors in terms of atomic bonding and electron energy bands in solids. Charge carriers in semiconductors and carrier concentration at thermal equilibrium. Principles of electron and hole transport, drift and diffusion currents, generation and recombination processes, continuity. Treatment of semiconductor devices including p- n junctions, bipolar junction transistors and field effect transistors. Prerequisite: ECE 81. (ES 2.5) (ED 0.5)

    Textbook: Streetman, Solid State Electronics Devices, Prentice Hall, 1990.

    Reference(s): None

    Coordinators: M. K. Hatalis, Professor

    Goals: The objective of this course is to introduce the student to the physics of semiconductors and to develop an understanding of the basics of semiconductor devices.

    Prerequisite: ECE 81 Principles of Electrical Engineering

    1. Basic electrical circuit theory.

    2. Principles of electricity and magnetism.



    Topics:

    1. Structure of an atom and type of atomic bonds in solids.
    2. Energy bands in solids, direct and indirect semiconductors.
    3. Electron and holes in semiconductors, effective mass.
    4. Intrinsic, extrinsic semiconductors, carrier statistics at equilibrium.
    5. Compensation and space charge neutrality.
    6. Drift of carriers, drift current, carrier mobility, Hall Effect.
    7. Diffusion of carriers, diffusion current.
    8. Recombination and generation processes, continuity equation.
    9. Theory of P-Njunctions.
    10. Theory of Bipolar Junction Transistors.
    11. Theory of Metal Oxide Semiconductor capacitors and MOS Field Effect Transistors.
    Estimated ABET Category Content:

    Engineering Design: 0.5 credits

    Engineering Science: 2.5 credits

    Return to the course index or return to the EECS home page


    ECE 136 Electromechanics (3)

    Spring

    1996-97

    Catalog Data: Two lectures and one laboratory per week. An experimental introduction to electromechanical energy conversion. Basic concepts of magnetic fields and forces and their application to electrical apparatus including electromechanical transducers, transformers, AC and DC machines. Prerequisite: ECE 81. (ES 2) (ED 1)

    Textbook: Guru/Hiziroglu, Electric Machinery and Transformers, Oxford Press.

    References: A. E. Fitzgerald, C. Kingsley, Jr., and S. D. Umans, Electric Machinery, 5th Edition, McGraw-Hill 1990.

    Coordinator: D. R. Decker, Professor

    Goals: The goals of this course are to provide a foundation for electromechanical energy conversion from basic energy functions, to provide performance knowledge of the major categories of rotating electrical machines, to develop experimental skills in electrical and mechanical measurements, and to develop laboratory design skills.

    Prerequisite: ECE 81 Principles of Electrical Engineering

    Topics:

    1. Energy, co-energy, energy density and pressures, forces and torques.
    2. Linear motion transducers.
    3. Single phase transformers.
    4. Induction machines.
    5. Stepper motors.
    6. Synchronous machines.
    7. DC machines.
    8. Permanent magnet machines.
    Estimated ABET Category Content:

    Engineering Design: 1 Credit

    Engineering Science: 2 Credits

    Return to the course index or return to the EECS home page


    ECE 138 Digital Systems Laboratory (2)

    Spring

    1996-97

    Catalog Data: Implementation issues and techniques for digital logic design. Combinational and sequential logic design using standard integrated circuits. I/O and interrupt processing. Design and implementation of real-time complex digital logic using microprocessor systems. Prerequisite: ECE 33. (ES 0.5) (ED 1.5)

    Textbook: Laboratory Manual, Digital System Laboratory, Lehigh University.

    Reference(s): Handouts

    Coordinator M. D. Wagh, Associate Professor

    Goals: To learn the design principles of small and large digital systems.

    Prerequisites by topic: ECE 33 Introduction to Computer Engineering or equivalent elements of combinational and sequential logic, 8085 processor architecture and assembly language.

    Topics:

      Design and Implementation of:
    1. Combinational circuits (4 labs) including multifunction implementations, implementations using multiplexers/demultiplexers, use of seven segment displays, adders, and encoders.
    2. Sequential circuits (4 labs) including synchronous and asynchronous designs, use and modification of standard circuits such as counters.
    3. Programmable digital circuits (3 labs) including micro processor (8085) input/output, interrupts and design of large programmable sequential or combinational circuits.

    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 0.5 credits

    Return to the course index or return to the EECS home page


    ECE 162 Electrical Laboratory (1)

    Spring

    1996-97

    Catalog Data: Experiments on circuits, machines, and electronic devices. Elementary network theory. Survey laboratory for students not majoring in electrical or computer engineering. Prerequisite: ECE 81. (ES 1) (ED 0)

    Textbook: ECE 162 Electrical Laboratory Lab Notes by C. T. Adomshick, revised 1994 by H. Mecklai and E. Thompson.

    References: C. R. Paul, S. A. Nasar, and L. E. Unnewehr, Introduction to Electrical Engineering, 2nd Edition, Mc-Graw Hill, 1992.

    Coordinator W. Li, Associate Professor

    Goals: The goals are to familiarize the students with basic electrical measurements and to provide a basic understanding of electrical components.

    Prerequisite ECE 81 Principles of Electrical Engineering

    Topics:

    1. Network theory, Norton and Thevenin Equivalents, Linear Superposition.
    2. Transient response.
    3. AC response, active and passive filters.
    4. Diode, Transistor, and Op Amp characteristics.
    5. Transformers.
    6. DC Motors and generators, stepper motors.
    7. Optoelectronic devices.
    8. Digital and logic circuits.
    Estimated ABET Category Content

    Engineering Design: 0 Credits

    Engineering Science: 1 Credit

    Return to the course index or return to the EECS home page


    ECE 201 Computer Architecture (3)

    Spring

    1996-97

    Catalog Data: Structure and function of digital computers. Computer components and their operations. Computer interconnection structures. Memory system and cache memory. Interrupt driven input/output and direct memory access. Instruction sets and addressing modes. Instruction pipelining. Floating-Point representation and arithmetic. Alternative architectures: RISC vs. CISC and introduction to parallel architectures. Prerequisite: ECE 33. (ES 1.5) (ED 1.5)

    Textbook: W. Stallings, Computer Organization & Architecture, 3rd Edition, Addison Wesley, 1994.

    Coordinator: R. Wallace

    Goals: Understanding of Computer Structures and functions.

    Prerequisites: ECE 33 Introduction to Computer Engineering. Binary Number System. 2's complement representation/arithmetic. Boolean Algebra. Combinational Circuits. Introduction to Sequential Circuits. Timing Diagrams. Knowledge of an assembly language.

    Topics:

    1. Computer generations. (1 lecture)
    2. Von Neumann architecture, computer functions and interconnection structure. Emphasis on bus interconnection: handshake and arbitration protocols. (7 lectures)
    3. Memory Hierarchy: characteristics, main memory (RAM, DRAM, ROM, etc.) memory module organization, cache memory (principles, organization, replacement algorithms and write policies), and a quick look at external memory (magnetic disk, magnetic tape and optical memory). (9 lectures)
    4. Input/Output: function and structure of an I/O module, I/O operation techniques (Programmed I/O, interrupt driven I/O and DMA), external interface (parallel/serial, synchronous/asynchronous). (7 lectures)
    5. Computer Arithmetic: integer representation and arithmetic (2's complement multiplication and division), floating-point representation and arithmetic. (7 lectures)
    6. Instruction Sets: characteristics, functions, addressing modes and formats. (4 lectures)
    7. CPU Structure: organization, instruction cycle and instruction pipelining. (4 lectures)
    8. Control Unit: micro-operations, hardwired implementation and microprogrammed control. (1 lectures)
    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 1.5 credits

    Return to the course index or return to the EECS home page


    ECE 202 Introduction to Electromagnetics (3)

    Spring

    1996-97

    Catalog Data: Elements of vector analysis, Coulomb's law, Biot-Savart's and Ampere's laws, Lorentz Forces, Laplace's and Maxwell's equations, boundary conditions, methods of solution in static electric and magnetic fields, including finite element numerical approach. Quasistationary fields, inductance. Prerequisite: Math 205, Phys 21. (ES 3) (ED 0)

    Textbook: D. K. Cheng, Fundamentals of Engineering Electromagnetics, 1st Edition, 1993, Addison-Wesley Publishers.

    Coordinator: D. Christodoulides, Associate Professor

    Supplemental

    Text: N. Eberhardt, Fundamentals of Electromagnetics: Lecture notes and Workbook.

    Goals:

    1. To teach the theoretical foundations of the majority of areas classified under Electrical Engineering.
    2. To develop the physical concepts of Electro-Magnetism and train the ability to translate these concepts into mathematical form.
    3. Emphasis is on working knowledge of EM-theory, not on completeness.
    Prerequisite: Elementary Physics, Calculus.

    Topics:

    1. Coulomb field.
    2. Superposition of Coulomb fields.
    3. Coulomb integration.
    4. Gauss' Law and applications.
    5. Poisson and Laplace Equations.
    6. Lorenz force law.
    7. Biot-Savart's law and Integration over distributed currents.
    8. Magnetic forces on current carrying conductors.
    9. Some magnetic and electric boundary conditions.
    10. Resistive network analogies in the solution of static field problems.
    11. Maxwells equations.
    12. Self and mutual inductance.
    Laboratory Projects: N/A

    Estimated ABET Category Content:

    Engineering Design: 0 credits

    Engineering Science: 3 credits

    Note: It is not possible to list separate topics under the "design" category. Most points have design contents. Examples: In 12) inductors are designed, in 6) forces on current carrying conductors are computed, an important point in the design of transformers, 10) gives a design tool for current distribution in solid state devices.

    Return to the course index or return to the EECS home page


    ECE 203 Introduction to Electromagnetic Waves (3)

    Fall

    1996-97

    Catalog Data: Uniform plane waves in free space and in materials, skin effect. Waves in transmission lines and waveguides, including optical fibers. Energy and power flow, Poynting's theorem. Reflection and refraction. Resonators. Radiation and diffraction. Prerequisite: ECE 202. (ES 2.5) (ED 0.5)

    Textbook: D. K. Cheng, Fundamentals of Engineering Electromagnetics, 1st Edition, 1993, Addison-Wesley Publishers.

    Coordinator: D. Christodoulides, Associate Professor

    Goals: Designed to convey a working knowledge in applied electromagnetic theory and to introduce to engineering applications such as transmission line circuits, waveguides, resonators, antennae, as well as applications in optical communications.

    Prerequisite: ECE 202 or equivalent. Students should be familiar with basic equations of electromagnetic fields and mathematics - covering vector analysis and elementary complex variables.

    Topics:

    1. Maxwell's equations, displacement current, boundary conditions.
    2. Time harmonic fields, wave equations, vector and scalar potentials.
    3. Plane waves, polarization, waves in lossy media and conductors.
    4. Poynting's vector theorem.
    5. Reflections, Refraction, Fresnel equations.
    6. Transmission lines, distributed parameters, current and voltage equations.
    7. Wave characteristics of finite transmission lines. (1 week design)
    8. Hertzian dipole and thin linear antennas.
    9. Radiation patterns, Arrays. (1/2 week design)
    10. Modes in rectangular waveguides. (1/2 week design)
    Laboratory Projects: N/A

    Estimated ABET Category Content:

    Engineering Design: 0.5 credits

    Engineering Science: 2.5 credits

    Return to the course index or return to the EECS home page


    ECE 212 Control Theory (3)

    Fall

    1996-97

    Catalog Data: Introduction to feedback control. Dynamic analysis of linear feedback systems in the time and frequency domain, with emphasis on stability and steady-state accuracy. Major analytical tools: signal-flow graphs, root-locus methods, Nyquist plot, Bode analysis. Cascade compensation techniques. Prerequisite: ECE 125. (ES 2) (ED 1)

    Textbook: B. Kuo, Automatic Control Systems, 6th Edition, Prentice Hall.

    Reference(s): Any standard control system text such as Dorf.

    Coordinator:

    Goals: To present the basic concepts, analysis, and design of feedback control systems. To develop models for system components that consider the interaction of electrical, mechanical, hydraulic, etc. components in physical systems. To develop and apply analytical and graphical techniques to evaluate time and frequency domain responses. To apply the various techniques to system compensator design.

    Prerequisite: ECE 125 Circuits and Systems

    1. Laplace transforms
    2. State variable concepts
    Computer Usage: Introduction to the Program CC for control system analysis. CC is available to students on the LAN in room 502 Packard Lab.

    Topics:

    1. Introduction, review of Laplace transform techniques.
    2. Models of system components in s-plane.
    3. Systems modeling; Intro to CC.
    4. Steady state error.
    5. Transient response analysis.
    6. Stability considerations--Routh-Hurwitz Nyquist criteria.
    7. Root-loci--construction rules and analysis.
    8. Frequency domain methods--Bode, Nyquist, Nichols.
    9. Cascade compensator design.
    Estimated ABET Category Content:

    Engineering Design: 1 credit

    Engineering Science: 2 credits

    Return to the course index or return to the EECS home page


    ECE 251 Senior Project I (2)

    Fall

    1996-97

    Catalog Data: This capstone course integrates the knowledge and experience acquired in previous and concurrent courses. Emphasis is on design, implementation, test and evaluation of an engineering project in any of the diverse areas of electrical and computing engineering and computer science consistent with the abilities of the student and departmental resources. A written project proposal, periodic progress reports, a final project report, and a project demonstration are required. Prerequisite: Senior standing. (ES 0.5) (ED 1.5)

    Textbook: None

    Reference(s): Course texts, manufacturers data books, vendor catalogs, various handbooks.

    Coordinator: W. Li, Associate Professor

    Goals: To provide an opportunity for the student to do a complete design project from conceptualization through to performance evaluation. To provide a practical, cumulative focus for material learned in the first 3+ years of course work and other laboratories.

    Prerequisite: Senior standing; must have background appropriate to the type of project selected.

    Topics:
    Topics vary depending upon the student and his advisor. Students from the three majors, CpE, CSc, and EE tend to do software and hardware projects such as language translators, compilers, speech recognition, speech synthesis, data encoding, data transmission, robot control, digital filters, and computer graphics. Many projects use the Personal Computer and the Microprocessor for control of and input from special hardware circuits. Some projects each semester are drawn from local industry.

    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 0.5 credits

    Return to the course index or return to the EECS home page


    ECE 252 Senior Project II (2)

    Spring

    1996-97

    Catalog Data: Same as ECE 251. May be used to substitute for ECE 251 for those students not following the normal schedule. Also serves as a continuation for those projects beyond the scope of a one semester course. Two-three hour sessions per week. Prerequisite: Senior standing. (ES 0.5) (ED 1.5)

    Textbook: None

    Reference(s): Course texts, manufacturers data books, vendor catalogs, various handbooks.

    Coordinator: K. H. Norian, Associate Professor

    Goals: This laboratory course permits students to work on an approved project for an entire semester. It fosters a closer understanding of the theoretical background as coupled to real-life applications of these concepts.

    Prerequisite: Senior standing.

    Topics:
    See ECE 251.

    Estimated ABET Category Content:

    Engineering Design: 1.5 credits

    Engineering Science: 0.5 credits

    Return to the course index or return to the EECS home page


    ECE 254 Microwave-Lightwave Laboratory (2)

    Spring

    1996-97

    Catalog Data: Basic microwave and optical measurement techniques, design procedures and practical concepts. Practical aspects of fiberoptics, optical transmission, and modulation. Two-three hour sessions per week. Co-requisite: ECE 346. (ES 1) (ED 1)

    Textbook: No Text. Notes used.

    Reference(s): none

    Coordinator:

    Goal: To provide practical experience in experimental work, on the optical table for students in ECE 348 and with microwave circuits for students in ECE 346.

    Prerequisite/

    Co-requisite: ECE 346 Microwave Circuits and Techniques or ECE 348 Lightwave Technology

    Facilities: Microwave sweep generators, power meters, detectors, a network analyzer, waveguide components and facilities to fabricate simple stripline circuits. A workstation with software is available for stripline circuit design. For optical work: 4x8 foot optical table with standard components, He-Ne and semiconductor lasers, electro-optic modulators, acousto-optic Bragg cell. Optical fibers, splicing tools, couplers, power meter, time domain reflectometer.

    Topics:

    1. Properties of microwave sources
    2. Impedance/Admittance measurements
    3. S-parameter measurements
    4. Computer aided design of microstripline circuits
    5. Polarization of light
    6. Electro-optic modulation
    7. Acousto-optic modulation
    8. Coupling into optical fibers
    9. Time domain reflectometry
    Independent project

    Estimated ABET Category Content:

    Engineering Design: 1 credit

    Engineering Science: 1 credit

    Return to the course index or return to the EECS home page


    ECE 256 Honors Project (1)

    Spring

    1996-97

    Catalog Data: Open by invitation only to students who have completed ECE 251 Senior Project. Selection is based upon the quality of the senior project with regard to ingenuity, design approach and completeness. The objective of this course is to carry the successful senior projects forward to completion of a technical paper suitable for publication or submission to a technical conference. A written paper and oral presentation are required by mid-semester. Oral presentations will be made before an appropriate public forum. Enrollment limited. (ES 0) (ED 0)

    Textbook: N/A

    References: N/A

    Co-ordinator: K. Norian, Associate Professor

    Goals: To achieve competition quality or publishable papers based on project work.

    Prerequisite: ECE 111 Proseminar, ECE 251 Senior Project I

    Topics: Anything of interest to students in electrical engineering, computer engineering or computer science. A sample of recent papers includes:

  • Non-linear Real Time Digital Signal Processing
  • Microbending Devices
  • Ultrasonic Flowmeter
  • Moving Map Display
  • Sailplane Variometer ABET Category Content Engineering Design: 0 credits

    Engineering Science: 0 credits

    Return to the course index or return to the EECS home page


    ECE 308 Physics and Models of Electronic Devices (3)

    Fall

    1996-97

    Catalog Data: Physics of metal-semiconductor junctions, p-n junctions, and MOS capacitors. Models of Schottky barrier and p-n junction diodes, JFET's, MOSFET's and bipolar transistors. Prerequisite: ECE 126. (ES 2) (ED 1)

    Textbook: R. S. Muller and T. I. Kamins, Device Electronics for Integrated Circuits, 2nd Edition, Wiley, 1986.

    References: S. M. Sze, Physics of Semiconductor Devices, 2nd Ed., Wiley, 1981.

    R. F. Pierret, Semiconductor Device Fundamentals, Addison Wesley, 1996.

    Coordinator: F. Hielscher, Professor

    Goals: The goals of this course are to provide a physical foundation for semiconductor device operation and to develop from these foundations models which simulate device performance.

    Prerequisite: ECE 126 Fundamentals of Semiconductor Devices.

    Topics:

    1. Semiconductor physics review.
    2. Semiconductor technology.
    3. Metal-semiconductor contacts, Ohmic contacts, Schottky barriers, Debye length, surface states, tunneling.
    4. p-n junctions, quasi-neutral and depletion approximations, junction capacitance, junction breakdown.
    5. Recombination physics.
    6. P-n junction currents, quasi-equilibrium approximation, space charge current, charge storage and diffusion capacitance, injection efficiency.
    7. Bipolar transistors: operation regions, current gain, charge storage, Ebers-Moll model, Early effect, high-level effects, base resistance.
    8. Charge control model, Gummel-Poon model, small-signal model of bipolar transistors.
    9. Metal-oxide-semiconductor physics and MOS capacitors.
    10. MOSFET Theory and Models.
    11. Estimated ABET Category Content:

      Engineering Design: 1 Credit

      Engineering Science: 2 Credits

      Return to the course index or return to the EECS home page


      ECE 316 Microcomputer System Design (3)

      Spring

      1996-97

      Catalog Data: Content is primarily hardware oriented, but software issues are covered where required. Includes performance characteristics of the more popular devices on the market today. Specific topics include: basic microcomputer structure, bus interconnections, memory systems, serial and parallel interfacing, CRT controllers, interrupt structures, DMA. Prerequisite: ECE 33. (ES 0.5) (ED 2.5)

      Textbook: Manufacturers data sheets, plus many other handouts.

      Reference(s): Set of manuals from Intel Corporation.

      Coordinator: C. S. Holzinger, Professor

      Goals: To introduce the real world problems associated with the hardware design of microcomputer systems.

      Prerequisite:

      1. Basic assembly language.
      2. Operation of simple logic gates.
      Topics:
      1. Representative 8 and 16 bit microprocessors, with coprocessor.
      2. Detailed study of timing diagrams.
      3. Keyboard scanning.
      4. Parallel and serial ports.
      5. Programmable interval timers.
      6. Programmable interrupt controllers.
      7. Static and dynamic RAMS, ROMS, PROM, etc.
      8. Video operation.
      9. Disk controllers.
      10. DMA controller.
      11. Paper design project.
      Estimated ABET Category Content:

      Engineering Design: 2.5 credits

      Engineering Science: 0.5 credits

      Return to the course index or return to the EECS home page


      ECE 319 Digital System Design (3)

      Fall

      1996-97

      Catalog Data: Design techniques at the register transfer level. Control strategies for hardware architectures. Implementation of microprogramming, intersystem communication and peripheral interfacing. Hardware design languages and their use in design specification, verification and simulation. Prerequisite: ECE 138. (ES 0) (ED 3)

      Textbook: Handouts by instructor.

      Reference(s): F. J. Hill and G. R. Peterson, Digital Systems: Hardware Organization and Design, Wiley.

      Coordinator: M. Wagh, Associate Professor

      Goals: To teach Computer Engineering students the principles of register transfer level design and various control strategies and to expose them to the use of hardware design languages for expressing and simulating their designs.

      Prerequisite: ECE 138 Digital Systems Laboratory

      Topics:

      1. Digital System building blocks such as registers, adders, multiplexers, encoders and bus
      2. Development of a digital system design, role of a hardware design language
      3. Fundamentals of hardware design languages, hardware compilers, simulation
      4. Describing and simulating digital systems in SLSL, a hardware design language developed at Lehigh
      5. Various adder architectures seen as large digital systems, design trade-offs between hardware complexity and time
      6. Standard multiplier and its various modifications, design trade-offs between the hardware complexity and control complexity
      7. Control strategies for large digital systems and their implementation through dedicated control and microcoding
      8. Intersystem communication and scheduling of system resources
      9. Interfacing a digital system to an external peripheral with specified characteristics
      10. Design issues in development of very large digital systems such as microprocessors, control strategies for multiple instruction machines
      Laboratory

      Projects: None

      Estimated ABET Category Content:

      Engineering Design: 3 credits

      Engineering Science: 0 credits

      Return to the course index or return to the EECS home page


      ECE 320 Logic Design (3)

      Spring

      1996-97

      Catalog Data: Review of basic switching theory, vector Boolean algebra, canonical implementations of medium size circuits, threshold logic, fault detection in combinational and sequential logic, Multivalued and Fuzzy logic, regular expressions, nondeterministic sequential machines. Prerequisite ECE 33. (ES 1.5) (ED 1.5)

      Textbook: Handouts by the instructor

      Reference(s): E. J. McCluskey,