McCormick Northwestern Engineering

EECS Undergraduate Study Manual
2009-2010

Electrical Engineering & Computer Science Department
1 11/5/2009

TABLE OF CONTENTS
1. Welcome from the Chair ................................................................................................3 1.1 Message from the Associate Chair for the Undergraduate Program ...................4 2. Electrical Engineering Curriculum ................................................................................5 2.1 Mission Statement................................................................................................5 2.2 Background on Electrical Engineering Curriculum .............................................6 2.3 Details of the Electrical Engineering Curriculum............................................... 8 2.4 Preferred Schedule for Electrical Engineering Curriculum ...............................11 2.5 Electrical Engineering Course Prerequisites ......................................................12 2.6 Electrical Engineering Study Plan .....................................................................13 2.7 Conformance with ABET 2000 Guidelines .......................................................14 2.8 EECS 399 Design Requirement Form. ..............................................................16 3. Computer Engineering Curriculum..............................................................................17 3.1 Mission Statement..............................................................................................18 3.2 Background on Computer Engineering Curriculum ..........................................19 3.3 Details of Computer Engineering Curriculum ...................................................20 3.4 Preferred Schedule for Computer Engineering Curriculum ..............................24 3.5 Computer Engineering Course Prerequisites .....................................................25 3.6 Computer Engineering Study Plan.....................................................................26 3.7 Conformance with ABET 2000 Guidelines .......................................................27 4. Computer Science Curriculum (B.S., B.A.-CS) .........................................................29 4.1 Background ........................................................................................................30 4.2 Core ....................................................................................................................31 4.3 Breadth ...............................................................................................................31 4.4 Depth ..................................................................................................................33 4.5 Project ................................................................................................................36 4.6 Restrictions ........................................................................................................36 Appendix A Mapping to the McCormick Framework .............................................37 Appendix B Mapping to the Weinberg Framework ................................................39 4.7 CS Undergraduate Curriculum Prerequisite Graph ...........................................41 4.8 CS Project Requirement, Project Course List ....................................................42 4.9 CS EA/EDC Form..............................................................................................44 5. Electives and Non-technical Courses...........................................................................46 6. Special Programs, Honors Programs ...........................................................................47 7. Student Advising..........................................................................................................50 8. Electrical Engineering and Computer Science Faculty ...............................................51 9. Laboratory and Computer Facilities ............................................................................57

2

11/5/2009

1 Welcome from the Chair
My name is Alok Choudhary, and as Chair of EECS I am very pleased to inform you about the opportunities available to you as an undergraduate in our department. To major in Electrical Engineering (EE), Computer Engineering (CE), or Computer Science (CS) is to choose an excellent and lucrative career path, with many options available to you after graduation. Our graduates immediately go to work at such illustrious companies as Google, Microsoft, Motorola, Apple, Ford, General Motors, IBM, Intel, Yahoo, Sun, HP, Northrup Grumann. Many go on to graduate school, and a degree from Northwestern assists in placement in top graduate programs for PhD and professional degrees. Currently our undergraduate majors number about 250. Many work in research labs alongside professors and graduate students doing real research and publishing papers . Our students are involved in Design Competition, developing competing robots , building and racing NU's solar car , creating games , animation and computer graphics , and numerous other exciting projects. Economics, Communications, Linguistics, Audio, Video, Networks, Theory, Distributed computing -- all and more are found within EECS. Take a look at our research groups list .
U U U U U U U U U U U U U U

Degree options are wide-ranging . We have CS, EE, and CE, and also offer an option to get your Masters simultaneously with your BS degree, or to choose a course of study in Computer Science within the Weinberg School of Arts & Sciences (as an alternative to the McCormick School of Engineering).
U U

Non-majors can also learn about computers and programming by making use of our NU Programming curriculum , an invaluable resource.
U U

I invite you to explore our website and learn more about us. If you have questions, or would like specific information about one or more of our programs, please phone us at 847-491-3451 or email mentors@eecs.northwestern.edu. We look forward to hearing from you! Sincerely,

Alok N. Choudhary, Professor and Chair

1.1 Welcome from the EECS Associate Chair for the Undergraduate Program
It has been a busy and productive year for all of us involved in the EECS undergraduate degree programs. There are several exciting new developments to share with you: First, our Computer Science (CS) degree program has been thoroughly revised. This initiative, led by Professor Peter Dinda, started by examining the top CS programs in the US. We adopted what we viewed as best practices, and introduced unique innovations of our own. The new program adds breadth and depth, allowing students flexibility in studying the area(s) they find most interesting while ensuring that all of our CS graduates are well founded in the fundamentals. Our Electrical Engineering (EE) and Computer Engineering (CompE) programs underwent similar major revisions around the year 2000 and are now being continuously examined and improved. Many students who are interested in EECS also have an interest in entering a career in medicine or studying Biomedical Engineering as a second major or in graduate school. Recognizing this, we have initiated changes which facilitate Premedical and Biomedical studies in EE, CompE and CS. Specifically, starting this year we have made courses in the Biology and Organic chemistry 210 course sequences available as electives. We have also incorporated a number of Biomedical instrumentation and imaging related courses in the EE technical electives program, including Medical Imaging, Cardiovascular Instrumentation, Magnetic Resonance Imaging, Optical Microscopy and Biosensors. Students interested in premedical studies in EECS are encouraged to contact the premedical advising office on campus for general advice about course choices and the medical school application procedure. Finally, as I write this, the 2008 US News and World Report undergraduate engineering program rankings have just been released. I am proud to inform you that our EE and CompE programs are now ranked as number 13 and 16 respectively among programs at all research universities in the US. (Computer Science BS programs are not ranked.) Our rankings have steadily climbed over the past decade, not only due to the efforts of the faculty but also in large part due to the very high quality of our students and their successes after graduation. Again, welcome to EECS. I look forward to meeting each of you and following your progress during your studies.

Sincerely,

Alan V. Sahakian, Ph.D. Professor of EECS and BME Associate Chair of EECS for Undergraduate Program

4

11/5/2009

2. Electrical Engineering Curriculum
Electrical Engineering involves the development and application of electronic and optical technologies for generating, communicating, and processing information. Our EE curriculum includes courses in electronic circuits, solid-state electronics, electromagnetics, optics, lasers, controls, digital signal processing, communications and networks. Individual engineers may work in one or more of a large number of functional capacities in support of a total engineering effort. For example, engineers may choose system design and specification, component design, research and development, university teaching and research, consulting, production and quality control, sales, cost analysis, or management. Students may specialize in any of a number of areas, including: • • • • Circuits and Electronics Solid State Engineering Electromagnetics and Photonics Systems including Digital Signal Processing, Communications and Control

2.1 Mission Statement for our Undergraduate Program in EE
The Electrical Engineering (EE) program involves the design and analysis of electronic devices and circuits, photonics, electromagnetics, and analog and digital systems, including control, communication, and information systems. It encompasses several broad areas and a core of fundamental knowledge, as well as many subfields of specialization. The goal of the EE undergraduate program is to educate electrical engineers in the fundamentals and applications of electrical engineering via a curriculum that allows sufficient flexibility to encompass graduates directly entering the work force and graduates pursuing graduate education. Graduates of the program should have a solid foundation in the theory underlying the field as it’s practiced, and be able to communicate effectively both in oral and written forms. A distinguishing feature of our program is the fact that the EE department at Northwestern is relatively small, which allows small class sizes and close interaction between students and faculty. Electrical Engineering Undergraduate Mission Statement To educate undergraduates in the basic principles and modern practices of the field of electrical 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. Specific Educational Objectives are for all students to satisfy the following: a. Students should have a firm foundation in the basic mathematics underlying electrical engineering design, including calculus, linear algebra, probability, and vector calculus, and be able to apply this. b. Students should be able to design and conduct experiments, and analyze and interpret data. c. Students should have a sufficient foundation in the fundamental areas of electrical engineering to understand problems very broadly. These fundamental areas are Physical Electronics and

5

11/5/2009

including computer simulation. and laboratory tools. we designed a new electrical engineering curriculum. 2) Freshman/Sophomore level courses which provide broad overviews of the fields of electrical engineering and computer engineering. e. 6) Requiring students to do team-based design projects and encouraging students to do undergraduate research. The Electrical Engineering curriculum is compatible with a premedical program of study. and solve electrical engineering problems. and Signals and Systems. Students should be able to communicate effectively in written and oral forms. Students should have a broad education that enables them to understand the impact of engineering in a social context. Students should have recognition of the need for and an ability to engage in life-long learning. Students should have the interpersonal and other skills and general engineering knowledge necessary to function in a multi-disciplinary team. g. Students should be exposed to the issues of professionalism and ethical responsibility through examples. Students should be able to identify. design and analysis software. Students should be able to use the fundamental tools of Electrical Engineering. these courses would also form the pre-requisites for all subsequent advanced courses in those sub-fields. 2. Electronic Circuits.2 Background on Electrical Engineering Curriculum In the year 2000. j.Devices. 5) An exciting curriculum and courses relevant to current applications of electrical engineering. Students should also have a deep enough training in at least one of the fundamental areas to perform detailed design and analysis. formulate. Electromagnetics. please discuss it with your academic adviser. h. 6 11/5/2009 . and alumni. in response to feedback from our students. 4) Exciting hands-on labs and computer labs to complement all our lecture classes. employers. d. f. The common themes in our EE curriculum are: 1) Reduced total number of required courses to allow more flexibility. 3) Several fundamentals courses to provide in-depth introductions to various sub-fields of electrical engineering. i. We offer two courses that are suitable for freshmen and sophomores and are required of both EE and CE majors and provide a one quarter overview of the fields of computer engineering and electrical engineering along with exciting labs involving the design of a robot and a CD player. Students should have knowledge of contemporary issues. If you are interested in this option. k.

Subsequently. An Overview of our EE Curriculum. students will be able to take the rest of the technical electives from a wide range of choices in each field.• • EECS 202: Introduction to Electrical Engineering EECS 203: Introduction to Computer Engineering We also offer five fundamentals courses: • • • • • EECS 221: Fundamentals of Circuits EECS 222: Fundamentals of Signals and Systems EECS 223: Fundamentals of Solid-State Engineering EECS 224: Fundamentals of Electromagnetics and Photonics EECS 225: Fundamentals of Electronics These five courses are required of all EE students and provide fundamental knowledge in each field of electrical engineering. 7 11/5/2009 . In addition all EE students are required to take one of the capstone design class projects and encouraged to take two 399 independent research units. EECS 202 Introduction to Electrical Engineering EECS 203 Introduction to Computer Engineering EECS 221 Fundamentals of Circuits EECS 222 Fundamentals of Signals and Systems EECS 223 Fundamentals of Solid State Eng EECS 224 Fundamentals of EM and Photonics EECS 225 Fundamentals of Circuits and Electronics Circuits and Electronics Track Solid State Engineering Track Electromagnetics and Photonics Track Systems: DSP Comm Control Figure 1. • • • • EECS 347-1: Microprocessor Systems Design Projects EECS 392: VLSI Systems Design Projects EECS 398: Electrical Engineering Design EECS 399: Project An overview of the electrical engineering curricular concept is illustrated in Figure 1.

