|
|
Masters of Science in Computer Engineering
Masters of Science in Computer Engineering
Detailed Description
Course Catalog
Computer Engineering is a relatively new discipline whose popularity and relevancy has had a tremendous growth with the recent proliferation of digital computers in our daily lives.
The Master of Science in Computer Engineering (MSCE) program in the Department of EECS has three areas of primary focus: (1) Hardware Systems: including design and test of VLSI systems, performance and analysis of complex hardware systems, design methodology based on formal methods and CAD tools; (2) Software Systems: including development of large software systems, analysis of performance of programs, design of reusable software; (3) Assured Systems: including computer and network security, formal methods, and verification. More details about these focus areas are given at the end of this section.
The MSCE program requires a minimum of 30 credit hours of graduate work beyond the Bachelor of Science (BS) degree. Normally, these 30 credit hours are achieved by students taking 10 graduate courses. This program has three components: core courses, courses to fulfill a track, and elective courses.
Core courses:
Each student's program must include CSE 607-Logical Basis for Computing, CSE 661-Advanced Computer Architecture, and CSE 681-Software Modeling and Analysis . These courses represent the student's core program and are to be taken as early as possible in the program.
Courses to fulfill a track:
There are three tracks, namely: Hardware Track, Software Track, and Assurance Track. Each of them supports one of the focus areas mentioned above. These tracks of specialization regulate courses that students must take to complete their graduate work and they are intended to provide a cohesive set of graduate courses. Students must satisfy at least one track by taking at least four courses (12 credit hours) specified by the track. Since each core course belongs to a different track, students need to take at least three additional courses specified by the track in order to satisfy that track. The courses belonging to each track are specified below.
--------------------------------------------------------------------------------
Courses to Fulfill a Track
Hardware Track
CSE 661- Advanced Computer Architecture
CSE 664 - VLSI Design Methods
CSE 731- Synthesis of High Performance Integrated Circuits
CSE 764 - Advanced Topics in Synthesis of VLSI Design
CSE 765 - Functional Verification of Digital Circuits
CSE 771 - Sequential Machine Theory
CSE 772 - Testing of Digital Circuits
CSE 773 - CAD-Formal Hardware Specification, Design, and Verification
CSE 788 - Computer Aided Design of Digital Systems: Physical Design
CSE 789 - Computer Aided Design of Digital Systems: Logic Design
CSE 864 - Topics in VLSI Design
Software Track
CIS 623 - Structured Programming and Formal Methods
CIS 625 - Computer Graphics
CIS 631 - Compiler Design
CIS 632 - Modeling Concurrent Systems
CIS 657 - Principles of Operating Systems
CSE 681 - Software Modeling & Analysis
CSE 682 - Software Engineering
CSE 686 - Internet Programming
CSE 687 - Object Oriented Design
CSE 775 - Distributed Objects
CSE 776 - Design Patterns
CSE 778 - Advanced Windows Programming
CSE 782 - Models and Metrics in Software Engineering
CSE 784 - Software Studio
Assurance Track
CIS 628 - Introduction to Cryptography
CIS 632 - Modeling Concurrent Systems
CSE 607 Logical Basis for Computing
CSE 758 - Internet Security
CSE 765 - Functional Verification of Digital Circuits
CSE 774 - Principles of Network Security
CSE 785 - Computer Security
--------------------------------------------------------------------------------
Additional Requirements
The student must maintain a cumulative grade point average (GPA) of at least a 3.0 (B) in those courses to be credited towards the MS degree, and a minimum cumulative GPA of 2.8 in all graduate courses taken at Syracuse University .
A maximum of 9 credit hours of transfer credit of graduate coursework taken at another university with a grade of B or better may be included in MS programs. Transfer credit must be approved by petition before the Program of Study is filed.
A maximum of 12 credit hours taken at Syracuse University before the semester of admission may be included in an MS program provided they are relevant to a program in Computer Engineering and have a grade of B or better.
Late in the first semester, student fills out a preliminary program of study. Early in a student's final semester, a Program of Study must be submitted on forms available from the department. A Diploma Request Card must also be submitted at that time.
To maintain full-time status in the EECS Department, students must register for 9 credit hours per semester. Part-time students must complete at least 6 credit hours per academic year.
Programs must include a minimum of 18 credit hours of CSE courses.
Students may select a thesis option of a project option. Thesis students must include in their programs at least one 700-level (or higher) course. Non-thesis students must include at least three 700-level (or higher) courses. These must all be ELE or CSE courses except that at most one may be a 700-level (or higher) CIS course. Independent Study courses cannot be used to satisfy this requirement.
Students electing the thesis option must include CSE 997 Masters Thesis (normally 6 credit hours) in their Programs of Study. Students electing the non-thesis option must include CSE 996 Master's Project (0 credit hours) in their Programs of Study.
The Master's Project must be completed no later than the last semester of coursework.
Not more than 6 credit hours of 500-level courses may be included in the MS program. However, CIS 575 – Introduction to Analysis of Algorithms cannot be counted as a course in the Master's degree program in Computer Engineering. Students interested in taking a course in algorithms may want to take CIS 675 – Design and Analysis of Algorithms.
The Master's Thesis must be prepared in accordance with the Graduate Enrollment Management Center 's Instructions for the Preparation of Theses and Dissertations and must be approved by the thesis advisor. Theses must be presented orally and defended before a faculty panel. The Master's Project summary and report must be prepared in accordance with department requirements (available from the department) and must be approved by the project adviser.
Students may select the remaining courses from the graduate offerings of this or other departments, provided these courses have technical content appropriate to their MS program. Graduate level courses from other departments may be included in the Program of Study only if they are approved, by petition, prior to taking the courses.
Students who do not hold a BS degree in Computer Engineering or a related field may be admitted to a 60 credit hour program. This program includes the following 30 credit hours of remedial undergraduate courses that may be completed in one year:
| ELE 231, ELE 232 Electrical Engineering Fundamentals |
CSE 381 Computer Architecture |
| CSE 261 Digital Logic Design |
CSE 382 Algorithms & Data Structure |
| CSE 281 Computer Organization & Assembly Language |
CSE 397, CSE 398 Computer Lab I, II |
| CSE 351 Mathematical Analysis of Digital Systems |
CIS 586/CSE 585 Design of Operating Systems |
Students who have demonstrated competence in any of the above subjects may request a waiver of the corresponding courses. The remedial coursework must be completed prior to registering for graduate courses. The remaining 30 credit hours must satisfy the requirements for the MSCE stated earlier.
While taking courses to fulfill a track, students may tailor the courses to fulfill their career objectives in one or more of the focus areas of the Department of EECS which are described below.
--------------------------------------------------------------------------------
Hardware Systems Focus Area Supported by the Courses in the Hardware Track
Courses that support this focus area can be grouped into three specialization areas; namely:
- Design and Development
- Computer Aided Design (CAD)
- Testing and Verification
These specialization areas are designed based on current needs of industry, and will provide students with an education with a clear industrial relevance. In addition to getting the required foundations, based on the student academic background and career goals, the prospective student may choose to focus and specialize in one of these areas. For more information about this focus area, the reader is referred to the VLSI Detailed Outline.
Design and Development Specialization Area
The focus of this set of courses is on the design of microelectronic systems. In recent years, there has been a clear need in the industry for versatile engineers who are equally comfortable with design of analog and digital systems. This focus area equips students with a unique set of skills, and prepares them for the design challenges presented at the job. Students learn about the foundations of CMOS VLSI systems, and how to automate the synthesis of a system with both analog and digital components from a specification of its behavior. Engineers in this specialization area will be designing and implementing the next generation of integrated circuits. This includes modeling, simulation, logic design, and layout design of the ICs. Students who want to concentrate in this specialization area, should taken courses from the following list:
CSE561 – Digital Machine Design
CSE664 – VLSI Design Methods
CSE772 – Testing of Digital Circuits
CSE731 – Synthesis of High Performance Integrated Circuits
CSE788 – Computer Aided Design of Digital Systems: Physical Design
CSE789 – Computer Aided Design of Digital Systems: Logic Design
Computer Aided Design (CAD) Specialization Area
This set of courses focuses on automated synthesis of designs at various abstraction levels. Students learn about the design hierarchy, and the methodologies behind synthesis processes at each level of the hierarchy. These courses address the continuous need of the industry to CAD engineers with knowledge and experience in developing CAD tools at all levels of abstraction. Students learn to develop tools that transform a purely behavioral description into a layout in multiple synthesis steps. Students will also learn how to use and develop CAD tools for formal verification of microelectronic systems. Engineers in this specialization area will be developing tools that transform a purely behavioral description into a layout in multiple synthesis steps. This includes architectural synthesis, logic synthesis, and physical synthesis for both analog and digital systems. Students who want to concentrate in this specialization area, should taken courses from the following list:
CSE664 – VLSI Design Methods
CSE681 – Software Modeling & Analysis
CSE687 – Object Oriented Design
CSE731 – Synthesis of High Performance Integrated Circuits
CSE764 – Advanced Topics in Synthesis of VLSI Design
CSE788 – Computer Aided Design of Digital Systems: Physical Design
CSE789 – Computer Aided Design of Digital Systems: Logic Design
Testing and Verification Specialization Area
Design Validation both at the physical and logical levels is the focus of this set of courses. In less than a decade, functional verification has emerged as a promising career path. In semiconductor industry, there is an increased need to engineers with expertise in design verification. The knowledge and skills required from a verification engineer are very different from those of a design engineer. By focusing in this area, students gain the required knowledge and skills for validating the logical correctness of the designs, as well as validating the correctness of the fabricated chips. Students learn about hardware verification languages and functional verification paradigms. Engineers in this specialization area will be responsible of validating the logical correctness of the designs, as well as validating the correctness of the fabricated chips. Also, they will be responsible for testing a fabricated chip for physical flaws. Students who want to concentrate in this specialization area, should taken courses from the following list:
CSE664 – VLSI Design Methods
CSE561 – Digital Machine Design
CSE772 – Testing of Digital Circuits
CSE773 – CAD-Formal Hardware Specification, Design, and Verification
CSE765 – Functional Verification of Digital Circuits
CSE788 – Computer Aided Design of Digital Systems: Physical Design
--------------------------------------------------------------------------------
Software Systems Focus Area Supported by the Courses in the Software Track
A software system is a collection of programs that cooperate to complete some, possibly quite complex, tasks. In the Syracuse area local companies are building software systems for applications in Radar, Harbor Traffic Management, Air Traffic Control, Medical Imaging, and Medical Instrumentation.
In the last half of the twentieth century, computers and their associated software evolved to become very effective tools to manage and control business, finance, transportation, and manufacturing. As well, software systems provide extraordinarily useful tools for extending and enabling research and the practice of science and engineering.
Software Systems is one of three focus areas in the Department of EECS and is relevant to all three of our masters' programs, Computer Science, Computer Engineering, and Electrical Engineering. This focus area is concerned with both theory and design of software systems. Its goal is to prepare students to be productive professionals and researchers using current software technologies and to help them develop the theoretical background to lead conceptualization and construction of software systems of the future.
Here are several suggested ways to tailor courses in the software track to fulfill your career objectives in the software systems focus area:
Industrial software development career
Working on large systems – emphasis on the disciplines used in development (four of these):
CSE 681 – Software Modeling and Analysis
CSE 686 – Internet Programming
CSE 687 – Object Oriented Design
CSE 776 – Design Patterns
CSE 784 – Software Studio
Add courses relating to the product area in which you want to work, e.g., the Web, Networks, Signal Processing, VLSI Design.
Academic career
Emphasis on theory (four of these):
CIS 623 – Structured Programming and Formal Methods
CIS 632 – Modeling Concurrent Systems
CIS 657 – Principles of Operating Systems
CSE 682 – Software Engineering
CSE 687 – Object Oriented Design
Add courses in Artificial Intelligence, Algorithms, Network Security, Systems Assurance.
Embedded Programming
Emphasis on components, sockets, processes, and threads:
CIS 657 – Principles of Operating Systems
CSE 681 – Software Modeling and Analysis
CSE 687 – Object Oriented Design
CSE 775 – Distributed Objects
Add hardware related courses, e.g., Digital Machine Design, Testing Digital Circuits.
Computer-Aided Design
Emphasis on algorithms, design:
CSE 681 – Software Modeling and Analysis
CSE 687 – Object Oriented Design
CSE 776 – Design Patterns
CSE 784 – Software Studio
Add CIS 675 - Design and Analysis of Algorithms and hardware related courses, e.g., VLSI Design, Computer-Aided Design of Digital Systems.
--------------------------------------------------------------------------------
Trusted Systems Focus Supported by Courses in the Assurance Track
Assured and trusted systems meet the need for high confidence that a system behaves correctly, including its availability, integrity, confidentiality, and scalability. The educational purpose of the assurance track is to prepare students to design, develop, and deploy complex systems with confidence in the systems' ability to meet assurance requirements. Our goal is for students to develop a background in security and information assurance with the ability to:
Analyze, synthesize, and make judgments based on engineering and computer science principles; and
Use analytical techniques to evaluate the implications of policies, standards, and procedures; the ramifications of changes; and the potential dangers of refinements.
In the assurance track, our educational outcomes for students are:
Students comprehend the concepts underlying security and system assurance.
Students can apply those concepts to construct assured systems.
Students can critically analyze and evaluate systems' conformance to their requirements.
Students who are interested in the foundations of assurance should take
CSE 607 – Logical Basis for Computing
CIS 628 – Introduction to Cryptography
CIS 632 – Modeling Concurrent Systems
CSE 774 – Principles of Distributed Access Control
Students who are interested in applications of assurance should take
CSE 607 - Logical Basis for Computing
CSE 758 - Internet Security
CSE 765 - Functional Verification of Digital Circuits
CSE 785 - Computer Security
Currently, there is a tremendous need for engineers with assurance skills. For example, in integrated circuit design, over 70% of development costs are associated with design verification. As another example, due to the shortage of people with skills in information assurance and security, the federal government has created the federal Scholarship for Service program whereby the federal government will pay tuition costs for students in exchange for a commitment to work in the federal government in information assurance for two years.
|