|
|
Electrical
and Computer Engineering Department Graduate Information
MS
in Computer Engineering
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 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).
Plan
of Study
Before
the end of the first quarter in the ECE department, for a full-time
student, or by the end of the first year for a part-time student,
the student must file a plan of study with the graduate advisor.
The form can be found by going to http://www.ece.drexel.edu/grad/plan_of_study_form.pdf
Core
Requirement:
The
core requirement consists of two courses:
A.
ECE-C621
High-performance Computer Architecture;
B.
ECE-C631
Principles of Computer Networking;
Students are also required to complete at least one of the three-course sequences offered in computer engineering.
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 ECEC 500 and ECEC 600 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.
Qualifications
for Admission
Prospective
students should preferably have an undergraduate degree equivalent to a U.S. bachelor's 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 Course
| 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 Regulatory 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 Architecture |
| 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-C654 |
Knowledge
Representation |
| ECE-C655 |
Knowledge
Transformation |
| ECE-C656
|
Knowledge
Intensive Systems |
| ECE-C661 |
VLSI
Design |
| ECE-C662 |
VLSI
Array Processors I |
| ECE-C663 |
VLSI
Array Processors II |
Course
Descriptions
- ECE-C501:
Computational 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:
Computational 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:
Computational 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.
Prerequisite : ECE-C511
- ECE-C513:
Design for Testability: (3 credits)
Syllabus :
Economics vs Complexity vs Strategy of Testing; Fault Models; Test Generation;
Testability Analysis & Designing Testable Circuits; Testing Microprocessrs,
Memories and Computer Components; Test Data Compression; Fault Tolerant
Hardware; Reliability vs Availability; Redundancy and Error Correcting
Codes.
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 hierarchy, 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.
Speedup problems.
- 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 topics in parallel computing.
Prerequisite : ECE-C622
- ECE-C631:
Principles of Computer Networking: (3 credits)
Syllabus :
Principles of circuit switching, packet switching and virtual circuits;
protocol layering; application layer protocols for e-mail and web applications;
naming and addressing; flow control and congestion avoidance with TCP;
Internet Protocol (IP); routing algorithms; router architectures; multicast
protocols; local area network technologies and protocols; issues in
multimedia transmissions; scheduling and policing; Quality-of-Service
and emerging Internet service architectures; principles
of cryptography.
- ECE-C632:
Performance Analysis of Computer Networks: (3 credits)
Syllabus :
Covers probability theory and its applications to networks, random
variables and random processes; Markov chains, multi-dimensional
Markov chains; M/M/1, M/M/m, M/M/m/m, M/G/1 and G/G/1 queueing systems
and their applications in computer networks; analysis of
networks of queues: Kleinrock Independence Approximation; Time-reversibility
and Burke's theorem; Jackson's theorem; the phenomenon
of long-range dependence and its implications in network design and
traffic engineering.
Prerequisite : ECE-C631
- ECE-C633:
Advanced Topics in Computer Networking: (3 credits)
Syllabus :
This course offers an advanced introduction and research perspectives
in the areas of switch/router architectures, scheduling for best-effort
and guaranteed services, QoS mechanisms and architectures, web protocols
and applications, network interface design, optical networking, and
network economics. The course also includes a research project in computer
networking involving literature survey, critical analysis, and finally,
an original and novel research contribution.
Prerequisite : ECE-C632
- ECE-C654:
Knowledge Representation: (3 credits)
Syllabus :
Covers conceptual modeling, including an overview of multiple techniques
of Knowledge Representation. Includes semantic networks, reduced semantic
networks, logic of incomplete knowledge bases, extensional semantic
networks, and application of conceptual models. Introduces procedures
of automated messaging. Focuses on systems and
techniques providing interoperability.
- ECE-C655:
Knowledge Transformation: (3 credits)
Syllabus :
Covers methods and techniques of Knowledge Engineering oriented
toward texts and natural language processing. Methods of automated
summarization and survey generation are explored. Includes recognition
of clauses and their validation. Considers clustering in heuristic
and expert oriented systems as well as the specifics of dealing
with knowledge extraction from the corpora sources.
Prerequisite : ECE-C654
- ECE-C656:
Knowledge Intensive Systems: (3 credits)
Syllabus :
Covers elements of autonomous knowledge processing in the knowledge-intensive
systems. Outlines methods applicable in both linguistic and pictorial
knowledge bases. Considers applications for design purposes, automated
discovery, discovery in mathematics and methods of new knowledge generation.
Prerequisite : ECE-C655
- ECE-C661:
VLSI 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:
VLSI Array Processors I: (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 II: (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
For
additional information, Please contact the Graduate Advisor:
Leonid Hrebien at lhrebien@coe.drexel.edu
|