III Math 234: Multiple Integration and Vector Calculus Basic Sciences .) Basic Engineering . II.230: Calculus I. and Quality Control: EECS 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.Linear Algebra and Mechanics GEN_ENG 205-3: Engineering Analysis 3 .five courses Social Science .Dynamic System Modeling GEN_ENG 205-4: Engineering Analysis 4 . Statistics.Computational Methods and Linear Algebra GEN_ENG 205-2: Engineering Analysis 2 .four courses Physics 135-2.Differential Equations Engineering Design and Communications – three courses IDEA 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 .Humanities Requirement .five courses EECS 221: Fundamentals of Circuits EECS 222: Fundamentals of Signals and Systems EECS 223: Fundamentals of Solid State Engineering EECS 224: Fundamentals of Electromagnetics and Photonics EECS 225: Fundamentals of Electronics 8 11/5/2009 .seven courses Electrical Engineering Departmental Program .) Thermodynamics Fluids and Solids Systems Engineering and Analysis Materials Science Unrestricted Electives . Details of the Electrical Engineering Curriculum Total Requirements .four courses GEN_ENG 205-1: Engineering Analysis 1 .forty-eight courses Engineering Analysis .3.224.3: General Physics Two additional science courses (The courses selected must be consistent with the list of approved Basic Sciences for the McCormick school.four courses Math 220.five courses Electrical Engineering: EECS 202: Introduction to Electrical Engineering Computer Architecture and Numerical Methods: EECS 203: Introduction to Computer Engineering Programming EECS 230: Programming for Engineers or EECS 211: Fundamentals of Programming (C++) Probability.2.

Two additional courses must be 300-level Technical elective courses from the EECS department. The remaining two courses can be 300-level Technical courses from science. Circuits and Electronics EECS 303: Advanced Digital Logic Design EECS 353: Digital Microelectronics EECS 391: Introduction to VLSI Design EECS 393: Design and Analysis of High-Speed Integrated Circuits EECS 355: ASIC and FPGA Design EECS 346: Microprocessor System Design Solid State Engineering EECS 250: Physical Electronics and Devices EECS 381: Electronic Properties of Materials EECS 384: Solid State Electronic Devices EECS 385: Optoelectronics EECS 388: Microelectronic Technology ME 381: Introduction to Microelectromechanical Systems Electromagnetics and Photonics EECS 308: Advanced Electromagnetics and Photonics EECS 379: Lasers and Coherent Optics EECS 382: Photonic Information Processing EECS 383: Fiber-Optic Communications EECS 386: Computational Electromagnetics and Photonics Systems • Digital Signal Processing EECS 332: Digital Image Analysis EECS 359: Digital Signal Processing EECS 363: Digital Filters • Communications Systems EECS 307: Communications Systems EECS 333: Introduction to Communications Networks EECS 378: Digital Communications EECS 380: Wireless Communications • Control EECS 360 – Introduction to Feedback Systems or ME 391: Fundamentals of Control Systems EECS 374: Introduction to Digital Control EECS 390: Introduction to Robotics ME 333: Introduction to Mechatronics 9 11/5/2009 .3. computer science or engineering courses and may include the following courses.ten courses Technical Electives can be used to tailor a program to a particular area of specialization. What follows are recommended courses for specialization in each of the four EE tracks. At least six of the ten technical electives must be chosen from the following list of courses.3 or Chem 210-1.2. mathematics.2. or Biol 210-1.Technical Electives . or from the list of courses below.

At most two units of EECS 399 will be allowed as Technical electives and one as the design requirement in the Electrical Engineering curriculum. ELECTRICAL ENGINEERING P/N POLICY STATEMENT: Among the 16 departmental courses. for this 399 to be counted as the design requirement. a student must receive a C– or better in EECS 202 and EECS 203 in order to continue in the EE program. students must elect to take at least one course from the following menu: EECS 398: Electrical Engineering Design EECS 392: VLSI Design Projects (391 is prerequisite) EECS 347-1: Microprocessor System Projects (346 is prerequisite) EECS 399: Project (where the 399 is structured as a design project)* *Students must file a form. Additional units of EECS 399 may be taken. In addition. included in this handbook. 10 11/5/2009 . the P/N option may only be used within the ten technical electives. but will be counted as unrestricted electives. REQUIREMENT FOR GRADUATION In addition to McCormick graduation requirements.• Biomedical Systems BME 325: Medical Imaging BME 383: Cardiovascular Instrumentation BME 327: Magnetic Resource Imaging BME 333: Modern Optical Microscopy and Imaging BME 317: Biochemical Sensors Electrical Design Requirement – one course To satisfy the Department’s EE design capstone course requirements. students may only have two P or D grades in the 16 departmental courses.

Unres Elective SS/Hum Tech Elective Tech Elective Tech Elective SS/Hum Tech Elective Basic Eng Tech Elective SS/Hum Work Junior Co-op Pre-Senior Co-op Tech Elective Tech Elective Unres Elective SS/Hum Tech Elective Tech Elective EE Design Unres Elective Senior Co-op Tech Elective Tech Elective Unres Elective Unres Elective * Note that 221 and 223 must be taken before 225 11 11/5/2009 .W) GenEng 205-3 IDEA .106-2 EECS 223 (F) EECS 230 (W) EECS 302 (F) SS/Hum Tech Elective Tech Elective Unres Elective SS/Hum Tech Elective Tech Elective Unres Elective Unres Elective Work Sophomore Junior Non Co-op Senior Non Co-op Tech Elective Basic Eng.4 Preferred Schedule for Electrical Engineering 2007-2008 FALL Freshman Math 220 Chem-101 GenEng 205-1 GenCmn 102 or 103 EECS 202 (W.ELECTRICAL ENGINEERING & COMPUTER SCIENCE 2.S) Physics 135-2 GenEng .205-4 SS/Hum EECS 222 (W) EECS 224 (S) SS/Hum WINTER Math 224 Chem-102 GenEng 205-2 IDEA .106-1 EECS 221 (S) Physics 135-3 Math 234 SS/Hum EECS 225 (F) Tech Elective Tech Elective SS/Hum Tech Elective EE Design Tech Elective Unres Elective Tech Elective Tech Elective Tech Elective SS/Hum Work SPRING Math 230 EECS 203 (F.

2.5 Electrical Engineering Course Prerequisites GTK 106-1 LEGEND Bold labels: Required courses * : See course description. Regular labels: Technical electives 106-2 224 205-2 Physics 135-2 230 205-3 135-3 t Math 220 GTK 205-1 202 205-4 203 230 or 211 205 Math 234 222 302 225 250 223 381 224 221 303 361 307 384 385 388 389 Solid State 391 346 308 353 379 382 383 386 Photonics 359 328 363 365 332* Signal Process 333 378 380 12 360 Circuits 362 392 393 347-1 390 Computers 374 Controls 11/5/2009 Comm Networks .

Mathematics. Basic Science Departmental Program Technical Electives Basic Engineering EECS 202 EECS 203 EECS 230 EECS 302 Communications & Social Science/Humanities G_C102 or 103 Unrestricted 13 11/5/2009 .Name 1 G_E 205-1 G_E 205-2 G_E 205-3 G_E 205-4 IDEA 106-1 IDEA 106-2 Math 220 Math 224 Math 230 Math 234 Phy 135-2 Phy 135-3 2 3 4 5 6 7 8 9 2.6 ELECTRICAL ENGINEERING STUDY PLAN 10 11 12 13 14 15 16 17 18 EECS 221 EECS 222 EECS 223 EECS 224 EECS 225 Capstone Design 1 2 3 4 5 6 7 8 9 2007-2008 10 11 12 13 14 15 16 17 18 General Engineering.

Spring 2. Spring 1.67 GEN_ENG-205-4.67 2. Intro to Electrical Eng EECS 203.33( ) ( ) 2.5 % 11/5/2009 1.7 Conformance of the Electrical Engineering Curriculum with ABET 2000 Guidelines The following Basic-Level Curriculum table indicates how the Electrical Engineering curriculum conforms to the ABET 2000 guidelines. Fall 1. Fundamentals of Programming (C++) EECS 302. Winter 2.53 ( ) ( ) ( ) ( ) 1.67 2. Number. Intro to Computer Eng Physics 135-2. Winter 2.67 2. Calculus I Basic Science Elective 1 GEN_ENG-205-1. Computational Methods and Linear Algebra General Communication 102 or 103 Math 224. Spring 1. Fall 2.14 ( ) ( ) 0. Fall 1. Engineering Design and Communications II EECS 202. Probability Hum/Social Science Elective 3 0.34 TOTALS-ABET BASIC-LEVEL REQUIREMENTS See next page OVERALL TOTAL FOR DEGREE PERCENT OF TOTAL 128 See next page ) ) 128 Totals must Minimum semester credit hours Minimum percentage 32 hrs 25% 14 . Semester or Quarter Course (Department. Fall 2.00 ( ( 0. Fall 1. Winter 2. Winter 2.67 2.27 ( ) ) ) ) 2. Fund of solid-state EECS 230.67 2.40 0.00(√) 2. Spring Math 220. Linear Algebra and Mechanics IDEA 106-1. Winter 1. Year.67 2.67 2. Spring 1.67 2. Fall 1. Fundamentals of Circuits Math 234 – Calculus and Analytical Geometry Physics 135-3. Waves Hum/Social Science Elective 2 EECS 223. Vectors and Partial Derivatives GEN_ENG-205-3.67 2.67 1.33 ( ) (√) 2. Differential Equations Hum/Social Science Elective 1 EECS 221.67 2.34 2.53 ( ) (√) 2.2.67 See next page ( ) next page 128( ( 48 hrs 37. Dynamic System Modeling IDEA 106-2.53 ( ) 2. Spring 2.14 ( ) 0. Winter 1. Engineering Design and Communications I Math 230. Units of measurement are in semester hours. Programming for Eng or EECS 211. Fall 2. Electricity and Magnetism 2.14 0. Title) Math & Basic Science Check if Contains Design Category (Credit Hours) Engineering Topics General Education Other (√) 1.67 ( 2.67 (√) 1. Calculus II Basic Science Elective 2 GEN_ENG-205-2. Spring 2.67 2. Winter 1. Winter 1. Spring 2. Fall 2.67 2.67 2.

67 (√) 2. Winter 4.67 2.05 128 31% Totals must satisfy one set Minimum semester credit hours Minimum percentage 15 11/5/2009 . Title) Math & Basic Science Check if Contains Design Category (Credit Hours) Engineering Topics General Education Other (√) 3. Winter 3.67 2. Spring 3.67 ( ) 2.5 % 0.0 ( ) 2. Fall 3.67 (√) ( ) 2.67 (√) ( ) 2.67 (√) ( ) ( ) 2.67(√) 2.67 ( ) ( ) 2. Fundamentals of Electronics Technical Elective 2 Technical Elective 3 Social Science Elective 5 Technical Elective 4 Technical Elective 5 Unrestricted Elective 1 Social Science Elective 6 Technical Elective 6 Basic Engineering elective Social Science Elective 7 Unrestricted Elective 2 Technical Elective 7 Technical Elective 8 Capstone Design Unrestricted Elective 3 Technical Elective 9 Technical Elective 10 Unrestricted Elective 4 Unrestricted Elective 5 35. Fall 4. Fall 3.57 ( ) 128( ) 41%( ) 2.67 TOTALS-ABET BASIC-LEVEL REQUIREMENTS OVERALL TOTAL FOR DEGREE PERCENT OF TOTAL 2.54 128 28% 32 hrs 25% 48 hrs 37.67(√) 2. Fall 3. Winter 4.67 0. Fall 3.67 2.67 2. Winter 3.Table 1. Basic-Level Curriculum (continued) (Electrical Engineering Program) Year. Winter 3. Spring 3. Semester or Quarter Course (Department.67(√) ( ) ( ) 52.67 (√) 2.67 (√) 2. Spring 4. Spring 4. Winter 3. Fundamentals of Signals and Systems EECS 224.67 2.67 2.67 40. Spring 4. Spring 4.67 2. Number.00 ( ) 2.67 ( ) ( ) ( ) 2. Fall 4. Fall 4. Spring EECS 222. Fall 4.67 2. Fundamentals of Electromagnetics and Photonics Technical Elective 1 Social Science Elective 4 EECS 225. Winter 4.67 ( ) 2. Winter 4. Spring 3.

8 EECS 399 Design Requirement Form Electrical Engineering and Computer Science Department McCormick School of Engineering Northwestern University Evanston. All information on the form must be filled out. Instructor's Name: (printed)__________________________________________ Instructor's Signature: _________________________________________________ Date: ________________________________________ 16 11/5/2009 . including engineering standards and realistic constraints. Il 60208 Request for Approval to use EECS 399 as design credit in the EE major This form is to be used to recognize the use of EECS 399 as meeting the departmental design requirement for Electrical Engineering majors and thus should only be filled out for Electrical Engineering Majors. L269.2. The student should register on line for EECS 399 and submit this completed form to the Academic Services Office. in order to have the 399 posted as design credit. It should be completed by the instructor and given to the student at the time of giving the student the permission number for EECS 399. This form should not be confused with a permission form to take EECS 399. the instructor certifies that this 399 meets the ABET definition of a major design experience in Electrical Engineering. Please print clearly: Students Name: _________________________________________ Student's Empl Id (7 digit ID #): ___________________________ Student’s Major: __________________________________ Section Number:__________________________________ Quarter and Year taken:______________________________________ By signing this form.

computer-controlled instruments and new experiments in newly renovated labs. aerospace systems.D. VLSI design. Computer engineering is a broad area involving many possible areas of specialization. electronic circuits. applicationspecific hardware-software systems. from transistors to software systems. and Embedded Systems. VLSI CAD. Our Computer Engineering curriculum has strong lab-based learning emphasis and culminates in three design-projects-based courses. Computer Vision. 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. degree in Computer Engineering in the EECS Department.1. Software Design. Robotics. Computer engineers have broad professional employment opportunities including design and management responsibilities. and parallel computing. 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. Computer Engineering Curriculum The Computer Engineering program teaches the design of complex digital systems. computer architecture. defense systems. and embedded systems. VLSI Systems. robotics. working with microchips and computers. The Computer Engineering curriculum allows students to focus on a particular area of specialization. Our Computer Engineering curriculum involves courses in digital logic. The interrelationships between and appropriate roles of hardware and software are emphasized. and networked systems. computer science.S. or Ph..S. Computer-Aided Design. robotics. software systems. It is a carefully chosen synthesis of computer engineering. and electrical engineering courses to train students how do design complex digital systems. 17 11/5/2009 . microprocessors. from transistors to software. microprocessor-based systems. It deals with digital circuit and system design. software development. operating systems. M.3. Our teaching laboratories have recently been upgraded with the latest computer workstations. computer architecture. computer-aided design (CAD) tools for digital systems. These include Computer Architecture. The areas include • • • • High-Performance Computing VLSI and Computer Aided Design Embedded Systems Software 3. Interested undergraduates can get involved earlier in significant project or research work.

Students should be exposed to the software that drives computers. of computer subsystems and the integration of these systems in a functioning computer. design and analysis of software. linear algebra. d) They should have the interpersonal and other skills and general engineering knowledge necessary to function in a multi-disciplinary team. 18 11/5/2009 . and train our students to think independently. Students should have an understanding of how computers can be applied to solve problems in a unified hardware/software view.Computer Engineering Mission Statement To educate undergraduates in the basic principles and modern practices of the field of computer engineering. c) Students should have an understanding of the functioning of digital devices within a computer. to master the systematic approach to problem solving. involving both the faculty and undergraduate students. i) Students should have recognition of the need for and an ability to engage in life-long learning. b) Students should be able to design and conduct experiments as well as analyze and interpret data. and to have a keen awareness of the role of engineering in a modern technological society. and solve computer engineering problems. formalized a series of Educational Objectives which all students should satisfy: a) Students should have a firm foundation in the basic mathematics underlying computer system design. probability and discrete mathematics. formulate. Students should have an understanding of computers as a whole. e) Students should be able to identify.. k) Students should be able to use fundamental tools of Computer Engineering including computer simulation. including calculus. Students should have a sufficient foundation in electronic circuits and physical electronics to understand the basics of how the underlying computer hardware works.e. j) Students should have knowledge of contemporary issues. the Computer Engineering Undergraduate Curriculum Committee. Based on the mission statement. and laboratory tools. 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.

