|
CE Curriculum Pre2006 |
||
Computer Engineering Curriculum for 2005-06Computer Engineering deals with digital design, computer hardware and architecture, robotics, microprocessors, software and programming, and the interrelationships between hardware and software. Our Computer Engineering curriculum involves courses in digital logic, electronic circuits, computer architecture, robotics, VLSI design, VLSI CAD, software programming, operating systems, microprocessor systems, and parallel computing. Students who are interested in pursuing a curriculum in computing that emphasizes understanding of computer hardware and the hardware/software interface should sign up for a B.S., M.S. or Ph.D. degree in Computer Engineering in the ECE Department.
Students who are interested in pursuing a curriculum in computing that emphasizes understanding of algorithms, theory and software should sign up for a B.S., M.S. or Ph.D. degree in Computer Science.
Computer engineers have very broad professional employment opportunities including design and management responsibilities, working with microchips and computers, application-specific hardware-software systems, computer-aided design (CAD) tools for digital systems, aerospace and defense systems, internet and intranets.
Our Computer Engineering curriculum has strong lab-based learning emphasis and culminates in three design-projects-based courses. Interested undergraduates can get involved earlier in significant project or research work. Our teaching laboratories have recently been upgraded with the latest computer workstations, computer-controlled instruments and new experiments in newly renovated labs.
The computer engineering curriculum allows students to develop a particular area of specialization. The areas include:
· High-Performance Computing
· VLSI and Computer Aided Design
· Embedded Systems
· Software
3.1. Mission of our Undergraduate Program in Computer Engineering
The Computer Engineering (CE) program involves the design and engineering of computers including hardware and software design. It is a carefully chosen synthesis of electrical and computer engineering and computer science courses to train students in the engineering of computers and computer systems and in the use of computers in many
engineering applications. Computer engineering is a broad area involving many possible areas of specialization. These include Computer Architecture, Software Design, Robotics and Computer Vision, Embedded Systems (i.e., the use of digital equipment to monitor and control physical systems).
Computer Engineering Mission Statement
To educate undergraduates in the basic principles and modern practices of the field of computer engineering, and train our students to think independently, to master the systematic approach to problem solving, and to have a keen awareness of the role of engineering in a modern technological society.
Based on the mission statement, the Computer Engineering Undergraduate Curriculum Committee, involving both the faculty and undergraduate students, formalized a series of Educational Objectives. Specific Educational Objectives are for all students to satisfy the following:
a) Students should have a firm foundation in the basic mathematics underlying computer system design, including calculus, linear algebra, probability and discrete mathematics.
b) Students should be able to design and conduct experiments, analyze and interpret data.
c) Students should have an understanding of the functioning of digital devices within a computer. Students should be exposed to the software that drives computers. Students should have an understanding of computers as a whole, i.e., of computer subsystems and the integration of these systems in a functioning computer. Students should have an understanding of how computers can be applied to solve problems in a unified hardware/software view. Students should have a sufficient foundation in electronic circuits and physical electronics to understand the basics of how the underlying computer hardware works.
d) They should have the interpersonal and other skills and general engineering knowledge necessary to function in a multi-disciplinary team.
e) Students should be able to identify, formulate, and solve computer engineering problems.
f) Students should have an understanding of professional and ethical responsibility.
g) Students should have facility in both written and verbal communication on both technical and non-technical levels.
h) Students should have the broad general education necessary to understand the impact of engineering solutions in a global social context.
i) Students should have recognition of the need for and an ability to engage in life-long learning.
j) Students should have knowledge of contemporary issues.
k) Students should be able to use fundamental tools of Computer Engineering including computer simulation, design and analysis of software, and laboratory tools.
3.2 Background on Computer Engineering Curriculum
In response to feedback from our students, employers, and alumni, we designed a new computer engineering curriculum for the year 2000.
The common themes in our CompE curriculum are:
1) Reduced total number of required courses to allow more flexibility.
2) Freshman/Sophomore level courses which provide broad overviews of the fields of electrical engineering and computer engineering.
3) Exciting hands on labs and computer labs to complement all our lecture classes.
4) An exciting curriculum and courses relevant to current applications of computer engineering.
5) Requiring students to do team-based design projects and encouraging students to do undergraduate research.
We offer two courses that are suitable for freshmen and sophomores and are required of both EE and CompE majors. These courses provide a one quarter overview of the fields of electrical engineering and computer engineering along with exciting labs involving the design of a robot and a CD player.
· ECE 202: Introduction to Electrical Engineering
· ECE 203: Introduction to Computer Engineering
We also identified five courses that we felt were essential to a computer engineer and are required of all CompE students: two courses in hardware and three courses in software:
· ECE 205: Fundamentals of Computer Systems Software
· ECE 303: Advanced Digital Logic Design
· ECE 361: Computer Architecture
· CS 343: Operating Systems
· CS 311: Data Structures
We also developed five new fundamentals courses in the EE curriculum, of which CompE students are required to take two courses:
· ECE 221: Fundamentals of Circuits
· ECE 222: Fundamentals of Signals and Systems
· ECE 223: Fundamentals of Solid-State Engineering
· ECE 224: Fundamentals of Electromagnetics and Photonics
· ECE 225: Fundamentals of Electronics
These five courses provide fundamental knowledge in each field of electrical engineering. Subsequently, students will be able to take some of the technical electives from a wide range of choices in each field within the field of EE.
In addition all CompE students are required to take one of the capstone design classes and encouraged to take two 399 independent research units.
· ECE 347 – Microprocessor Systems Design Projects
· ECE 362 - Computer Architecture Project
· ECE 392 – VLSI Systems Design Projects
· ECE 399 - Projects
An overview of the computer engineering curricular concept is illustrated in Figure 2.
Figure 2. An Overview of our CompE Curriculum.
3.3. Details of Computer Engineering CurriculumTotal Requirements - forty-eight courses
Engineering Analysis - four coursesGEN_ENG-205 1 Engineering Analysis 1 - Computational Methods and Linear Algebra
GEN_ENG 205-2 Engineering Analysis 2 - Linear Algebra and Mechanics GEN_ENG 205-3 Engineering Analysis 3 - Dynamic System Modeling GEN_ENG 205-4 Engineering Analysis 4 - Differential Equations Engineering Design and Communications – three coursesIDEA 106-1/English 106-1 – Engineering Design and Communications I
IDEA 106-2/English 106-2 – Engineering Design and Communications II GEN_CMN 102 or 103 – Public Speaking or Analysis and Performance of Literature
Mathematics - four coursesMath 220,224,230 - Calculus I, II, III
Math 234 - Multiple Integration and Vector Calculus Basic Sciences - four coursesPhysics 135-2,3 - General Physics
Two additional science courses. (The courses selected must be consistent with the list of approved Basic Sciences for the McCormick school.)
Basic Engineering - five coursesElectrical Engineering:
ECE 202 – Introduction to Electrical Engineering
Computer Architecture and Numerical Methods:
ECE 203 - Introduction to Computer Engineering
Programming
ECE 231 – Advanced Programming for Computer Engineers
Probability, Statistics, and Quality Control: ECE 302 - Probabilistic Systems and Random Signals
One course chosen from the following four categories:
(The courses selected must be consistent with the list of approved basic engineering courses for the McCormick school.)
Thermodynamics
Fluids and Solids Systems Engineering and Analysis Materials Science Unrestricted Electives - five courses
Social Science - Humanities Requirement - seven courses
Computer Engineering Departmental Program - five courses
ECE 205 - Fundamentals of Computer System Software
ECE 303 - Advanced Logic Design
ECE 361 - Computer Architecture CS 311 - Data Structures and Data Management CS 343-1 - Operating Systems
Technical Electives - 10 courses
Technical Electives can be used to tailor a program to a particular area of specialization. Students must take at least five courses from the following four tracks and two courses from the Fundamental EE courses listed below. The remaining three technical electives can be any 300-level Technical courses from science, mathematics, computer science or engineering and may include the following courses.
Track 1. High-Performance Computing
ECE 328 - Numerical Methods for Engineers
ECE 333 - Introduction to Communication Networks
ECE 358- Introduction to Parallel Computing
ECE 362 - Computer Architecture Projects
Track 2. VLSI & CAD
ECE 353 - Digital Microelectronics
ECE 357 - Introduction to VLSI CAD
ECE 391 - VLSI Systems Design
ECE 392 - VLSI Systems Design Projects Track 3. Embedded Systems
ECE 332 – Digital Image Analysis
ECE 346 - Microprocessor System Design
ECE 347 - Microprocessor System Projects
ECE 390 - Introduction to Robotics
BME 384 - Biomedical Computing
Track 4. Software
CS 310 - Mathematical Foundations of Computer Science
CS 322 - Compiler Construction
CS 336 - Design and Analysis of Algorithms
CS 339 – Introduction to Database Systems
CS 394 - Software Project Management and Development Fundamental EE Courses
ECE 221 - Fundamentals of Circuits
ECE 222 - Fundamentals of Signals and Systems
ECE 223 - Fundamentals of Solid State Engineering ECE 224 - Fundamentals of Electromagnetics and Photonics
ECE 225 – Fundamentals of Electronics
Computer Engineering Capstone Design Requirement – one course
To satisfy the Department’s Computer Engineering design capstone course requirements, students must elect to take at least one course from the following menu:
ECE 347 – Microprocessor System Projects (346 is prerequisite)ECE 362 – Computer Architecture Projects (361 is prerequisite)
ECE 392 – VLSI Design Projects (391 is prerequisite)
At most two units of 399 will be allowed as Technical electives in the Computer Engineering curriculum, in particular, the technical electives that can be any 300-level course from science, mathematics, engineering, or computer science. Additional units of 399 may be taken, but will be counted as an unrestricted elective.
COMPUTER ENGINEERING P/N POLICY STATEMENT:
Among the 16 departmental courses, the P/N option may only be used within the three technical electives that can be any 300-level course from science, mathematics, computer science, engineering or the tracks (but beyond the required five courses from the track and the two fundamental EE courses). In addition, students may have no more than two P or D grades within the 16 departmental courses.
REQUIREMENT FOR GRADUATION In addition to McCormick graduation requirements, a student must receive a C- or better in ECE 202 and 203 in order to continue in the CompE program.
3.4. Preferred Schedule for Computer Engineering CurriculumThe following is a preferred schedule of courses for the computer engineering students to complete the departmental required courses and technical electives.
3.5. Computer Engineering Course Prerequisites
3.6. Computer Engineering Study Plan
3.7 Conformance of the Computer Engineering Curriculum with ABET 2000 Guidelines
The following table indicates how the Computer Engineering curriculum conforms to the ABET 2000 Guidelines.
Units of measurement are in semester hours.
|
||