Home
Contents
Index
E-Mail
Search
Admissions

ADMINISTRATION

  • Department Head
  • Assistant Department Heads
  • Standing Committees
  • Advisory Council
  • UNDERGRADUATE

  • BS Programs
  • ECE Minors
  • Undergraduate Courses
  • Advisors
  • Dual Degree: BS/MS Option
  • Faculty Curricular & Research Groups
  • Undergraduate Announcements
  • Student Organizations
  • GRADUATE

  • MS Programs
  • PhD Programs
  • Faculty Curricular & Research Groups
  • Doctoral Fellowships
  • Graduate Courses
  • Graduate Student Guide
  • Career Integrated Education
  • Graduate Committee
  • Graduate Forms
  • RESEARCH/LABS/FACILITIES

  • Faculty Curricular & Research Groups
  • Research Facilities
  • CoE Research/Info
  • Teaching Labs and Facilities
  • FACULTY RESOURCES

  • Grade Submission
  • Web Finance
  • Funding Opportunities
  • Proposal Submission
  • Academic Calendars
  • REPORTS AND PUBLICATIONS

  • Annual Reports
  • Strategic Plans
  • ECE Brochure
  • ECE Newsletter
  • ECE Faculty Retreat Presentations
  • COURSE EVALUATIONS

    HELPFUL SITES AND RESOURCES

    Electrical and Computer Engineering Department Graduate Information

    MSCPE / Computer Engineering Degree Requirements

    The following curriculum is designed to balance the four major requirements of a master's program in computer engineering:

    ·        Flexibility, to address the needs of students with a variety of different backgrounds.

    ·        Depth, to ensure the graduates will have adequate knowledge and skills in at least one area of specialization.

    ·        Focus on current technological trends, to meet the immediate needs of working students as well as to adequately prepare full-time students for a real-world technological environment.

    ·        Strong foundations in theory, to equip the student with tools to grasp and develop new technologies and trends.

    The Master of Science in Computer Engineering degree requires a minimum of 45 approved graduate credits chosen in accordance with a plan of study arranged in consultation with the student's advisor and the departmental graduate advisor.  Up to but not exceeding 9 research/thesis credits may be taken by students who choose to write a Master's thesis.  Students who elect a non-thesis option are also encouraged to engage in research, by registering for research credits (not exceeding 9 credits).

    Requirement Courses

    Core Requirement:

    The core requirement consists of two courses

    A.     ECE-C621            High-performance Computer Architecture;

    B.     ECE-C631            Principles of Computer Networking;

    which are the first courses of the Computer Architecture sequence and the Networks sequence, respectively.  However, it is required that students complete one of these two sequences.  Since the students need not have advanced knowledge beyond undergraduate level to study either sequence, we plan to offer the sequences on an alternating year.  This will ensure a practical teaching load for the Computer Engineering faculty. 

    Sequence Requirement:

    The students' plan of study must include at least one three-course sequence.  At present, we have available five sequences in the areas of Discrete Mathematics in Computer Engineering, Switching Theory, Computer Architecture, Networks, and Embedded Systems.

    Credits Requirement:

    Students choosing the non-thesis option will be required to take 18 credits of Computer Engineering (ECE-C) courses, 6 credits of Electrical Engineering (ECE-E, ECE-S, ECE-P) courses, 12 credits of Engineering and/or Mathematics and Computer Science courses, 6 credits of free ECE electives, and 3 credits of approved free-electives.  Those choosing the thesis option will be required to take 18 in ECE-C courses, 6 credits in Electrical Engineering courses, 12 credits of Engineering and/or Mathematics and Computer Science courses, and 9 credits in thesis.  Table 1 below summarizes this requirement in the MS in Computer Engineering plan of study.

    Students may choose to participate in the College of Engineering Career Integrated Education (CIE), where they earn 6 academic credits for working in industry on computer engineering related projects.  Three of these credits may be used to satisfy either the "approved free-elective" credits for the non-thesis option, or toward satisfying  the 12 required credits of Engineering and/or Mathematics and Computer Science courses for the thesis option.  The students choosing the CIE option will need a total of 48 credits for graduation.

    Please note that ECE-C500 and ECE-C600 will not count towards the required 15 courses.

    Table 1. MS in Computer Engineering Course Requirements

    Non-thesis Option

    Thesis Option

    18 credits of Computer Engineering (CE)

    18 credits of Computer Engineering

    6   credits of Electrical Engineering (EE)

    6   credits of Electrical Engineering

    12 credits of Engineering and/or Math/Computer Science

    12 credits of Engineering and/or Math/Computer Science

    6   credits of free EE or CE electives, and

    3   credits of approved free-elective

    9   credits of MS thesis

    All students are required to take at least two courses that emphasize development of mathematical skills required in the area of computer engineering. This requirement should be satisfied in consultation with the student's advisor and the departmental graduate advisor.

    Admission Requirements

    Prospective students should preferably have an undergraduate degree in one
    of the following: Computer Engineering, Computer Science or Electrical Engineering. Students holding degrees in other Engineering and Science disciplines, who have had appropriate coursework or training, will also be considered. Appropriate coursework includes courses in, or experience
    with all of the following:

    • Software: advanced programming and operating systems;
    • Computer Architecture: digital systems design, computer organization
      and architecture;
    • Algorithms and Data Structures;
    • Computer Networks.

    Computer Engineering Courses:

    Course List (18 courses: 5 sequences and 3 stand-alone courses)

    ECE-C501   Computational Principles of Representation and Reasoning

    ECE-C502   Computational Principles of Data Analysis and Regularity Recognition

    ECE-C503   Computational Principles of Decision Making, Planning, and Control

    ECE-C511   Issues in Combinational Circuit Design

    ECE-C512   Issues in Sequential Circuit Design

    ECE-C513   Design for Testability

    ECE-C621   High-Performance Computer Architecture

    ECE-C622   Parallel Computer Architectures

    ECE-C623   Advanced Parallel Computer Architectures

    ECE-C631   Principles of Computer Networking

    ECE-C632   Performance Analysis of Computer Networks

    ECE-C633   Advanced Topics in Computer Networking

    ECE-C661   Top-down VLSI Systems Design

    ECE-C662   Design for Synthesis, Testability, and Performance Modeling

    ECE-C663   VLSI Array Processors


    The proposed curriculum requires 18 credits of Computer Engineering (ECE-C) courses.  This requirement gives the students the opportunity to concentrate (depth knowledge) in a specific area of studies such as, Computer
    Architecture, Embedded Systems, Networks, and Switching Theory as the areas of concentration.

    Example of a Plan of Study with Specialization in Digital Design and Embedded Systems

    Computer Engineering Courses

    ECE-C513   Design for Testability

    ECE-C621   High-performance Computer Architecture (core)

    ECE-C622   Parallel Computer Architectures

    ECE-C631   Principles of Computer Networking (core)

    ECE-C661   Top-down VLSI Systems Design (required sequence)

    ECE-C662   Design for Synthesis, Testability, and Performance Modeling

    ECE-C663   VLSI Array Processors

    Computer Science Courses

    MCS 557     Data Structures and Algorithms I (Math requirement)

    MCS 558     Data Structures and Algorithms II

    MCS 720     Operating Systems I

    Electrical Engineering Courses

    ECE-S521   Stochastic Systems I

    ECE-S631   Digital Signal Processing I

    ECE-S632   Digital Signal Processing II

    Example of a Plan of Study with Specialization in Computer Networks

    Computer Engineering Courses

    ECE-C511   Issues in Combinational Circuit Design

    ECE-C631   Principles of Computer Networking (Core and required sequence)

    ECE-C632   Performance Analysis of Computer Networks

    ECE-C633   Advanced Topics in Computer Networking

    ECE-C621   High-performance Computer Architecture (Core)

    ECE-C622   Parallel Computer Architectures

    ECE-C623   Advanced Parallel Computer Architectures

    ECE-C661   Top-down VLSI Systems Design

    Computer Science Courses

    MCS 557     Data Structures and Algorithms I (Math requirement)

    MCS 558     Data Structures and Algorithms II

    MCS 720     Operating Systems I

    MCS 721     Operating System II

    MCS 680     Computer Networks III (Network Programming)

    Electrical Engineering Courses

    ECE-T611    Advanced Telecommunications Engineering I

    ECE-T612    Advanced Telecommunications Engineering II

     

    Example of a Plan of Study with Specialization in Computer Architecture

    Computer Engineering Courses

    ECE-C511   Issues in Combinational Circuit Design

    ECE-C513   Design for Testability

    ECE-C631   Principles of Computer Networking (Core)

    ECE-C632   Performance Analysis of Computer Networks

    ECE-C661   Top-down VLSI System Design

    ECE-C621   High-performance Computer Architecture (Core and required seq.)

    ECE-C622   Parallel Computer Architectures

    ECE-C623   Advanced Parallel Computer Architectures

    Computer Science Courses

    MCS 557     Data Structures and Algorithms I (Math requirement)

    MCS 558     Data Structures and Algorithms II

    MCS 720     Operating Systems I

    MCS 721     Operating System II

    Electrical Engineering Courses

    ECE-T611    Advanced Telecommunications Engineering I

    ECE-S521   Stochastic Systems I

     

    Course Descriptions

    • ECE-C501: Comp Principles of Representation and Reasoning:
      (3 credits)
      Syllabus :
      This course presents fundamentals of discrete mathematics as applied within the computer engineering design and manufacturing environment.  Students are given the theoretical background in representation and reasoning for a broad variety of engineering problems solving situations. Entity-relational techniques of representation are demonstrated to evolve into the object-oriented approach. Various search techniques are applied
      in the cases of representing engineering systems by using theory of automata techniques.

    • ECE-C502: Comp Principles of Data Analysis and Regularity Recognition: (3 credits)
      Syllabus :
      This course presents theoretical methods and techniques of model development applicable within the computer engineering design and manufacturing environment. Students are given the theoretical background in data analysis (including "data mining"). Emphasis is on hybrid systems and discrete events systems. Various methods of recognizing regularities in data will be presented. Elements of the theory of clustering and classification will be dealt with for the paradigm of software and hardware application.
      Prerequisite : ECE-C501

    • ECE-C503: Comp Principles of Decision Making, Planning, and Control: (3 credits)
      Syllabus :
      This course presents theoretical fundamentals and engineering techniques of decision making and problem solving applicable within  the computer engineering design and manufacturing environment. Students are given the theoretical background in optimization methods for a broad variety of situations. Elements of the theory of planning and on-line control of systems are presented within the scope of software and hardware
      computer design and control.
      Prerequisite : ECE-C502

    • ECE-C511: Issues in Combinational Circuit Design: (3 credits)
      Syllabus :
      Representing arithmetic, logic and syntax data for machine processing.  Switching algebra: Boolean and multiple values.  Identification and classification of functions. Realizing completely specified and incompletely specified Boolean functions.  Issues in designing large communication/control Boolean functions.  Fault models and testing of Boolean function.

    • ECE-C512: Issues in Sequential Circuit Design: (3 credits)
      Syllabus :
      Finite automata and their realization by sequential machines, capabilities, transformation and minimization of finite automata, linear finite automata.  Clocked pulsed and level mode sequential circuits.  Malfunctions in sequential circuits: hazards, races, lockouts, metastability.  Issues of
      state assignment.  Evolution of memory elements design: ROM vs. RAM vs. associative memory.  Testing of memory and design for testability.
      Prerequisite : ECE-C511

    • ECE-C513: Design for Testability: (3 credits)
      Syllabus :
      Complexity of arithmetic operation vs. logic complexity (speed & space)
      of circuits executing these operation.  Fixed point arithmetic; achievable trade-off between speed vs. time complexity; speeding up all basic arithmetic operations.  Floating point arithmetic; layout of arithmetic registers for improving the speed up and effects of pipelining.  Ultra high speed (carry free) arithmetic circuits, residue number systems and limits
      of fast arithmetic (Winograd's bounds).
      Prerequisite : ECE-C511 and ECE-C512

    • ECE-C621: High-performance Computer Architecture: (3 credits)
      Syllabus :
      Maximizing single-processor performance. Concepts and techniques for design of computer systems. Processor design, instruction set
      architecture design and implementation, memory organization, pipelined processors, bus bandwidth, processor/memory interconnections, cache memory, virtual memory, advanced I/O systems, performance evaluation.

    • ECE-C622: Parallel Computer Architectures: (3 credits)
      Syllabus :
      Advanced techniques of computer design. Use of parallel processing to achieve high performance levels. Fine- and coarse-grained parallelism. Multiple-CPU parallelism, through multiprocessors, array and vector processors, dataflow architectures and special purpose processors.
      Design implications of memory latency and bandwidth limitations.
      Speed-up problems.
      Prerequisite : ECE-C621

    • ECE-C623: Advanced Parallel Computer Architectures: (3 credits)
      Syllabus :
      Modern research topics and methods in parallel computer architectures. Parallel algorithms, interconnection networks, SIMD/MIMD machines, processor synchronization, data coherence, dataflow machines, special purpose processors. Selected parallel computing topics.
      Prerequisite : ECE-C622

    • ECE-C631: Principles of Computer Networking: (3 credits)
      Syllabus :
      Overview of computer networks; protocol reference models; local area networks; switching, flow control and congestion control in ATM networks and the Internet; principles of TCP/IP; e-mail and browser application protocols; network security.

    • ECE-C632: Performance Analysis of Computer Networks: (3 credits)
      Syllabus :
      Applied probability theory; random processes; Markov chains; queuing analysis; traffic models; applications of queuing theory to performance analysis and modeling of computer networks.
      Prerequisite : ECE-C631

    • ECE-C633: Advanced Topics in Computer Networking: (3 credits)
      Syllabus :
      Internet routers; analysis of buffering techniques; design of network interfaces; network programming; network computing; system area networks; self-similar traffic and other advanced topics in computer networks.
      Prerequisite : ECE-C631 and ECE-C632

    • ECE-C661: Top-down VLSI Systems Design: (3 credits)
      Syllabus :
      Top-down design methodology using VHDL hardware description language and simulation.  Behavioral descriptions (process statements) in datapath, control unit and systems.  Projects include design of a behavioral model
      of a stack architecture computer.  Design automation tools are used extensively.

    • ECE-C662: Design for Synthesis, Testability, and Performance Modeling: (3 credits)
      Syllabus :
      Synthesizable behavioral code. Field programmable gate arrays are used
      in the projects.  Test pattern generation and design for testability techniques (built-in self-test and scan design).  VHDL-based performance modeling (Petri nets model).
      Prerequisite : ECE-C661

    • ECE-C663: VLSI Array Processors: (3 credits)
      Syllabus :
      Digital signal processing algorithms, mapping algorithms onto array structures, systolic arrays, wavefront arrays and systolic/wavefront array computers.  Projects include behavioral design of systolic and wavefront arrays solving system of linear equations.
      Prerequisite : ECE-C662