The Computer Engineering curriculum is compatible with a premedical program of study. The common themes in the Computer Engineering curriculum follow: 1) A moderate number of required courses to allow flexibility in plans of study. If you are interested in this option.. We offer two courses that are suitable for freshmen and sophomores and are required of both EE and Computer Engineering majors. • EECS 202: Introduction to Electrical Engineering • EECS 203: Introduction to Computer Engineering Five courses have been identified as essential to Computer Engineers and are required. and students. please discuss it with your academic adviser. 3) Exciting hands-on labs and computer labs to complement lectures. Subsequently. 2) Freshman/Sophomore level courses that provide broad overviews of the fields of electrical engineering and computer engineering. e.2 Background on Computer Engineering Curriculum Our curriculum is continuously revised based on feedback from our constituents.3. our advisory board.g. 4) A curriculum and courses relevant to current applications of computer engineering. These courses provide one-quarter overviews of the fields of electrical engineering and computer engineering along with exciting labs involving the design of a robot and a CD player. 19 11/5/2009 . industrial affiliates. • EECS 205: Fundamentals of Computer Systems Software • EECS 221: Fundamentals of Circuits • EECS 303: Advanced Digital Logic Design • EECS 361: Computer Architecture • EECS 311: Data Structures Computer Engineers are also required to take two of the following relevant courses: • EECS 213: Introduction to Computer Systems • EECS 222: Fundamentals of Signals and Systems • EECS 223: Fundamentals of Solid-State Engineering • EECS 224: Fundamentals of Electromagnetics and Photonics • EECS 225: Fundamentals of Electronics These five courses provide fundamental knowledge in each field of electrical engineering. 5) Requiring team-based design projects and encouraging undergraduate research. 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.

3. 3. Details of Computer Engineering Curriculum Total Requirements – forty-eight courses Engineering Analysis – four courses GEN_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 20 11/5/2009 . They should also consider taking a graduate-level course in an area of interest as a technical elective. An overview of the computer engineering curricular concept is illustrated in Figure 2. EECS 202 Introduction to Electrical Engineering EECS 203 Introduction to Computer Engineering EECS 303 Advanced Logic Design EECS 361 Computer Architecture EECS 205 Fundamentals of Software EECS 311 Data Structures EECS 221 Fundamentals of Circuits High-Performance Computing Track VLSI and CAD Track Embedded Systems Track Software Track Figure 2.In addition all Computer Engineering students are required to take one of the four capstone design classes listed below: • EECS 347-1. An Overview of our Computer Engineering Curriculum. 347-2: Microprocessor Systems Design Projects • EECS 362: Computer Architecture Project • EECS 392: VLSI Systems Design Projects • EECS 399: Projects Computer Engineering students are encouraged to take two 399 independent research units.

(The courses selected must be consistent with the list of approved Basic Sciences for McCormick. II.224. Statistics.Humanities Requirement – seven courses Computer Engineering Departmental Program – five courses EECS 205: Fundamentals of Computer System Software EECS 303: Advanced Logic Design EECS 221: Fundamentals of Circuits EECS 361: Computer Architecture EECS 311: Data Structures and Data Management 21 11/5/2009 .230: Calculus I.) Thermodynamics Fluids and Solids Systems Engineering and Analysis Materials Science *EECS 211 replaces EECS 231 in 2007-08 Unrestricted Electives – five courses Social Science .) Basic Engineering – five courses Electrical Engineering: EECS 202: Introduction to Electrical Engineering Computer Architecture and Numerical Methods: EECS 203: Introduction to Computer Engineering Programming EECS 211: Fundamentals of Programming (C++) Probability.Engineering Design and Communications – three courses IDEA 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 courses Math 220. III Math 234: Multiple Integration and Vector Calculus Basic Sciences – four courses Physics 135-2.3: General Physics Two additional science courses. and Quality Control: EECS 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.

It is not required to follow a specific track in its entirety. Embedded Systems EECS 332: Digital Image Analysis EECS 346: Microprocessor System Design EECS 347-1. computer science or engineering and may include the following courses.I EECS 453: Advanced Computer Architecture – II Track 2.2. but will be counted as an unrestricted elective.and 400-level courses can be taken based on advisor approval. VLSI & CAD EECS 353: Digital Microelectronics EECS 355: ASIC and FPGA Design EECS 357: Introduction to VLSI CAD EECS 391: VLSI Systems Design EECS 392: VLSI Systems Design Projects EECS 393/493: Design and Analysis of High-Speed Integrated Circuits EECS 459: VLSI Algorithmics Track 3. this is not an exhaustive list and other related 300.3 and Chem 210-1. Some suggested examples are included in the lists below.3 may be used as Technical Electives. mathematics. 347-2: Microprocessor System Projects EECS 390: Introduction to Robotics 22 11/5/2009 . 400-level courses can be used to fulfill Technical Elective requirements with a petition and advisor consent. For all courses listed below students should check the yearly course offerings. Technical Electives can be used to tailor a program to a particular area of specialization. Track 1. Also. In the following. At most two units of 399 will be allowed as Technical Electives in the Computer Engineering curriculum. suggested courses for each track are listed. The remaining three Technical Electives can be any 300-level course from science.Technical Electives – ten courses Students must take at least five courses from the following four tracks and two courses from the Fundamental EECS courses listed below. Additional units of EECS 399 may be taken.Network Penetration and Security EECS 358: Introduction to Parallel Computing EECS 362: Computer Architecture Projects EECS 339: Introduction to Database Systems EECS 452: Advanced Computer Architecture . High-Performance Computing EECS 328: Numerical Methods for Engineers EECS 333: Introduction to Communication Networks EECS 350: Introduction to Computer Security EECS 354 .2. Biol 210-1. they are suggestions to better structure one’s major. Furthermore.

students may have no more than two P or D grades within the 16 departmental courses. 23 11/5/2009 .BME 384: Biomedical Computing Track 4. the P/N option may only be used within the three technical electives that can be any 300-level course from science. engineering or the tracks (but beyond the required five courses from the track and the two fundamental EE courses). computer science. a student must receive a C– or better in EECS 202 and EECS 203 in order to continue in the Computer Engineering program. mathematics. students must elect to take at least one course from the following menu: EECS 347-1: Microprocessor System Projects (346 is prerequisite) EECS 362: Computer Architecture Projects (361 is prerequisite) EECS 392: VLSI Design Projects (391 or 355 is prerequisite) COMPUTER ENGINEERING P/N POLICY STATEMENT: Among the 16 departmental courses. Algorithm Design and Software Systems EECS 310: Mathematical Foundations of Computer Science EECS 322: Compiler Construction EECS 336: Design and Analysis of Algorithms EECS 339: Introduction to Database Systems EECS 343: Operating Systems EECS 395: Programming Language Design EECS 395: Introduction to the Theory of Computation Fundamental EECS Courses EECS 213: Introduction to Computer Systems EECS 222: Fundamentals of Signals and Systems EECS 223: Fundamentals of Solid State Engineering EECS 224: Fundamentals of Electromagnetics and Photonics EECS 225: Fundamentals of Electronics Computer Engineering Capstone Design Requirement – one course To satisfy the Department’s Computer Engineering design capstone course requirements. In addition. REQUIREMENT FOR GRADUATION In addition to McCormick graduation requirements.

S) EECS 211 (F) Math 234 EECS 311 EECS Fund *(F.S) Unres Elective SS/Hum Tech Elective Tech Elective Unres Elective Unres Elective Junior Co-op Tech Elective EECS 361(W) EECS 343 SS/Hum EECS Fund (F. Note that 221 and 223 must be taken before 225.ELECTRICAL ENGINEERING & COMPUTER SCIENCE 3.205-1 GenCmn 102 or 103 Math 224 Chem 102 or Basic Science GenEng .W) GenEng 205-3 IDEA 106-2 Sophomore EECS 205 (S) Physics 135-2 GenEng .205-4 SS/Hum Physics 135-3 EECS 202 (F.S) EECS 361(W) EECS 343 SS/Hum Tech Elective Tech Elective Unres Elective SS/Hum EECS 302 (F) Tech Elective Unres Elective SS/Hum Senior Non Co-op Tech Elective Basic Eng Unres Elective SS/Hum Tech Elective CE Design (F.205-2 IDEA 106-1 Math 230 EECS 203 (F. 224.4 Preferred Schedule for Computer Engineering 2007-2008 FALL WINTER SPRING Freshman Math 220 Chem 101 or Basic Science GenEng. 222. 225.W) EECS 303 (F) SS/Hum Junior Non Co-op EECS Fund *(W. 223. 24 11/5/2009 .S) Tech Elective Tech Elective SS/Hum Work Pre-Senior Co-op EECS 302 (S) Basic Eng Unres Elective SS/Hum Work Tech Elective Tech Elective Unres Elective SS/Hum Senior Co-op Work Tech Elective CE Design (S) Unres Elective SS/Hum Tech Elective Tech Elective Unres Elective Unres Elective * Any two of the following EECS Fundamentals Courses: EECS 221.

3.5 Computer Engineering Course Prerequisites GTK 106-1 202 221 222 223 224 225 360 359 g 106-2 224 Calculus II Physics 135-2 230 Vector Algebra Electricity & Magnetism 135-3 Optics & Quantum Math 220 Calculus I GTK 205-1 Math 234 205-2 205-3 205-4 203 205 211 311 310 250 302 333 328 303 351 374 353 BME 384 391 346 361 357 332 390 336 339 343 322 392 347 362 358 394 LEGEND Bold labels: Required courses Italics underlined: Two of these required Box: Capstone design 25 11/5/2009 .

Basic Science Departmental Program Technical Electives: Tracks Basic Engineering EECS 202 EECS 203 EECS 211 EECS 302 Technical Electives: Remaining Three Technical Electives: EE Fundamentals Communications & Social Science/Humanities G_C102 or 103 Unrestricted 26 11/5/2009 .Name: 1 G_E 205-1 G_E 205-2 G_E 205-3 G_E 205-4 IDEA 106-1 IDEA 106-2 Math 220 Math 224 Math 230 Math 234 Phy 135-2 Phy 135-3 2 3 4 5 6 7 8 9 3. MathematiEECS.6 COMPUTER ENGINEERING STUDY PLAN 10 11 12 13 14 15 16 17 18 EECS 205 EECS 303 EECS 361 EECS 311 EECS 343 Capstone Design 1 2 3 4 5 6 7 8 9 2007-2008 10 11 12 13 14 15 16 17 18 General Engineering.

14 Math & Basic Science and 0.67 2.00 ( ) 2.67(√) 2. Calculus I Basic science elective 1 GEN_ENG 205-1. Engineering Design and Communications I Math 230. Spring 1. Spring 2. Spring 1.7 Conformance of the Computer Engineering Curriculum with ABET 2000 Guidelines This Basic-Level Curriculum table indicates how the Computer Engineering curriculum conforms to the ABET 2000 Guidelines.33 ( ) (√) 2.67 2. Winter 2. Intro to Computer Eng EECS 202. Intro to Electrical Eng Physics 135-2. Fall 2.67(√) 2. Spring 2.67 2. 27 11/5/2009 . Fundamentals of Computer Systems Math 234 – Calculus and Analytical Geometry Physics 135-3. 2.3.00 ( 2. Fall 1. Electricity and Magnetism 2. Fall 1.67 ( ( 0.67 1. Units of measurement are in semester hours.14 ( ) 0. Winter 2. Winter 2. Winter 1. Title) Math & Basic Science Check if Contains Design Category (Credit Hours) Engineering Topics General Education Other (√) 1.67 0. Year. For EECS 223.5 % ) ( 0.67 2. Spring 1.53 Engineering Topics. and 224.67(√) 2. 222. Fall 1. Vectors and Partial Derivatives GEN_ENG 205-3. Engineering Design and Communications II EECS 203.67 2. Calculus II Basic science elective 2 GEN_ENG 205-2.67 ) next page 128( ) 128 ( 48 hrs 37.53 ( ) ( ) ( ) ( ) 1. Winter 1. Advanced Logic Design EECS Fundamental elective 1 * EECS 311.67 2.40 GEN_ENG 205-4. Differential Equations Hum/Social Science Elective 1 EECS 205 (F.67 TOTALS-ABET BASIC-LEVEL REQUIREMENTS OVERALL TOTAL FOR DEGREE PERCENT OF TOTAL See next page See next page ( 128 See next page Totals must Minimum semester credit hours Minimum percentage 32 hrs 25% * Given credit hour amounts apply to EECS 221.67 0. Spring Math 220. Spring 2. Waves EECS 211 (F). Dynamic System Modeling IDEA 106-2.S). Linear Algebra and Mechanics IDEA 106-1.00 ( ) ) 2.53 ( ) (√) 2. Computational Methods and Linear Algebra General Communication 102 or 103 Math 224. Winter 1. Fall 2.67 2.67 2.34 2. Fall 1.67 2. Number.27 ( ) ) ) ) 2. Spring 2. Data Structures and Data Management Social Science Elective 2 2. Winter 2. Fall 2. Semester or Quarter Course (Department.67 2.67 2. Fundamentals of Programming (C++) EECS 303. Fall 2.14 ( ) ( ) 0. Winter 1.

67 ( ) ( ) ( ) 2. Fall 4. Spring 4.33(√) 2.71 ( ) 128( ) 2.67(√) ( ) 2. Winter 3. Fall 3. Fall 3.67 (√) ( ) ( ) 54.67 2. Title) Math & Basic Science Check if Contains Design Category (Credit Hours) Engineering Topics General Education Other (√) 3.34 2.67 2.67 (√) 2.67 2.67 2. Fall 4.67 1.67 2. Probability Technical Elective 1 Technical Elective 2 Social Science Elective 4 Technical Elective 3 Technical Elective 4 Unres Elective 1 Social Science Elective 5 Technical Elective 5 Basic Eng Social Science Elective 6 Unrestricted Elective 2 Technical Elective 6 Social Science Elective 7 Capstone Design Unrestricted Elective 3 Technical Elective 7 Technical Elective 8 Unrestricted Elective 4 Unrestricted Elective 5 33. Number.67 2. 222.05 128 31% 44%( ) Totals must satisfy one set Minimum semester credit hours Minimum percentage * Given credit hour amounts apply to EECS 221. Winter 4.67(√) ( ) 1. Winter 4.67(√) 2.67 2. Winter 3. Spring 4.67 2. Winter 3.67 40. Spring 4.53 Engineering Topics. Spring 3. For EECS 223.67(√) ( ) 2. Spring 3.67(√) 2. Winter 4.4 128 25% 32 hrs 25% 48 hrs 37. Spring EECS Fundamentals elective 2 * EECS 361. Fall 4.67 (√) 2. Semester or Quarter Course (Department. Fall 3. Operating Systems Social Science Elective 3 EECS 302 (S).5 % 0. Computer Architecture EECS 343.00 ( ) 2.Table 1. Spring 3. and 224.67(√) ( ) ( ) 2. Basic-Level Curriculum (continued) (Computer Engineering Program) Year.67(√) ( ) 2.14 Math & Basic Science and 0. 2.67 (√) 2. Winter 3. Spring 4. Winter 4. Fall 3. 28 11/5/2009 .67 TOTALS-ABET BASIC-LEVEL REQUIREMENTS OVERALL TOTAL FOR DEGREE PERCENT OF TOTAL 2. Fall 4.

343. Programming (C++) EECS 311 Data Structures (C++) EECS 350 Intro Security EECS 442 Dynamic Behavior of Apps.edu for detailed curriculum document • • • Background: depends on your school Core: must take all six core courses Breadth: must take one course each from Theory. Interfaces. Info. Systems. 348. Systems. Perhaps taking EECS 110 first if needed (110 in Python recommended if taken) EECS 111 Fund. Sys Practicum CORE EECS 303 Digital Logic Design THEORY EECS 346 Microprocessor Systems EECS 395/495 Human-centered Product Design SYSTEMS ARTIFICIAL INTELLIGENCE INTERFACES SOFTWARE DEVELOPMENT General programming knowledge required EECS 330 Human-Computer Interaction EECS 332 Computer Vision OTHER EECS Course For Non-majors EECS Course For Majors (“CS”) EECS Course For Majors (“ECE”) Required Recommended V EECS 370 Computer Game Design EECS 395/495 Graphics and Perception EECS 395/495 Non-Photorealistic Rendering EECS 352 Machine Perception Of Music EECS 395/495 Computer Animation EECS 395/495 Image-based Modeling And Rendering Or significant Programming Experience EECS 349 Machine Learning IEMS 201 EECS 351 Computer Graphics (C++) EECS 360 Models with Multi-agent Langs EECS 395 Intermediate Computer Graphics EECS 395 Advanced Computer Graphics? V “or” EECS 395/495 Behavior-based Robotics Or programming exp EECS 325 AI Programming (Lisp) V EECS 348 Intro AI (Lisp) Requires one of 322.2 Software Project Management Prereqs vary EECS 395 RTFM EECS 338 Intel. Programming (Functional) EECS 211 Fund.northwestern. Networks Prereqs to change EECS 101 Introduction to CS For Everyone EECS 213 Computer Systems (C) EECS 397 Real-time Systems EECS 394-1. Artificial Intelligence. and Security Project: must take two project-oriented courses EECS 110 or 111 EECS 328 Numerical Methods EECS 356 Formal Specification And Verification EECS 336 Design/Analysis of Algorithms EECS 357 VLSI CAD • EECS 361 Computer Architecture EECS 358 Parallel Systems • In flux EECS 323 Scripting Languages (Perl/Python/etc) EECS 464 Advanced Databases This prerequisite graph labels courses by primary breadth/depth area Many courses fall into multiple breadth and depth areas Use full curriculum document for more information 399 courses and infrequent 395s are not shown Courses for non-majors or for preparation EECS 130 Tools /Tech WWW (PHP/JavaScript) V EECS 317 Data Management (SQL) EECS 322 Compiler Construction (C++) EECS 440 Advanced Networking EECS 450 Internet Security EECS 339 Intro Databases (Perl/SQL/C++) EECS 345 Distributed Systems EECS 110 Intro Programming (C) EECS 340 Intro Networking (C++) EECS 443 Advanced OS EECS 230 Fund.MATH 374 Theory of Computability And Turing Machines EECS 457 Advanced Algorithms EECS 395/495 Approximation Algorithms EECS 395/495 Current Topics in Algorithms EECS 395/495 Algorithms for Bioinformatics EECS 395/495 Algorithmic Research For e-Commerce EECS 459 VLSI Algorithmics Requirements in a Nutshell Applies to both McCormick (BS) and Weinberg (BA) See www. and Software Development Depth: must take six courses distributed over two areas chosen from (currently) Theory. Hosts.eecs.7 Computer Science Undergraduate Curriculum Prerequisite Graph EECS 395/495 AI For Interactive Entertainment Or consent of Instructor EECS 337 Semantic Info Proc (Lisp) EECS 344 Design of Comp Problem Solvers (Lisp) 29 11/5/2009 . 351 EECS 370 Computer Game Design Or equivalent LISP Experience EECS 395/495 Knowledge Representation 4. Interfaces. Artificial Intelligence. Programming (C++) Math 214-3 also required V EECS 310 Math Found CS (Discrete Math) EECS 343 Operating Systems (C) EECS 441 Resource Virtualization Majors Start Here.

Northwestern graduates may have also participated in directed research. Bureau of Labor Statistics estimated that almost 60% of new science and engineering jobs and net replacements in the United States through 2014 would be for computer specialists.0 Computer Science Curriculum (B. the Arts and Sciences School. understanding how to make progress against seemingly intractable problems. Appendix A then shows how the curriculum is mapped into the McCormick framework. and its economic and social impact on the world. Northwestern graduates also will have had the opportunity to broaden their education by taking advantage of Computer Science’s strong connections to Northwestern programs in Computer Engineering. This description is intended to explain the nature of the degree to students who may be unfamiliar with the frameworks. Approach problems from the algorithmic perspective. A Northwestern graduate will be imminently employable in the computer and software industries. understand the evolving layers of the software/hardware stack and how to use and extend them. and the sheer breadth and scale of the Computer Science enterprise in industry and academia. Engineering or Liberal Arts Northwestern offers Computer Science degrees within McCormick. its key intellectual divisions and questions.S.) curriculum. while Appendix B shows how it is mapped into the Weinberg framework. Approach problems from the systems perspective. this document is structured differently from a typical McCormick (B. and to external readers.4. 2005. understanding the nature of and broad reach of computation and how to apply it abstractly.A.) Note: Because Computer Science undergraduate degrees are offered both in McCormick and Weinberg. Given this growth. 2.. the Engineering and Applied Sciences School. Students should consult with their advisors in case of ambiguity or special cases. and well beyond. and the Learning Sciences. both in terms of the number of Computer Science practitioners.A.) or Weinberg (B. as skills such as these are widely sought after. The Computer Science-specific 30 11/5/2009 . Our program will also provide effective preparation for graduate studies in Computer Science. Cognitive Science. what are the goals of the Northwestern undergraduate degree? A Northwestern Computer Science graduate will • • • • • • Comprehend the breadth of Computer Science. and Psychology over 50 years ago. and Design and implement effective human-computer interfaces. It describes the elements of the degree in a manner independent of the frameworks of both schools. the U.S. and law. Design and implement complex software systems. It synthesized aspects of these fields and grew exponentially over the past half century. Approach problems from the intelligence perspective. The field continues its exponential growth. In November. individually and as a team member. B. Additionally. and Weinberg. Mathematics.S. medicine. business. 1. Philosophy Computer Science as a field grew out of Electrical Engineering. and its past and likely future impacts on engineering. science.

graphical. while the Weinberg degree offers a background in liberal arts. and linear algebra. Students must learn univariate differential and integral calculus. Background requirements build up the student’s engineering skills. 4. in this section we present the CS background requirements at a high level. The McCormick degree offers a background in engineering. Appendices A and B give detailed descriptions of required or recommended courses within the two Schools. including descriptive statistics and hypothesis testing. C is a widely used systems programming language. as is a typical schedule. Students must learn basic probability theory. leading to a project. and basic statistics. The Depth requirements provide the student with the opportunity to learn about two specializations in depth. Students are generally encouraged to take the Python option.1 Background Background courses are those courses that fulfill the general requirements of the University and the School (i. Students must learn the fundamentals of effective written. are encouraged to take one of the following courses as part of their background: • • EECS 110 (C) – An Introduction to Programming for Non-majors using the C programming language. Social Sciences and the Humanities. Probability and Statistics. and oral communication. Because background courses are strongly dependent on the School. Communication Skills. We recommend that students choose physics and biology courses. Prerequisite Graph and Schedule A detailed prerequisite graph is available as a separate document. 3. in any language. The Breadth requirements provide exposure to every critical subfield of Computer Science. as well as non-CS courses that the faculty believe are foundational for or helpful for understanding Computer Science. multivariate differential calculus. ideally choosing courses that integrate into a theme. Physical and Life Sciences. and perhaps graduate courses and research. 4. Students should acquire a firm grounding in these areas.e. Python is a widely used scripting language. Students who have never programmed before. Components of the Curriculum The Northwestern Computer Science Degree is composed of five distinct sets of requirements..elements/requirements of the two degrees are identical. Students must meet the requirements of their school. The Core requirements represent essential knowledge for all computer scientists. EECS 110 (Python) – An Introduction to Programming for Non-majors using the Python programming language. The Project requirement gives the student the experience of designing and building a complex software artifact. McCormick or Weinberg). 31 11/5/2009 . We require students to take courses that teach the following: • • • • • Continuous Mathematics.

3 Breadth (Essential Areas) The breadth courses reflect the areas of Computer Science that the faculty believe you should be exposed to. Each course can only count for a single area. and the design of algorithms for solving these problems efficiently. implementation. compilers. EECS 310 – Discrete Mathematics. with a particular focus on instruction set architecture. and transforming information and their implementation. including computer security. The core courses. and operating systems. The following courses are considered appropriate for satisfying the theory breadth requirement. • • • • • * EECS 322 – Compiler Construction * EECS 339 – Introduction to Databases * EECS 340 – Introduction to Networking * EECS 343 – Operating Systems EECS 303 – Digital Logic Design 32 11/5/2009 . It is possible to use EECS 399 (independent study) courses within breadth. accessing. The courses with asterisks are especially recommended. 4.2 Core The core courses reflect what the faculty expect every graduate to know. consist of: • • • • • • EECS 101 – An Introduction to Computer Science For Everyone. EECS 213 – Introduction to Computer Systems. from the level of transistors to the level of distributed systems. EECS 111 – Fundamentals of Computer Programming I. object-oriented programming language. This “immigration course” describes the entire field of Computer Science. all of which are required. This is rare and requires a petition. • • • • • * EECS 336 – Design and Analysis of Algorithms * MATH 374 – Theory of Computability and Turing Machines EECS 328 – Numerical Methods EECS 335 – Introduction to the Theory of Computation EECS 356 – Formal Specification and Verification Systems: Systems courses study the layers of the hardware/software stack. and evaluation of complex software systems. The following courses are appropriate for satisfying the systems breadth requirement. Theory: Theory courses study the nature of computation. The courses with asterisks are especially recommended. and the design. EECS 211 – Fundamentals of Computer Programming II. This course teaches how the computer system works. This course introduces software structures and algorithms for storing. the nature of computational problems. This course teaches further principles and practices of computer programming using an imperative. EECS 311 – Introduction to Data Structures. A student must take one course in each of the following areas. This course introduces the mathematics underlying much of Computer Science.4. with advisor and committee approval. This course teaches principles and practices of computer programming using a functional programming language.

• • • • • • • • • * EECS 325 – AI Programming * EECS 337 – Semantic Information Processing * EECS 344 – Design of Computer Problem Solvers * EECS 348 – Introduction to AI * EECS 349 – Machine Learning EECS 360 – Models with Multi-agent Languages EECS 395/495 – AI For Interactive Entertainment EECS 395/495 – Knowledge Representation EECS 395/495 – Behavior-based Robotics Interfaces: Courses in this area study the human-computer interface. including computer graphics and multimedia processing. The following courses are appropriate for satisfying the AI breadth requirement. computer games. Hosts. The 33 11/5/2009 . The following courses are appropriate for satisfying the interface breadth requirement. The courses with asterisks are especially recommended. • • • • • • • • • • • * EECS 330 – Human-Computer Interaction * EECS 351 – Introduction to Computer Graphics * EECS 352 – Machine Perception of Music * EECS 370 – Computer Game Design EECS 332 – Digital Image Analysis EECS 395 – Intermediate Computer Graphics EECS 395 – Advanced Computer Graphics EECS 395/495 – Computer Animation EECS 395/495 – Graphics and Perception EECS 395/495 – Image-based Modeling and Rendering EECS 395/495 – Human-centered Product Design Software Development: Courses in this area provide opportunities to experience larger-scale software development in teams. The courses with asterisks are especially recommended. and music retrieval systems are some applications of AI technology. Intelligent learning environments. Scaling software development is an important challenge. and Networks EECS 443 – Advanced Operating Systems EECS 450 – Internet Security EECS 464 – Advanced Databases Artificial Intelligence: Those in the field of Artificial Intelligence seek scientific understanding of the mechanisms underlying thought and intelligent behavior and look to embody these mechanisms in machines.• • • • • • • • • • • • EECS 345 – Distributed Systems EECS 346 – Microprocessor Systems Design EECS 350 – Introduction to Security EECS 358 – Parallel Systems EECS 361 – Computer Architecture EECS 397 – Real-time Systems EECS 440 – Advanced Networking EECS 441 – Resource Virtualization EECS 442 – Dynamic Behavior of Applications.

with three courses in each area.4 Depth Students are expected to acquire depth in two of the areas listed below. • • • * EECS 338 – Practicum in Intelligent Information Systems * EECS 394-1. Students should consult with their advisor to choose the two most appropriate areas of study for them. This petition needs to be approved by the student’s advisor and the committee. Theory: Theory courses study the nature of computation. and the design of algorithms for solving these problems efficiently. The following courses are considered appropriate for satisfying the theory depth area.cs. who may in turn petition the Computer Science Curriculum Committee for its approval. This petition needs to be approved by the student’s advisor. but we intend for this to be straightforward. • • • • • • • • • • • • • * EECS 336 – Design and Analysis of Algorithms * MATH 308 – Graph Theory (added for 2008-09) * MATH 374 – Theory of Computability and Turing Machines * EECS 395/495 – Current Topics in Algorithms * EECS 457 – Advanced Algorithms EECS 328 – Numerical Methods EECS 335 – Introduction to the Theory of Computation EECS 356 – Formal Specification and Verification EECS 357 – Introduction to VLSI CAD EECS 395/495 – Algorithms for Bioinformatics EECS 395/495 – Algorithmic Research for e-Commerce EECS 459 – VLSI Algorithmics EECS 399 – Independent Study 34 11/5/2009 . or changes to the depth areas and the list of appropriate courses for each areas. we intend for this to be straightforward.edu ) 4. The courses with asterisks are especially recommended. A total of six courses should be taken in the two chosen areas. A student may petition to use independent study courses (EECS 399s) in depth areas that permit them.northwestern.following courses are appropriate for satisfying the software development breadth requirement. the nature of computational problems.2 – Software Project Management * EECS 395 – RTFM courses (http://rtfm. in the fall quarter. The courses with asterisks are especially recommended. A student interested in defining his/her own depth area is encouraged to provide a justification for the proposed set of depth courses to his/her advisor. The Computer Science Curriculum Committee will meet once per year. if desired. deletions. to consider additions. Again. A student may petition to be allowed to focus on a single area.

Students will learn how computer systems work.with advisor approval EECS 440 – Advanced Networking EECS 441 – Resource Virtualization EECS 442 – Dynamic Behavior of Applications. The following courses are appropriate for depth in AI. and music retrieval systems are some applications of AI technology.Systems: In the depth area of systems. computer games. The following courses are appropriate for satisfying depth in interfaces. The courses with asterisks are especially recommended. and Networks EECS 443 – Advanced Operating Systems EECS 450 – Internet Security EECS 464 – Advanced Databases EECS 399 – Independent Study Artificial Intelligence: Those in the field of Artificial Intelligence seek scientific understanding of the mechanisms underlying thought and intelligent behavior and look to embody these mechanisms in machines. • • • • • • • • • • • • • • • • • * EECS 322 – Compiler Construction * EECS 339 – Introduction to Databases * EECS 340 – Introduction to Networking * EECS 343 – Operating Systems * EECS 361 – Computer Architecture EECS 345 – Distributed Systems EECS 350 – Introduction to Security EECS 354 – Network Penetration & Security EECS 358 – Parallel Systems EECS 395 – Appropriate Selected Topics . and analysis of the complex software and software/hardware systems upon which applications are built. from the level of the hardware to the level of worldwide distributed communication and computation. • • * EECS 330 – Human-Computer Interaction * EECS 351 – Introduction to Computer Graphics 35 11/5/2009 . Intelligent learning environments. and the skills that student will learn are in high demand. measurement. implementation. The principles and issues involved have broad utility. • • • • • • • • • • * EECS 325 – AI Programming * EECS 337 – Semantic Information Processing * EECS 344 – Design of Computer Problem Solvers * EECS 348 – Introduction to AI * EECS 349 – Machine Learning EECS 360 – Models with Multi-agent Languages EECS 395/495 – AI For Interactive Entertainment EECS 395/495 – Knowledge Representation EECS 395/495 – Behavior-based Robotics EECS 399 – Independent Study Interfaces: Courses in this area study the human-computer interface. Hosts. The courses with asterisks are especially recommended. a student will learn about the issues and principles involved in the design. including computer graphics and multimedia processing.

• • • • • • • • • • • • • • * EECS 350 – Introduction to Computer Security * EECS 450 – Internet Security * EECS 510-4 Computer Security and Information Assurance EECS 322 – Compiler Construction EECS 339 – Introduction to Database Systems EECS 340 – Introduction to Networking EECS 343 – Operating Systems EECS 345 – Distributed Systems EECS 354 – Network Penetration and Security EECS 395 – Appropriate Selected Topics . Students must seek the formal approval of their advisor for the option they choose.5 Project Students must complete at least two quarters of project-oriented classes.with advisor approval EECS 440 – Advanced Networks EECS 441 – Resource Virtualization EECS 443 – Advanced Operating Systems EECS 399 – Independent Study 4. The list is updated yearly by the CS Curriculum Committee. The courses with asterisks are especially recommended. The best option is a twoquarter independent study project (EECS 399) with a faculty member. The following courses are appropriate for satisfying the security depth area. (available on the department’s website). Possible ways of satisfying the Project requirement include: • • • • • A single two quarter EECS 399 project Two independent single quarter EECS 399 projects One EECS 399 project and one project course Two project courses Project courses are those courses listed on the CS Project Course List.• • • • • • • • • • * EECS 352 – Machine Perception of Music * EECS 370 – Computer Game Design EECS 332 – Digital Image Analysis EECS 395 – Intermediate Computer Graphics EECS 395 – Advanced Computer Graphics EECS 395/495 – Computer Animation EECS 395/495 – Graphics and Perception EECS 395/495 – Image-based Modeling and Rendering EECS 395/495 – Human-centered Product Design EECS 399 – Independent Study Security: This area focuses on the fundamental principles of computer and communication security as well as their implications and applications in various domains of information technology. However. 36 11/5/2009 . it is also possible to satisfy the requirement by taking two courses with extensive project work.

However. A common sequence for satisfying the basic sciences requirement in Computer Science is EA-2. We recommend that students take all of the following courses: • • • PHYSICS 135-2 General Physics: Electromagnetics PHYSICS 135-3 General Physics: Wave Phenomena PHYSICS 335 Modern Physics and choose one of these courses: • • BIOL SCI 210-1 Genetics and Evolutionary Biology CHEM_ENG 275 Molecular and Cell Biology for Engineers Note that PHYSICS 135-1 – Mechanics is not suitable for satisfying the basic sciences requirement in engineering. • • • IDEA 106-1 and ENGLISH 106-1 – EDC-1 IDEA 106-2 and ENGLISH 106-2 – EDC-2 GEN_CMN 102 Public Speaking A. PHYSICS 135-2. 37 11/5/2009 .2 Engineering Analysis: Students must take the following four courses.1 Mathematics: Students must take the following four courses. Mapping to the McCormick Framework A. • • • • GEN_ENG 205-1 – EA-1 (Linear Algebra) GEN_ENG 205-2 – EA-2 (Mechanics) GEN_ENG 205-3 – EA-3 (Dynamics and Differential Equations) EECS 111 – Fundamentals of Computer Programming I Note that students do not need to take EA-4 for the CS degree. the material in it is covered in EA-2.4. Students may take EECS 399 and EECS 338 no more than a total of four times.6 Restrictions Courses may not be double counted within the major program.4 Basic Sciences: Students must take four courses that satisfy McCormick requirements. students may elect to do so if they are also interested in other degrees in McCormick.3 Engineering Design and Communication: Students must take the following three courses. • • • • MATH 220 – Calculus I MATH 224 – Calculus II MATH 230 – Calculus III EECS 310 – Discrete Mathematics A. We recommend that students focus on Physics and Biology courses for maximum utility in their Computer Science Degree. A petition is required for taking these courses additional times. Appendix A. A. However.

5 Basic Engineering: Students must take five courses that meet the following requirements. or IEMS 303 – Statistics I must be taken. upon which present and possibly future computers are based.7 Unrestricted Electives: Students must take five courses. IEMS 201 – Introduction to Statistics. These courses are in the area “Probability.PHYSICS 135-3. Students are generally encouraged to take the Python option. where computational approaches to biology and biological approaches to computation abound.8 Major Program (16) : Students must take 16 courses that meet the following requirements. No courses may be double-counted within the major program. Note that EECS 110 is not a course within the CS major program. This course is in the area “Computer Programming” EECS 302 – Probabilistic Systems and Random Signals. are described in detail in Section 4. PHYSICS 335.8. This course should ideally be taken in the spring quarter of the freshman year EECS 213 – Introduction to Computer Systems 38 11/5/2009 . A. and BIOL SCI 210-1. Python is a widely used scripting language. Social Sciences and Humanities: Students must take seven courses that meet the theme requirements of McCormick.6. A. Statistics. No courses may be taken pass/fail. are encouraged to use one of the unrestricted electives to take one of the following courses before taking EECS 111: • • EECS 110 (C) – An Introduction to Programming for Non-majors using the C programming language. A. The core courses. EECS 110 (Python) – An Introduction to Programming for Non-majors using the Python programming language. and in genetics and evolution. in any language. excluding those covered by EECS 211 and 302). Three additional courses from McCormick’s Basic Engineering List (3 courses from at least two areas. • • • EECS 211 – Fundamentals of Computer Programming II must be taken. This sequence will give you a firm grounding in classical and modern physics. Students who have never programmed before.2. • • EECS 101 – An Introduction to Computer Science For Everyone. including those mapped outside the major program. We recommend choosing from the following courses to meet this requirement: o EECS 202 – Introduction to Electrical Engineering (Area “Electrical Science”) o EECS 203 – Introduction to Computer Engineering (Area “Computer Architecture and Numerical Methods”) o EECS 222 – Fundamentals of Signals and Systems (Area “Electrical Science”) o EECS 328 – Numerical Methods for Engineers (Area “Computer Architecture and Numerical Methods”) A. C is a widely used systems programming language. and Process Control”.1 Core Courses (3): Students must take the following three core courses as part of the major program. A.

5.2. Mapping to the Weinberg Framework B. C is a widely used systems programming language.2 Requirements to be met within the major program (19).4 Project Courses (2): Students must take two courses that satisfy the Project component of the curriculum as described in Section 4. B. are encouraged to take one of the following courses before taking EECS 111: • • EECS 110 (C) – An Introduction to Programming for Non-majors using the C programming language.3 Depth Courses (6): Students must take six courses to satisfy the Depth requirement as described in Section 4. • • • • • • EECS 101 – An Introduction to Computer Science For Everyone. A.3. The core courses are described in detail in Section 4. 230. Python is a widely used scripting language. We recommend choosing from courses such as PHYSICS 135-1.2 Breadth Courses (5): Students must take five courses to satisfy the Breadth requirement.8.8. and 240 are required Probability and Statistics: STATS 210 or MATH 310 are required Physical and Life Sciences: Students must satisfy the Natural Sciences distribution requirement. and BIOL SCI 210-1 Social Sciences and Humanities: Covered by Weinberg’s distributional requirements Communication Skills: Covered by Weinberg’s distributional requirements Students who have never programmed before.1 Core Courses (6): Students must take the following six core courses as part of the major program. No courses may be double-counted within the major program. Appendix B. • • • • • Mathematics: MATH 220. 135-3. 335.2.• EECS 311 – Introduction to Data Structures A. one in each area described in Section 4.8. EECS 110 (Python) – An Introduction to Programming for Non-majors using the Python programming language. B. Students who are generally encouraged to take the Python option.1 Requirements to be met outside of the major program. 135-2.4. in any language. 224. This course should ideally be taken in the spring quarter of the freshman year EECS 111 – Fundamentals of Computer Programming I EECS 211 – Fundamentals of Computer Programming II EECS 213 – Introduction to Computer Systems EECS 310 – Discrete Mathematics EECS 311 – Introduction to Data Structures 39 11/5/2009 . A. No courses may be taken pass/fail.

4 Project Courses (2): Students must take two courses that satisfy the Project component of the curriculum as described in Section 4.2. B.2 Breadth Courses (5): Students must take five courses to satisfy the Breadth requirement.3.5.2. 40 11/5/2009 .4. one in each area described in Section 4.3 Depth Courses (6): Students must take six courses to satisfy the Depth requirement as described in Section 4.B. B.2.

4.g. Students must seek the formal approval of (e. petition) their advisor for the option they choose. Possible ways of satisfying the Project requirement include: • • • • • A single two quarter EECS 399 project Two independent single quarter EECS 399 projects One EECS 399 project and one project course Two project courses Project courses are those courses listed on the CS Project Course List. However. it is also possible to satisfy the requirement by taking two courses with extensive project work. The best option is a two-quarter independent study project (EECS 399) with a faculty member. The list is updated yearly by the CS Curriculum Committee. students must complete at least two quarters of project-oriented classes. • • • • • • • • • • • • • • • • • • EECS 322 Introduction to Compiler Construction EECS 330 Human Computer Interaction EECS 338 Practicum in Intelligent Information Systems (can be taken multiple times) EECS 339 Introduction to Database Systems EECS 340 Introduction to Networking EECS 343 Operating Systems EECS 344 Design of Computer Problem Solvers EECS 345 Distributed Systems (formerly 395/495) EECS 350 Introduction to Security EECS 352 Machine Perception of Music (formerly 395/495) EECS 370 Computer Game Design ECE / EECS 397 Introduction to Real-time Systems EECS 395 Human-centered Product Design EECS 395 Projects with NetLogo EECS 395 Advanced Graphics EECS 395 Graphics and Perception EECS 395 Image Based Modeling and Rendering EECS 395 Algorithmic Techniques for Bioinformatics 41 11/5/2009 . Computer Science Project Course List The following courses are currently approved for use in meeting the project requirement in both the old and new Computer Science Curricula.8 Computer Science Project Requirement In both the old and new Computer Science Curricula. which is available on the department’s web site.

and Networks (Formerly listed as a 395/495 class) EECS 443 Advanced Operating Systems (Formerly listed as a 395/495 class) EECS 450 Internet Security (Formerly listed as a 395/495 class) EECS 464 Advanced Database Systems 42 11/5/2009 .• • • • • • • • • • • • • • • • EECS 395 Interactive Graphics for Computer Games EECS 395 Behavior Based Robotics EECS 395 Non-photorealistic rendering EECS 395 Content Management Systems EECS 395 Knowledge Representation EECS 395 Internet Measurement and Reverse Engineering EECS 395 Internet Architectures EECS 395 RTFM (Varying Topics) EECS 399 Independent Study (can be taken multiple times) EECS 430 Design of Interactive Learning Environments EECS 440 Advanced Networking (Formerly listed as a 395/495 class) EECS 441 Resource Virtualization (Formerly listed as a 395/495 class) EECS 442 Dynamic Behavior of Applications. Hosts.

. . . EECS 302/IE 201/IE 303 * * * *3 other Basic Engg Excluding Computer Programming and Probability. A Computer Science Curriculum form must be submitted to declare your depth and project courses. . . CEEB. . . . . . . . COMPUTER SCIENCE 2007 . . . . . . _____ Needed ================= 11/5/2009 _____ Total . . .THEME UNRESTRICTED ELECTIVES OTHER COURSES EECS 110 no longer allowed within Department 16. . . PTS . . . . . . . . . CUM . . .EA/EDC 43 For Academic Services Office Use Only _____ Completed _____ Cr. . . Statistics & Quality control areas SOCIAL SCIENCE/HUMANITIES . . . . . . AP _____ Winter Qrt.2 English 106-1. . . . . . . _____ Spring Qrt. . . .2 GEN_CMN 102 EECS 211 (231) DESIGN & COMMUNICATIONS Depth area 2 BASIC ENGINEERING PROJECT COURSES CP AT QTR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CRDV (CO-OP) QTR PTS Q. . . .Signed Computer Science Curriculum Form Required 1 2 3 4 5 6 MATHEMATICS 7 8 9 10 11 12 EECS 101 EECS 213 EECS 311 Theory Systems AI Interfaces Soft Dev Depth area 1 1 2 3 4 5 6 7 MAJOR COURSES 8 9 10 11 12 Math 220 224 230 EECS 310 ENGINEERING ANALYSIS & COMPUTER PROFICIENCY Gen_Eng 205-1 205-2 205-3 EECS 111 BASIC SCIENCE BREADTH COURSES DEPTH COURSES IDEA 106-1. . . . . .AVG CP AT . . .

COURSE # and SECTION # ________________________________________________________ QUARTER. or 495 sections may be used if appropriate. 345. 349. 349. 399. 348. SUBJECT. 340. 343. 440. as a Breath or Depth course Developing your own Depth area Fulfilling all 6 Depth courses from a single area REQUESTED SUBSTITUTION EECS 399-20 REQUIREMENT ex. or 495 sections may be used if appropriate. 343. BREADTH COURSES: Circle one course in each of the following five areas Note: Applicable EECS 395. 360 III. not on the approved listing. 441. 332 Software Development: EECS 338. Math 308. 441. 442. 322. 394-1. 344. 360 Interfaces: EECS 330. via Petition Section below _________Interfaces Three of the following: EECS 330. 464 Artificial Intelligence: EECS 325. 397. 339. EECS 457. Math 374. 344. 356 Systems: EECS 322. 345. EECS 328. 442. 370. 328. 358. and circle three courses in each area _________Theory Three of the following: EECS 336. 337. 358. 350. 340.eecs. 450. 443. 356. 397. 440.Catalog year 2008 and thereafter Northwestern University McCormick School of Engineering and Applied Science Computer Science Curriculum Form September 25. PROJECTS: List two quarters of Project Oriented classes ________________________________________________________ QUARTER. 352. 394-2 II. 303. COURSE /SECTION # _______ QTR/YEAR ________________ ADVISOR’S SIGNATURE _____________________ PROGRAM CHAIR’S SIGNATURE _____________ DATE _______________ AREA _____________________ DEPT. 450. COURSE /SECTION # _______ QTR/YEAR ________________ ADVISOR’S SIGNATURE _____________________ PROGRAM CHAIR’S SIGNATURE _____________ DATE _______________ AREA _____________________ DEPT. 345. 443 ________Systems Three of the following: EECS 322. 443. Math 374. 361. 348. DEPTH COURSES: Check two chosen areas. a new form must be submitted Please see the EECS website for detailed information and recommendations : http://www. 351. 340. 352.northwestern. 441. 351. via Petition Section below Theory: EECS 336. 464 ________ Artificial Intelligence Three of the following: EECS 325. COURSE # and SECTION # Students musts seek formal approval from their advisor for the option they choose. 332 _________Security Three of the following: EECS 350.edu/ I. 346. 370. 399. COURSE /SECTION # _______ QTR/YEAR ________________ ADVISOR’S SIGNATURE _____________________ PROGRAM CHAIR’S SIGNATURE _____________ DATE Student’s Signature _______________________________________________ 44 Date ______________ 11/5/2009 . 343. 2008 Name __________________________________________________________Student ID________________Catalog Year________ Today's Date ___________ If you change your Depth area or Project courses. 459 Note: Applicable EECS 395. 361. SUBJECT. 350. COURSE /SECTION # _______ QTR/YEAR ________________ ADVISOR’S SIGNATURE _____________________ PROGRAM CHAIR’S SIGNATURE _____________ DATE _______________ AREA _____________________ DEPT. 339. 450. COURSE /SECTION # _______ QTR/YEAR ________________ ADVISOR’S SIGNATURE _____________________ PROGRAM CHAIR’S SIGNATURE _____________ DATE _______________ AREA _____________________ DEPT. Theory course—Depth QTR/YR Fall 2007 ADVISOR’S SIGNATURE CS CHAIR’S SIGNATURE DATE _______________ AREA _____________________ DEPT. _____________________ DEPT. _________________________________________ ADVISOR’S SIGNATURE ________________________ DATE **PETITION SECTION** IT IS NOT NECESSARY TO FILE A SEPARATE CURICULLUM PETITION IN ADDITION TO THIS FORM THIS FORM IS USED FOR: a) b) c) d) Counting a EECS 399/395/495 as a Breath or Depth course Using any other Engineering course. 357. 339. 440. COURSE /SECTION # _______ QTR/YEAR ________________ ADVISOR’S SIGNATURE _____________________ PROGRAM CHAIR’S SIGNATURE _____________ DATE _______________ AREA. 337.

Unrestricted Electives Unrestricted electives can be selected from any course offered for credit in the University. all students take a number of non-technical and elective courses to satisfy the McCormick School requirements. Five of the seven courses must clearly be thematically related. Option B. it is possible in this manner to structure a curriculum that achieves two B. Once filled out and signed by a student's advisor. the student may utilize the unrestricted electives in conjunction with the technical electives to attain an undergraduate specialization in a particular area of Electrical Engineering and Computer Science. The courses taken for a student's Social Science/Humanities requirement must be approved in advance by the McCormick Humanities Panel. science. Students must also take a course in oral communication from this list: General Communication 102 . only three A-level introductory courses may be presented and three courses must be thematically related to provide depth. no more than five courses may come from a single area. or a fifth year.Public Speaking General Communication 103 .S.5. Students should interact closely with their advisors in planning their unrestricted electives to achieve the maximum benefit from their undergraduate program. management. and engineering courses described in each of the majors. Theme declaration forms for either option are available in either the Undergraduate Records Office (L269) or the Freshman Program Office (L275). Electives and Non-technical Courses In addition to the required math. With suitable advanced placement credit. or academia. Communications Requirement All McCormick School students are required to develop proficiency in writing and speaking before graduation.Humanities Requirements Students must take seven courses chosen according to either of the following two options: Option A. Written communication is stressed in the Engineering Design and Communication sequence. summer work. For example. These are very valuable in permitting the student to concentrate in a particular area. Language and Literature (FALL) Of the seven courses. since effective communication is essential in any career in engineering. the student may utilize some or all of these in conjunction with the seven Social Science / Humanities Requirements to achieve an in-depth undergraduate preparation in the Social Science / Humanities Requirements area. For breadth. Social Science . they should be returned to one of these offices for approval. one in Electrical Engineering and one in Computer Engineering. At least two courses must be chosen in each of three areas: Social and Behavioral Science (SBS) Historical Studies and Values (HSV) Fine Arts. As a second example. Degrees.Analysis and Performance of Literature 45 11/5/2009 .

Generally.northwestern. If necessary. Co-op students may earn a sizable portion of their educational expenses. While no academic credit is given for Co-op. Special Programs. A student may be enrolled simultaneously in the Co-op program and in the Naval Reserve Officers Training Corps. special BS/MS programs may utilize co-op experience as the basis for undergraduate projects and master's theses. Generally. on the McCormick Northwestern Engineering web pages: http://www.edu/co-op/ Co-operative engineering education is designed to provide alternate periods of industrial experience and classroom work for undergraduate students in all departments of engineering and applied science. Honors Programs More information about each of the programs described below can be found here.6. but no tuition or fee is charged. the student will engage in research both 46 11/5/2009 . The coordinator and career counselor make every effort to secure interviews for the student. Students in good academic standing normally elect the Co-op program in the Fall of the Sophomore year.edu/undergraduate/prospective/#programs Co-Operative Engineering Education Program http://www.mccormick. a student is afforded the opportunity of applying theory while gaining practical experience. Co-op experience for Junior transfer students and others with two years of academic credit begins in the spring of their Junior year. These include four-year Co-op programs for students with advanced placement. the faculty of the McCormick School awards the Coop student a certificate in recognition of successful completion of the Co-operative Engineering Education Program. the first work experience for Co-op students occurs during the summer between their Sophomore and Junior years. special schedules can be worked out with the help of the student's academic advisor that will enable the student to observe individual academic requirements as well as Co-op. Although emphasis is placed upon the experience gained from Co-op work rather than upon the income. McCormick School of Engineering & Applied Science Scholars Program A high school student admitted into this program is almost immediately involved in the research program of an active faculty. Students are required to register for their work quarters. The perspective gained enables students to develop an understanding of the responsibilities of their future professional career.northwestern. During 18 months of industrial employment. with the long range goal of obtaining a cooperative work assignment related to the student's professional objectives.mccormick. In addition to the academic degree. and combined BS/MS programs.

edu/docs/undergraduate/UndergraduateHonorsProgra mApplication. degrees in Electrical Engineering and Computer Science in as little as six years after their high school graduation. 47 11/5/2009 . capitalizing upon advanced placement credits.northwestern. the student will receive course grades and credit as earned. At the time of admission. which most 300 level EECS technical electives are) with an average grade of B or better.northwestern.D.5 or better. This program provides an opportunity for outstanding high school students to obtain their Ph. they will still spend several years in an organization before going back to school. Successful completion of the Honors program will be noted on the student's transcript. provided above.mccormick.edu/undergraduate/business_enterprise. The students are provided with continuous opportunities to interact directly with active researchers and to publish in recognized scientific journals at an early age. the student must have a cumulative grade point average of 3.php Purpose: Although a significant percentage of our students ultimately pursue an advanced business degree.mccormick. Recognition will also be given in the commencement program. If a student's individually evaluated performance is not judged to meet the standards of success. Business Enterprise Certificate http://www.pdf A 4-year or co-op student with a good scholastic record may be admitted to the Undergraduate Honors Program anytime during the junior or pre-senior year. An honors student participating in the program must complete at least three units of approved advanced study (including courses normally accepted at the graduate level.during the academic year and during the summer. program as early as the third academic year. Depending upon the advanced standing and record at Northwestern the student might be admitted to the Graduate School in the Ph. Any student who becomes eligible will be so notified by the Dean. This educational experience gives them the orientation to make that possible.D. Support for the student (full tuition and stipend) would then be provided by the University through a Cabell or Murphy Fellowship. Undergraduate Honors Program http://www. Students in this program follow an accelerated academic curriculum. when he or she would be supported by the faculty or the McCormick School. This Certificate program is aimed at those who are intent upon having a career in business but who want to improve their ability to make a contribution soon as possible after finishing their McCormick degree. and complete an extended independent study project (at least two quarters on the same topic) leading to an acceptable report. Read more on the McCormick website link.

Read more on the McCormick website link. Combined BS/MS and BA/MS Programs http://www. The EECS department offers BS/MS and BA/MS programs that lead to a master's degree in Computer Science (CS). cross-disciplinary setting.edu/academics/undergraduate/degrees/bsms-bams/ Northwestern undergraduates have the opportunity to pursue an MS degree concurrently with their Bachelor's degree.eecs. but available to Northwestern undergraduates in both the Weinberg School and the McCormick School. or a master's degree in Electrical and Computer Engineering (ECE). Students completing an MS along with a BS or BA degree are likely to have greater career opportunities.northwestern. "Innovative design" here implies both identifying and solving real-world problems. offered through McCormick.Certificate in Engineering Design http://www. These programs. 48 11/5/2009 .idea.edu/certificate/ Purpose: The certificate in engineering design program helps McCormick undergraduates develop a set of design skills that will prove valuable in their careers. The program focuses on innovative engineering design in a team-based.northwestern. allow talented undergraduates to undertake graduate level courses and to engage in research while they are completing their undergraduate requirements. provided above.

In addition to individual student/advisor meetings.7. Advisors are generally assigned by the department. There are also open Q&A sessions every Tuesday and Thursday afternoon. the advisor and student discuss the student's progress and verify or modify the schedule for the next quarter. Advisors help students select appropriate courses to satisfy both the Departmental and McCormick requirements. The web address is: http://www. the student and advisor design a tentative schedule of courses for the following academic year. Student Advising Each student is assigned a faculty member as an advisor. Students who are interested in Premedical Studies should contact the Health Professions Advisors at the University Academic Advising Center (UAAC). the Department as a whole has meetings with faculty and students. and the student's own interests. and to become acquainted in a less formal atmosphere. In each of the remaining quarters. however. Students meet with their advisors on a regular basis at least once each quarter. All of the faculty and undergraduate students are invited to attend and discuss academic and other questions. students can request a change of advisor by filling out a form in the Undergraduate Records Office. In the Spring Quarter. Students are also invited to meet with their advisors at any time during the year to discuss academic and career goals.northwestern.edu/advising-center. 49 11/5/2009 . or call 847-467-4281 for an appointment. The Dean may require a student having academic difficulties to meet with his or her advisor to discuss those difficulties.

Professor. artificial intelligence. embodied conversational agents Yan Chen.D. Ph. Professor. joint appointment with School of Education and Social Policy. diagnosis.D. median and related filtering Justine Cassell.. Assistant Professor. Massachusetts Institute of Technology Research Interests: Wireless communication. statistical analysis and prediction Douglas Downey. overlay and peer-to-peer systems Alok Choudhary. Berry. Director. Carnegie Mellon University Research Interests: Distributed systems. Ph. semantics Fabian Bustamante. University of Washington Research Interests: Natural language processing.D... with a focus on operating systems. analogical reasoning and learning. Kenneth Forbus. natural language generation. Ph. compiler and runtime systems for HPC and embedded power-aware systems.D. Ph. joint appointment with the School of Communication. network measurement. AI-based articulate virtual laboratories and modeling environments for education. human-computer interaction.D. Rice University Research Interests: Formal methods of software design. computer game design Lance Fortnow. and in particular contracts. performance analysis. Massachusetts Institute of Technology Research Interests: Qualitative physics. Associate Professor. Ph. Professor and Department Chair. Ph. using the Web to support the automatic construction of large and useful knowledge bases. Ph. 50 11/5/2009 . University of Minnesota Research Interests: Digital signal processing. University of California.D. Yale University Research Interests: Systems.D. machine learning.D. and security.D. data networking. Center for Technology and Social Behavior.D..D. Ph. Ph. parallel data mining and databases Peter Dinda. Associate Professor. networking. human-computer interaction. Associate Professor. University of Illinois at Urbana-Champaign Research Interests: High-performance computing and storage. University of California at Berkeley Research Interests: Computer networking and large-scale distributed systems.. Massachusetts Institute of Technology Research Interests: Computational complexity. distributed interactive applications..8.. and artificial intelligence.D. Professor.. resource demand and availability prediction. Director. Butz. Ph. Department Faculty Academic Faculty Randall A.. Robby Findler.D. Ph. Associate Professor. Ph. and information theory Larry Birnbaum. nonverbal behavior generation and understanding. cognitive simulation. University of Chicago Research Interests: Discourse and dialogue. theoretical computer science Randy Freeman. natural language processing. Center for Ultra-scale Computing and Information Security.. or dynamically enforced interface specifications. Georgia Institute of Technology Research Interests: Experimental systems. Assistant Professor. distributed and parallel computing Arthur R. interactive technology for young children. Ph. Associate Professor. Associate Professor. Santa Barbara Research Interests: Nonlinear control systems. sketching as an interface modality.. Associate Professor.

adaptive control.D. randomized algorithms. Princeton University Research Interests: Stochastic systems. Ph. estimation... network design and clustering (starting Fall 2008) Yehea Ismail. game theory Matthew Grayson. Professor. can be used to inform planning. database systems.. Tufts University Joint appointment with Education & Social Policy Research Interests: Human-computer interaction and education and innovative uses of emerging technologies in learning settings Ian Horswill.D. nonlinear filtering.D. applications to communications and control Kristian Hammond.understanding the role of examples and experience in reasoning.. theorem proving. Carnegie Mellon University Research Interests: Multicore and multiprocessor architecture.D. Princeton University Research Interests: Wireless communications. IV-V device modeling. Henschen. detection. Assistant Professor. modeling. robotics and computer vision. Massachusetts Institute of Technology Research Interests: Photonic device integration. micro-optics technology. singular perturbation. distributed algorithms. Ph. Yale University Research Interests: Science of case-based reasoning . data structures. how encapsulated experience.. Ph.robust control..D. Associate Professor. Massachusetts Institute of Technology Research Interests: Game theory and algorithms. and the control of action. Princeton University Research Interests: Spintronics with GaAs holes.D.. Berkeley Research Interests: Digital communications. Council on Dynamic Systems and Control. DWDM chip technology. machine 51 learning theory. Ph. Massachusetts Institute of Technology Research Interests: Autonomous agents. Ph. Director. Ph. Professor. visual aids for programming Seng-Tiong Ho. auction theory. communication networks. data-intensive highperformance computing Jason D. how examples can be used in information retrieval and in communicating preferences to a machine Nikos Hardavellas. Assistant Professor. Director. algorithmic game theory. meta-reasoning. information theory. University of Illinois at Urbana-Champaign Research Interests: Automated reasoning. or cases. manipulation of the valley index in AlAs nanodevices. Ph. Ph.D. Ph. University of California.D. approximation algorithms. Ph. networks. University of Washington Research Interests: Algorithmic mechanism design. quantum and non-linear optics Michael Honig. and one-dimensional transport in novel quantum wires Dongning Guo.S. Henry and Isabelle Dever Professor. memory systems. heterogeneous/distributed database systems. signal processing Abraham H.D. Haddad. Ph. deductive databases. nanoscale photonic device technology.D.D. signal processing Michael Horn. cognitive architecture and situated agency and biological modeling Nicole Immorlica.D. microeconomics. Assistant Professor. simulation and analysis techniques for 11/5/2009 . competitive analysis. in Information Technology.. Ph. Professor. organics and inorganics electro-optic modulators.. economic theory Lawrence J. Assistant Professor. Hartline.. optimal control. Ph. M. problem solving. Professor. Associate Professor. Assistant Professor..D. University of Rochester Research Interests: High performance VLSI circuits. wireless communications.. Assistant Professor. design of ad auctions for search engines.

Professor.D.. embedded systems. joint appointment with the Department of Biomedical Engineering. Center for Photonic Communication and Computing.D. applications and implementation of algorithms. Georgia Institute of Technology Research Interests: Image and video recovery and compression. nanophotonic devices. inductance modeling Russ Joseph. multimedia communication. quantum dots. communication network performance modeling and analysis. Ph.D. analysis. Associate Professor. and parallel computing Aggelos K. Ph. Ph. Professor.. novel opto11/5/2009 .D. microwave imaging and sensing techniques for biomedical applications. Motorola Center for Seamless Communications. compilers. fiber-optic communications.D. University of WisconsinMadison Research Interests: computational and experimental electromagnetics.D. and e-commerce. Associate Professor.D. State University of New York. network security. Professor. computational vision. deep-submicron VLSI design.D. specific application areas include: computational biology.. and computer graphics Chang Liu. networks Aleksandar Kuzmanovic. Ph... Ph. and optimizing performance and power consumption Ming-Yang Kao. Ph. Director. Los Angeles Research Interests:: Computer Architecture.. image and video restoration Prem Kumar. design automation Seda Ogrenci Memik. Yale University Research Interests: Design.. Assistant Professor. Associate Professor. California Institute of Technology Research Interests: Sensors and sensing technology. joint appointment with Mechanical Engineering. Assistant Professor. nano-photonics.D. Ph... micro and nanofabrication Gokhan Memik. AT&T Professor of Information Technology. characterizing. Ph. optical imaging and diagnosis techniques for biomedical applications. Purdue University Research Interests: Computer vision. Ph.D. Associate Professor. Ph. network measurement and analysis Chung-Chieh Lee. Buffalo Research Interests: Quantum and nonlinear optics. Ph. online computing. Rice University Research Interests: High-speed networks. distributed multisensor detection and estimation Xu Li. image reconstruction and signal processing algorithms Wei-Chung Lin. resource management and control in largescale networks. neural networks. pattern recognition.D. reconfigurable computing. especially in biological tissues.D.. multimedia signal processing.VLSI design. University of California. synthesis for programmable systems Hooman Mohseni. Katsaggelos.. Specific algorithm areas include: combinatorial optimization. Princeton University 52 Research Interests: Digital communications. Director. joint appointment with the Department of Physics and Astronomy. Lisa Wissner-Slivka and Benjamin Slivka Chair in Computer Science. laser and atomic physics. propagation and scattering of electromagnetic waves in random media. Ph. ultrawideband antennas. Northwestern University Research Interests: Low-dimensional devices. Los Angeles Research Interests: Computer-aided design for VLSI. Assistant Professor. Ameritech Professor.. Princeton University Research Interests: Computer architecture and power-aware computer systems including techniques for monitoring. computational finance. University of California.

D. joint appointment with the Department of Biomedical Engineering... Ph. especially finite-difference time-domain (FDTD) solutions of Maxwell’s equations Goce Trajcevski... Ph.electronic devices. Professor. whether in education. optical communication through the turbulent atmosphere. nanolithography. numerical analysis. Sahakian. products. Professor.. parallel I/O systems. and search techniques to auditory user interfaces for HCI Martin A. pictorial databases. Shahriar. Ph. and ES-Science Doctorate. Ph.D. Murphy Professor. propagation and scattering of electromagnetic waves. Director. Professor. Associate Professor. probabilistic natural language processing... Rice University Research Interests: Nonlinear optimization. University of Paris Research Interests: Compound semiconductor science and technology. Ph. novel integration methods for photonic integration circuits (PIC). distributed database systems Selim M. Georgia Institute of Technology 11/5/2009 . Allen K. Professor. Associate Professor..D. State University of New York. Center for Quantum Devices. Stony Brook Research Interests: Physical database design. Ph. Massachusetts Institute of Technology Research Interests: Image processing. Massachusetts Institute of Technology Research Interests: Applications of optically induced spin transitions. Data Management in Sensor Networks. Director.D. Plonus.D. computer music. multidimensional signal processing Bryan Pardo. University of Michigan Research Interests: Electromagnetic theory. and optical phase conjugation Allen Taflove. signal and image processing for medical and aerospace applications.D. Professor. consumer electronics Manijeh Razeghi. modeling and fabrication of quantum structures and devices operating from 53 ultraviolet (200 nm) up to terahertz (100 micron) Christopher Riesbeck. Walter P. software development for numerical computations Don Norman. especially of physical objects with embedded computation and telecommunication Thrasos Pappas. and Johnnie Cordell Breed Senior Professor in Design. Assistant Professor.D. using technology to make the world more humane. Ph. or the home. optical data storage. Ph. University of Wisconsin Research Interests: Instrumentation. Stanford University Research Interests: Educational change through the development of tools for authoring and delivering interactive learning scenarios. advanced optical modulators Jorge Nocedal. society and technology. Ph. characterization. Northwestern University Research Interests: Theory and applications of computational electrodynamics. the humancentered design process.D. University of Pennsylvania Research Interests: The human side of computer science. Ph. Ph. design. epitaxy. entertainment. Associate Professor. Associate Professor. automatic detection and treatment of atrial cardiac arrhythmias by implanted devices Peter Scheuermann. applied linear algebra.D. and Reactive Behavior in Dynamic and Distributed Environments Jack Tumblin. Lecturer. University of Michigan Research Interests: Application of machine learning. University of Illinois at Chicago Research Interests: Mobile Data Management and Moving Objects Databases (MOD).D... theory..D..D. Computational Science Institute. Ph.D. business. parallel algorithms for data-intensive applications. and tools for asynchronous efficient highquality mentoring Alan V. Assistant Chair. Ph.

Ph. theoretical quantum optics. virtual environments. Ph. CAD/CAM. corporate e-learning strategy and design John Kim. Research Assistant Professor. Research Associate Professor.. Northwestern University Research Interests: Online learning. Associate Professor.Research Interests: Human visual perception of intensity. Ph..D. visual appearance. Research Wei-Keng Liao.D..D.. Deep UV LEDs and UV Lasers Bijan Movaghar. modeling and simulation. and quantum dot lasers/detectors Sotirios Tsaftaris. industrial control applications. automated medical instrumentations. Massachusetts Institute of Technology Research Interests: Optical communication. computer graphics and images. Ph. parallel algorithms Chi-haur Wu. Research Assistant Professor. imagebased rendering. Ph. Focal Plane Array Imaging Technology. visionbased human-computer interaction. Research Associate Professor. Research Assistant Professor. University of Illinois. multimedia. and formal verification Technology Research Interests: Analogical and case-based reasoning. virtual schools.. Associate Professor. Yuen. multimodal human-computer interactions. Ph. performance support for engineering design Kemi Jona. neural networks. Associate Professor. DNA-based Storage of Signals. surface modeling. Northwestern University Research Interests: DNA-Based Digital Signal Processing. Associate Professor. robotics Horace P. automated manufacturing. DNA Microarray Imaging.. QWIPs. image and video processing. online laboratory science course design.D. computational geometry.D. movement. form and color. type-II InAs/GaSb lasers/detectors.. Ph. joint appointment with the School of Education and Social Policy.. Ph. Ph. Molecular Computing for Biotechnology Research Faculty Thomas Hinrichs. qualitative reasoning. Northwestern University Research Interests: Growth and fabrication of III-V semiconductors for use in optoelectronic devices. Ph. surgical robot systems Ying Wu. joint appointment with the Department of Physics and Astronomy. Solar-Blind Photodetectors and UV Avalanche Photodiodes. logic synthesis. measurement theory. technologies to support online learning and collaboration.D.. parallel input/output system design. and computer vision Uri Wilensky. Professor. Research Associate Professor. physical cryptography Hai Zhou.D. image processing. University of Texas at Austin Research Interests: VLSI design automation including physical design. Research Steven Slivken. implementation and evaluation of radar signal processing applications on HPC systems Ryan McClintock. computer graphics. Northwestern University Research Interests: Wide Band-Gap III-Nitride Semiconductors.D.D. Massachusetts Institute of Technology Research Interests: Multi-agent modeling. Ph. machine learning and pattern recognition. Georgia Institute of 54 11/5/2009 . Syracuse University Research Interests: High-performance computing systems. including quantum cascade lasers. Purdue University Research Interests: Robotics.D. Urbana-Champaign Research Interests: Computer vision and graphics.D. networked simulation environments.

and Helen Kellogg Professor of Managerial Economics and Decision Sciences. Emeritus Professor. Rekasius.. Ph. Murphy. Professor. U. Professor. Johns Hopkins University Gilbert K. Ph. Associate Professor of Computer Science.D.S. Adjunct Professor.. Department of Radiology Andrew Ortony. Emeritus Professor.. joint with Biomedical Engineering John Ketterson. Professor.D. Loyola University Chicago. Assistant Professor. Van Ness. Princeton University Sven Leyffer. joint with Engineering Sciences and Applied Math Robert Chang. Argonne National Laboratory Bing Liu.. University of Illinois at Chicago Joel Mambretti. International Center for Advanced Internet Research Antoni Rogalski. Adjunct Associate Professor. University of Dayton Robert Dick. Emeritus Professor. Emeritus Professor.. Adjunct Professor. CS Department.D. Northwestern University Morris E. Assistant Professor.. Adjunct Professor. joint with Physics and Astronomy Andrew Larson. J. Air Force Research Laboratory. University of Michigan.D. Ph.D.. Military University of Technology. Emeritus Professor.D.. joint with Material Sciences and Engineering Darren Gergle. L. Ph. Adjunct Professor. Aagaard. Professor. Kellogg School of Management Emeritus Faculty James A. Ph. Director. Assistant Professor. Education and Social Policy & Psychology Departments Morteza Rahimi. Brodwin. Northwestern University 55 11/5/2009 . Adjunct Professor. Northwestern University Information Technology and Chief Technology Officer (NUIT) Rakesh Vohra. Institute of Physics. Ph.D. Krulee. Ph. University of Southern California Gail Brown.D.D. Professor.D. Ph. Northwestern University Rajeev Thakur..Adjunct Faculty Geraldo Barbosa.D. Argonne National Laboratory. Massachusetts Institute of Technology Gordon J. Division of Cardiology. Syracuse University George Thiruvathukal. Ph. Adjunct Professor. Military University of Technology Steven Swiryn. Purdue University James E. Professor. Adjunct Professor.D. Ph... Adjunct Professor. Kertesz. Ph. Fayerweather Professor. Illinois Institute of Technology Faculty with Courtesy Appointments Alvin Bayliss. Emeritus Professor.. University of Minnesota Zenonas V. joint with the School of Communication Andrew E. Ph. Professor and Vice President.

circuit design/simulation. The collaboration also equipment and access to the PlanetLab worldwide distributed systems testbed. and other software packages are available on these machines. biomedical electronics. and a machine/equipment pool for research projects. artificial intelligence. with most of its computers upgraded in the last three years. Aqua. consisting of 33 dual Xeon nodes on a gigabit interconnect. plus many special test setups that are designed here. a significant router/server infrastructure for high-throughput wide-area network monitoring. Instruments are controlled.9. CAD. In addition. digital systems design. computer vision. and robotics. the Department has excellent computing labs. computer graphics. We also maintain a wide range of electronic parts for student projects. This equipment is connected through a GPIB bus to a PC. Our “Introduction to Computer Engineering” lab is portable. a Sun Enterprise 250 fileserver. trace storage. and are on a private network. networking. These. Our setups are very flexible so changes and updates are made easily by our faculty. Collaborations among the Prescience. computer systems (including distributed and parallel systems). microwave techniques. Data Acquisition Switch. database. digital circuits. The TLab can be used for studio instruction. data collected and results printed in a very coherent manner. Function Generator and Triple Power Supply. The Qualitative Reasoning Group has a very large cluster. solid-state electronics. fiber-optics. holography. The EECS Department maintains several state-of the-art undergraduate teaching labs equipped with Agilent and other high end lab equipment. A wide variety of graphics. The Aqua Lab has a 20-node Sun SPARC-based cluster and a 20 node dual Opteron cluster. dual boot Linux and Windows XP. communications. and LIST labs also provide the Northwestern Netbase. The TLab (“Teaching Lab”) consists of 18 high-end PCs connected to a storage server on a private network. security. real-time control systems. access to the DOT optical research network via a smaller local e1350 cluster and metro edge router. the “symbolic supercomputer”. They have a wide range of software installed and are used in numerous courses. The Prescience Lab has an IBM e1350 cluster. and analysis. and several PCs. The Center for Ultra-scale Computing and Information Security has several Sun Solaris and Red Hat Enterprise Linux workstations. Laboratory and Computer Facilities The EECS Department has well-equipped instruction and research laboratories for electronic circuits. Students are assigned a tool kit that they take with them to “breadboard” their assignments and later meet with their TAs. The newly opened 24/7 Lab in Tech MG22 is accessible at any time to EECS affiliates with a valid Wildcard to swipe at the door. A typical setup consists of an Oscilloscope. The PCs include powerful graphics cards attached to large LCD displays. The Computing Labs: The Wilkinson Computing Lab includes 12 Sun Blade 1500 Solaris workstations and 23 Red Hat Enterprise Linux workstations. significant amounts of RAID storage. 23 instances of Windows Vista Business Edition run in a virtualized environment on the Linux machines. 56 11/5/2009 . and all of its computers linked to Northwestern's ever-evolving high-speed backbone network connection to the Internet. coherent light optics.

2 TB of storage. a conference room. research labs. project display areas and a student commons area. Presented with real-world problems from clients. and a private gigabit network. a Mechatronics lab for building circuit boards. New designs will come to life at the center. group study rooms. 57 11/5/2009 .” The large flexible. The Ford Motor Company Engineering Design Center is our new state-of-the-art teaching facility. students can work their ideas out in the CADD (computer-aided drafting and design) lab and rapid prototyping areas located on the sub-basement level. a 60-seat classroom. milling machines and large saws. Students and faculty can create their own virtual computers on this hardware. and labs in the sub-basement. barrier-free workspace with its concrete floor is where designs actually get built. Faculty and graduate students from the department of Electrical Engineering and Computer Science have offices on the second and third floors. which include machinery such as lathes. to build design projects both large and small. and then move those plans to the basement-level “factory floor. The Ford building also features a vehicle testing area.The VLab (“Virtual Lab”) consists of 11 dual Xeon 64-bit server computers. Their virtual computers can run any operating system and they have root access. Students can use the design prototyping lab and fabrication facilities.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.