Computer Engineering Program Self-Study Report SELF-STUDY QUESTIONNAIRE (Excerpted) Computer Engineering College of Engineering & Technology University of Nebraska-Lincoln Engineering Accreditation Commission Accreditation Board for Engineering and Technology 111 Market Place, Suite 1050 Baltimore, Maryland 21202-4012 Phone: 410-347-7700 Fax: 410-625-2238 e-mail: eac@abet.org www: http://www.abet.org/ i Computer Engineering Program Self-Study Report Computer Engineering Program Self-Study Report Table of Contents Engineering Accreditation Commission ............................................................................................................................ i A Accreditation Summary.......................................................................................................................................................... 1 A.1 PROGRAM EDUCATIONAL OBJECTIVES ............................................................................................................ 1 A.1.1 Department Mission ............................................................................................................................... 1 A.1.2 Statement of Program Objectives .......................................................................................................... 1 A.1.3 Implementing the Program Objectives .................................................................................................. 2 Courses and Activities Contributing to the Outcome ........................................................................................... 3 A.2 PROGRAM OUTCOMES AND ASSESSMENT ........................................................................................................ 4 A.2.1 Statement of Program Outcomes ........................................................................................................... 4 A.2.2 Mapping Outcomes to Objectives and ABET 2005-2006 Criteria for Accrediting Engineering Programs.............................................................................................................................................................. 5 A.2.3 Outcomes-Level SPAR Procedures ........................................................................................................ 5 A.3 PROFESSIONAL COMPONENT ............................................................................................................................ 5 A.3.1 Design Experience ................................................................................................................................. 6 A.3.1.1 Software Design Experience ............................................................................................................................. 6 A.3.1.2 Hardware Design Experience ............................................................................................................................ 6 A.3.1.3 Integrated Design Experience ........................................................................................................................... 8 A.3.2 Curricular Components ......................................................................................................................... 9 A.4 FACULTY.......................................................................................................................................................... 9 A.5 PROGRAM CRITERIA....................................................................................................................................... 10 Computer Engineering Technical Electives .................................................................................................................................... 15 Humanities & Social Sciences ........................................................................................................................................................ 16 Required are at least................................................................................................................................................... 16 Recent CSCE 496 Special Topics ................................................................................................................................................... 16 Title Area ..................................................................................................................................................... 16 Formal Admission .......................................................................................................................................................................... 16 Typical Eight Semester Schedule ................................................................................................................................................... 17 ii Computer Engineering Program Self-Study Report Program Self-Study Report for Computer Engineering A Accreditation Summary A.1 Program Educational Objectives This section defines and motivates the Program Educational Objectives, in the context of the departmental mission statement. It also identifies the program constituencies and the process by which their input into the objectives is obtained. A.1.1 Department Mission The CSE Department embraces its unique role in the land-grant mission of the University of Nebraska—Lincoln (UNL). The Department shares in UNL’s three missions of teaching, research, and service; mirrors its comprehensiveness in spanning both computer science and computer engineering and in offering BS, MS, and PhD degrees; focuses its commitment to the pursuit of new, basic and applied knowledge; and contributes to the dissemination of knowledge throughout the state and beyond. In the baccalaureate degree programs, our mission is to educate our graduates with the skill, knowledge, creativity, and vision to be nationally competitive for professional practice in the commercial, industrial, and governmental sectors and for post-graduate education leading to careers in research and academia. A.1.2 Statement of Program Objectives The Computer Engineering baccalaureate degree program at the University of Nebraska – Lincoln is designed to prepare graduates for professional practice in commerce, industry, and government and for post-graduate education to enter careers in research and academia. The focus of the program is integrated hardware/software system design. Increasingly, diverse systems, products, and processes depend on computers for design, control, data acquisition and other functions. The computer engineer is the one person with the range of expertise to view a computer-based system as a complete, integrated system and to make the necessary global design decisions. To prepare our graduates to take their place in this environment, and consistent with this focus, the following educational objectives have been established for the Computer Engineering baccalaureate program. 1. A graduate must be able to view the computer systems as an integrated continuum of technologies and to engage in integrated system-level design. Therefore, graduates shall demonstrate mastery in the areas of mathematics, logic design, 1 Computer Engineering Program Self-Study Report computer organization and architecture, operating system kernels, systems programming, and systems design. 2. A graduate must be able to work with professionals in related fields over the spectrum of system design. Therefore, graduates shall have a broad foundation in computer science, physical sciences, engineering principles, and digital electronics. 3. A graduate must be able to quickly adapt to new work environments, assimilate new information, and solve new problems. Therefore, graduates shall be adept in the areas of communication, teamwork, and problem solving and develop breadth of expertise. 4. A graduate must have the background and perspective necessary to pursue post-graduate education. Therefore, graduates shall possess a depth of knowledge in some focus area and the critical thinking skills necessary to pursue advanced research, and develop a foundation for life-long learning. 5. A graduate must understand the social, political, and environmental aspects of professional practice. Therefore, graduates shall have a broad educational background in professional ethics, the humanities, and the social sciences, to enable them to function as informed, responsible, and ethical members of the profession and society. 6. A graduate must be integrated into the world of practicing professionals for collaborations, mutual support, and representing the profession to government and society. Therefore, graduates shall have a continued and varied participation in professional organizations such as ACM and IEEE. A.1.3 Implementing the Program Objectives To ensure that Program Objectives are achieved, the SPAR procedure establishes a direct mapping from Program Objectives to Program Outcomes and from Program Outcomes to the curriculum. The Program Outcomes (defined Section B.3.1) are thus the pivotal elements in the SPAR process. Because the Program Outcomes are more concrete than the Program Objectives, they are easier to map into specific course topics. As shown in Table 2, each Program Outcome maps directly to one or more Program Objectives, as well as to ABET 2005-2006 Criteria for Accrediting Engineering Programs 3, 4, and 8. Similarly, individual courses and activities are mapped directly to Program Outcomes. Thus, Program Outcomes are the link between the curriculum and the Program Objectives. Table 2 summarizes these relationships. 2 Computer Engineering Program Self-Study Report Table 1: Relationships between Outcomes, Objectives, ABET Criteria, and Curriculum [4] Outcome1 2 2 ABET Criteria Courses and Activities Contributing to the Outcome 1.a 1 4(a), 8 MATH 106, 107, 208, 221, 314, 380; CSCE 235 1.b 2 4(a), 8 CHEM 111; PHYS 211, 212/222 1.c 2 4(b), 8 PHYS 212/222; ELEC 121, 215/233, 216/234, 316, 361/307 2.a 1 4(b), 8 CSCE 230/230L, ELEC 370 2.b 1, 2 4(b), 8 CSCE 155, 156, 230/230L, 251, 310, 351 2.c 1 4(b), 8 CSCE 230/230L, 351, 430, ELEC 478 3.a 3, 4 3(a, e) CSCE 488, 489 3.b 3, 4 3(b, e) CSCE 310, 488; ELEC 307 3.c 3 3(e, k) CSCE 230L, 430, 488, 489; ELEC 307, 478 3.d 1, 3 3(c, e), 4(b) CSCE 488, 489 4. 4 3(j) Technical Elective Tracks (12 hrs, 3 or 4 areas) 5. 3 3(g) JGEN 200/300; CSCE 230, 310, 488, 489 6.a 5 3(h, j), 4(c) Humanities and Social Sciences Requirements (18 hrs) 6.b 5 3(f) ENGR 400; CSCE 488 6.c 3 3(d) CSCE 230L, 488, 489 3(i) CSCE 488, CSE departmental research colloquiums, Undergraduate research experiences through UNL’s UCARE (Undergraduate Creative Activities and Research Experiences) program, ACM/IEEE membership, Annual ACM Programming Contests, and ACM sponsored research competitions. 6.d 1 Prog. Object 4 Program Outcomes are enumerated in Section B.3.1 of this Self-Study Report. Program Objectives are enumerated in Section B.2.3 of this Self-Study Report. 3 Computer Engineering Program Self-Study Report A.2 Program Outcomes and Assessment Program Outcomes are specific academic achievements derived from the Program Objectives. Thus, the Program Outcomes act as a link between Program Objectives and the curriculum, and provide a means for assessing accomplishment of the Program Objectives and ABET criteria. A.2.1 Statement of Program Outcomes 1. Graduates will demonstrate mastery of the mathematical foundations and familiarity with the scientific foundations of computer engineering. These include: a) Mastery of discrete mathematics, differential and integral calculus, differential equations, probability and statistics, linear algebra, and numerical analysis; b) Familiarity with the fundamentals of inorganic chemistry, along with classical and modern physics, including electricity, magnetism, electromagnetic theory, optics, and solid-state semiconductor physics; and c) Familiarity with electrical circuits, electronic circuits, and solid-state electronic devices. 2. Graduates will possess depth of knowledge in topics critical to system-level design, including both hardware and software design and hardware/software tradeoffs. These include: a) Mastery of digital logic design, including logic families and contemporary digital technology; b) Mastery of computer programming, including data structures, algorithms, and proficiency with representative programming languages; and c) Mastery of the topics necessary to design combined hardware/software systems, including computer organization and architecture, systems programming, operating system kernels, and the interdependencies between these topics. 3. Graduates will be able to identify, formulate, and solve computer engineering problems, and shall demonstrate: a) The capacity to apply theoretical knowledge in solving advanced, practical problems; b) The ability to design and conduct experiments and to analyze and interpret data; c) Proficiency with current tools and techniques for both hardware and software design; and d) The ability to design, implement, and document integrated hardware/software solutions to realistic computer engineering problems. 4. Graduates will possess a depth of knowledge in one selected area of more advanced computer engineering topics, such as system-level architectures, software systems, hardware design implementation, communications and distributed systems, or computer engineering applications. 4 Computer Engineering Program Self-Study Report 5. Graduates will demonstrate proficiency at communicating their technical knowledge and accomplishments in both written and oral forms and in styles consistent with industry norms. 6. Graduates will demonstrate an understanding of contemporary social, political, cultural, organizational and ethical issues and the demands they place upon a computer engineer over his/her professional lifetime. These include: a) A broad education in the humanities and social sciences, in order to understand the impacts of his/her professional activities in the broader societal context; b) An understanding of the range of ethical, legal, environmental, and safety issues relevant to computer engineering; c) The ability to work with others, including interdisciplinary teams; and d) An understanding of the importance of and opportunities to engage in life-long learning. A.2.2 Mapping Outcomes to Objectives and ABET 2005-2006 Criteria for Accrediting Engineering Programs Table 2 (Section B.2.6) shows the relationships between the Program Outcomes and other program requirements. The table shows how each Program Outcome listed in Section B.3.1 serves to implement one or more of the Program Objectives listed in Section B.2.3. The table also shows how each outcome fulfills the ABET 2005-2006 Criteria for Accrediting Engineering Programs 3(a)–3(k), 4(a)–4(c), and 8. A.2.3 Outcomes-Level SPAR Procedures Several changes to the curriculum and required courses, including: ELEC121 Introduction to Electrical Engineering I has been added to the curriculum as a required course to better prepare CE students for ELEC215/216 and CSCE230/230L, Dropping ELEC362/363 Digital Electronics/Digital Electronics Lab, replacing it with ELEC361/307 Advanced Electronics and Circuits/Electrical Engineering Lab. I, The introduction of two new courses, one in Embedded Systems and one in File and Storage Systems, which are in the process of being made into regular courses, Dropping ELEC476/492 Introduction to Digital System Design/Digital System Design Lab, and replacing and enhancing its function with ELEC478 Microprocessor Hardware, Software, and Interfacing, ELEC307 Electrical Engineering Lab I, and CSCE230L. A.3 Professional Component In Appendix I.A, Table I-1 shows the basic-level curriculum in a semester-by-semester, sequence. Table I-2 in Appendix I.A lists the courses with information about sections offered 5 Computer Engineering Program Self-Study Report during the 2004-05 academic year. Course specifications for required and technical elective courses (with a syllabus of each class) are included in Appendix I.B. The curriculum draws upon courses in both the Computer Science and Engineering Department and the Electrical Engineering Department in order to provide a balanced view of hardware and software in computer engineering, including hardware-software trade-offs and modeling techniques for both hardware and software. The Program integrates studies in programming languages, algorithms and data structures, circuits and digital systems, computer organization and architecture, software design and testing, and operating systems. Elective courses in engineering topics offer depth in system-level architecture, software systems, design implementation, communications and distributed systems, and computer engineering applications. As described in this section, the curriculum builds a sequence of design experiences though courses dealing in hardware and software that cover the fundamental elements of the design process including establishing objectives and criteria, synthesis, analysis, construction, testing, and evaluation. Capping the design component of the Program is the Senior Design Course, in which students working in small groups undertake a major design project. This experience requires the demonstration of creativity, open-ended problem solving in the face of realistic constraints, the use of design theory and methodology, and the consideration of performance and cost issues. A.3.1 Design Experience As shown in Table I-1 of Appendix I.A, hardware and software design experiences begin early in the curriculum and grow in scope and complexity as the courses become more advanced. Lowerlevel courses lay the foundations of mathematics, the sciences, design theory, problem-solving techniques, and documentation methods. Several required and elective upper-level courses build on this foundation, providing hands-on design experiences that take into account the constraints that professional designers encounter in real-life. The sequence of design experiences culminates in the capstone design course CSCE489. A.3.1.1 Software Design Experience In CSCE351, students use assembly languages, OS (e.g., Linux and Windows) primitives and system calls to do assignments that design and implement operating system kernels. These OS kernels cover fundamental OS concepts such as user space management, concurrency management, processes and threads control, I/O management, hardware and software interfacing. Students implement their design in real systems or simulated environment. A.3.1.2 Hardware Design Experience Several courses involve hardware design and require students to design circuits, logic, and systems of increasing complexity. These courses include ELEC121 Introduction to Electrical Engineering I, CSCE230L Computer Organization Lab, ELEC 215/233 Electronics & Circuits I/Lab, ELEC216/234 Electronics & Circuits II/Lab, ELEC316 Electronics & Circuits III, ELEC361/307 Advanced Electronics & Circuits/EE Lab I, ELEC370 Digital Logic Design, and ELEC478 Microprocessor Hardware, Software, and Interfacing. 6 Computer Engineering Program Self-Study Report The first meaningful hardware design experience for students occurs in their second semester in CSCE230L Computer Organization Laboratory. As a result of the 1999 Outcomes-Level SPAR process, a laboratory (CSCE230L) has replaced CSCE231 to reinforce logic design and assembly programming. In this lab course, students conduct experiments involving the following three essential aspects of computer hardware design: (1) Arithmetic and Logic Level Implementation: Basic logic design of combinational and sequential logic, schematic capture, implementation of a control-datapath design using the register-transfer-level (RTL) notation; (2) Assembler Language Programming: assembling, loading, & linking in one assembler language, with simplified applications involving flow of control, arrays, loops, procedure calls, parameter passing, and floating point arithmetic; and (3) Introduction to team work and written & oral communication, in the context of the design, implementation, and verification of a single-cycle RISC processor realizing a substantial subset of the instruction set. The initial hardware design experience is further reinforced in the following upper-division required courses: ELEC307 Electrical Engineering Lab I, ELEC316 Electronics & Circuits III, ELEC361/307 Advanced Electronics & Circuits/EE Lab I, ELEC370 Digital Logic Design, and ELEC478 Microprocessor Hardware, Software, and Interfacing. The digital electronics lectures and laboratory aim to provide an appreciation for the technological differences in design implementation and to introduce the notion of precise timing analysis. Students design and implement small logic and memory circuits in various technologies (CMOS, TTL, ECL, and GaAs) and learn to measure their static and dynamic electrical parameters in the laboratory. Interface circuitry design and layout design for power-line noise reductions also are introduced. The digital logic design and digital system design courses form a sequence in logic design theory and practice. The digital logic design course (ELEC370) builds on the basic knowledge of logic design and Boolean algebra from computer organization (CSCE230/230L) to delve into the design and analysis methods for combinational and synchronous and asynchronous sequential circuits. The digital-systems design course extends this to the design and implementation of finite state machines using PLD and FPGA components. It introduces the design and implementation of a datapath and controller for a simple computer while addressing issues involved in implementing a hardwired controller compared to a micro-programmable one. Further, it provides basics of hardware description languages by illustrating state-machine synthesis from register-transfer level descriptions. Modeling and simulation of digital systems using VHDL and Mentor Graphics CAD tools provide challenging digital design projects for the students. The microprocessor hardware, software, and interfacing course (ELEC478) serves to combine the elements of theory and techniques introduced in ELEC370 and CSCE230L with the practice of design. In this course, students learn to appreciate the differences between various microprocessor architectures and to carry out microprocessor-based designs involving a combination of hardware and software components and interfacing between them. Several elective courses allow students to explore hardware design in greater depth. Both of the VLSI design courses, ELEC470 Digital and Analog VLSI Design and CSCE434 VLSI Design, are heavily laboratory oriented. ELEC470 course emphasizes both digital and analog and cell-level design using CAD tools. The CSCE course concentrates on system-level design issues. Students undertake a substantial design as a group project and carry the implementation down to the mask level, making tradeoffs between area and time. The implementation process is aided by use of 7 Computer Engineering Program Self-Study Report tools for high-level synthesis, design verification, testing, and design-for-testability. The newly introduced courses in embedded systems and in file and storage systems add more systems level design experiences to the curriculum. A.3.1.3 Integrated Design Experience The curriculum culminates in CSCE489 Senior Design Project, which provides a significant design experience. For this project, students are organized into teams to undertake a substantial design project supervised by the instructor. All teams undertake a broadly defined design problem containing aspects of both software and hardware design. To ensure that the student has achieved a sufficient level of background knowledge, the prerequisites to the course are JGEN200 or 300 Technical Writing, ELEC361 Advanced Electronics & Circuits, ELEC478 Microprocessor Hardware (possible co-requisite if available only once a year), Software, and Interfacing, CSCE430 Computer Architecture, and CSCE488 Computer Engineering Professional Development. CSCE489 projects are of sufficient complexity as to require team members to partition and coordinate their efforts for successful completion. Each team is treated as a separate company which is in competition with the other teams (companies). The instructor plays the role of Project Manager. As such, s/he is not directly involved in the design or implementation of the project. Rather, his/her role is purely managerial and advisory. Other faculty members may be asked to play the roles of Customer Representatives at one or more points during the semester. Written technical reports and oral presentations are essential parts of this course. Each team must produce three written reports during the semester, in a writing style consistent with IEEE journals. Each written report is accompanied by an oral presentation in which all team members must participate. 1. The first report is a Project Proposal, presented to the Project Manager (instructor). In this proposal, the team must show a clear understanding of the problem, describe their general approach, and discuss specific design issues and solution options. 2. The second report is a Progress Report, also presented to the project manager and the Customer Representatives. It describes progress to date, options selected, deviations from the original proposal, and plans for completing and testing the project. 3. The third report is a Final Proposal presented to the Project Manager, the Customer Representatives, and the rest of the class. This report details the design, testing, cost, and performance of the project. A demonstration normally also is required. In addition to technical issues, the students are exposed to wider issues relevant to professional practice. Any attempt at sabotage, industrial espionage, or theft of intellectual property is grounds for the immediate awarding of an “F” for the course and/or the filing of formal charges with the Judicial Affairs office. Students are warned against plagiarizing designs from the published literature. However, borrowing and adapting public domain ideas or concepts is permitted as long as they properly credit the originators of those ideas. Students have had to employ industry standards (e.g. IEEE Floating-Point Standard 754, and the GIF and BMP image file conventions) and have in some cases had to deal with copyright permissions. Students also have had to learn about project-specific safety limits, e.g. audible noise levels. Several teams in 8 Computer Engineering Program Self-Study Report the last few years have taken their projects to national contests, such as the Microsoft ChallengE and IEEE CSIDC, with some advancing to the final rounds. A.3.2 Curricular Components The basic components of Criterion 4 are well satisfied in the curriculum. One full-year of study in the Computer Engineering major is equivalent to 32 credit hours. Table I-1 in Appendix I.A lists the details of the curriculum and the relationships of individual courses to the basic technical components of Criterion 4. (a) Engineering Topics: Students must take 66 credit hours (or 2.06 years) of engineering topics courses: 28 credits of electrical engineering, including two 1-credit and one 2-credit laboratories, 26 credits of computer science and engineering courses which qualify as engineering topics, including 3 credits in the capstone design course, and 12 credits of technical electives from a specified list of engineering courses. In CSCE489 Computer Engineering Senior Design, students are organized into teams to undertake a substantial design project proposed and supervised by the instructor. The project complexity is sufficient to require teamwork for successful completion. Written and oral technical presentations are essential parts of this course. Specifically, each design team must make three oral presentations and submit corresponding written reports. Each individual must carry a proportionate share of the load for each presentation and report. In grading, the quality of the design presentation is weighted equally with the quality and correctness of the design itself. A.4 Faculty The UNL baccalaureate computer engineering program draws upon both the Computer Science and Engineering Department and the Electrical Engineering Department to give students a balanced view of hardware and software in computer engineering. The CSE Department faculty cover computer science theory and algorithms; software design, programming, and testing; computer organization and architecture; operating systems; computer communications, networking, and distributed systems; computer applications; and system-level design. The CSE faculty is broadly competent in these areas, so that almost every faculty member can teach almost every required course. Faculty members have individual interests that make them especially qualified in specific areas. Computer science theory and algorithms — Cohen, Deogun, Dwyer, Riedesel, Scott, and Variyam Software design, programming, and testing — Cohen, Dwyer, Elbaum, Goddard, Henninger, and Rothermel Operating systems — Daniel, Goddard, Samal, and Srisa-An 9 Computer Engineering Program Self-Study Report Computer communications, networking, and distributed systems — Costello, Goddard, Jiang, Lu, Ramamurthy, Wang, and Xu System-level design and implementation —Jiang, Scott, Seth, and Srisa-An Computer organization and architecture — Jiang, Seth, Srisa-An, and Wang Computer applications —Choueiry, Reichenbach, Revesz, Samal, Sincovec, Soh, Swanson, and Surkan For the computer engineering baccalaureate program, the EE Department faculty cover electrical engineering theory and design including electrical and electronic circuits, signals and systems; semiconductor devices and waves; digital electronics and systems; and communications systems and signal processing. The EE faculty is broadly competent in these areas and every faculty can teach all the required courses in the program. Areas of faculty special expertise are listed below. Electrical and electronic circuits — Boye and Balkir Signals and systems —Asgarpoor and Varner Semiconductor devices and waves — Bahar, Ianno, Lu, Snyder, Soukup, Williams, and Woollam Digital electronics and systems — Nelson and Vakilzadian Communications systems and signal processing — Hoffman, Perez, Sayood, and Varner A.5 Program Criteria As required by Criterion 8, the Computer Engineering degree program covers the breadth of topics relevant to the degree. This is accomplished by combining the strengths and resources of existing programs in Computer Science and Electrical Engineering. As shown in Table 3, the curriculum covers traditional computer science topics (algorithm, software, and programming), traditional electrical engineering topics (electronics and hardware), and topics in hardware/software integration. The integration of hardware and software in design and operation is presented throughout the curriculum and culminates in a three-credit, capstone Computer Engineering Senior Design Project (CSE489). The program achieves depth by requiring 12 credit hours of study in specified technical electives. These electives must be chosen from five elective “tracks”: System-Level Architecture, Software Systems, Design Implementation, Computer Communication and Distributed Systems, and Computer Engineering Applications. The Program draws on faculty expertise in both the CSE and EE Departments to provide comprehensive coverage of these topics. The faculty expertise in computer science topics including computer theory and algorithms, software engineering, and programming, in electrical engineering including electronics and hardware, and in hardware/software integration is outlined in Section B.5 and documented in Tables I-3 and I-4 in Appendix I.A and Appendix I.C. 10 Computer Engineering Program Self-Study Report Table 2: Computer Engineering Topics, Breadth of Coverage Software and Programming Electronics and Hardware Hardware/Software Integration CSCE155 Intro. to Comp. Sci. I ELEC121 Intro. Elect. Engr. I CSCE230 Computer Organization CSCE156 Intro. to Comp. Sci. II ELEC215/233 Elec &. Ckts I/Lab CSCE230L Computer Org. Lab. CSCE235 Discrete Structures ELEC216/234 Elec.& Ckts II/Lab CSCE430 Computer Architecture CSCE310 Data Struct. & Algo. ELEC304 Signals & Systems CSCE351 O.S. Kernels CSCE340 Numerical Analysis ELEC316 Elec. & Ckts III ELEC478 μProc HW/SW interface ELEC361/307 Adv.Elec.&Ckts/Lab CSCE489 Senior Design Project ELEC370 Digital Logic Design Mathematics and science are used extensively in required courses, for example in algorithm analysis (e.g., CSCE310 Algorithms and Data Structures), circuit analysis (e.g., ELEC215,216 Electronic & Circuits I,II and EE 361 Advanced Electronics & Circuits), digital logic design (e.g., ELEC370 Digital Logic Design and ELEC478 Microprocessor Hardware, Software, and Interfacing), and systems analysis (e.g., CSCE351 Operating System Kernels). Probability and statistics concepts are applied to engineering problems in many classes, including CSCE230 Computer Organization (e.g., yield equations, performance metrics, and cache hit-ratios), CSCE310 Data Structures and Algorithms (e.g., algorithm performance), ELEC316 Electronics & Circuits III (e.g., particle distributions and quantum mechanics), CSCE430 Computer Architecture (e.g., instruction frequencies), and CSCE351 Operating System Kernels (e.g., page fault analysis and queuing models). CSCE340 Numerical Analysis I provides valuable perspectives on mathematical computing. 11 Computer Engineering Program Self-Study Report Course No. Title No. of Sections Offered in Avg. Section Enrollment Type of Class Lecture Laboratory Recitation Other Year 04/05 ELEC 121 Introduction to Electrical Engineering I 2 46 80% ELEC 215 Electronics and Circuits I 2 38 100% ELEC 216 Electronics and Circuits II 2 39 100% ELEC 233 Introductory Electrical Laboratory I 6 28 100% ELEC 234 Introductory Electrical Laboratory II 5 38 100% ELEC 304 Signals and Systems 2 46 90% ELEC 306 Electromagnetic Field Theory 2 40 100% ELEC 307 Electrical Engineering Laboratory I 4 34 ELEC 316 Electronics and Circuits III 2 45 100% ELEC 361 Advanced Electronics and Circuits 1 14 100% ELEC 370 Digital Logic Design 2 48 100% ELEC 416 Materials and Devices for Computer Memory, Logic, and Display 0 0 100% ELEC 417 Integrated Circuits 0 0 100% ELEC 462 Communication Systems 1 19 75% 25% ELEC 463 Digital Signal Processing 1 16 75% 25% ELEC 464 Digital Communication Systems 1 16 100% ELEC 465 Introduction to Data Compression 1 16 100% ELEC 469 Analog Integrated Circuits 1 15 75% 25% ELEC 470 Digital and Analog VLSI Design 1 14 75% 25% ELEC 476 Intro. to Digital System Design 1 18 100% ELEC 478 Microproc. HW, SW, & Interfacing 1 10 100% ELEC 479 Digital Systems Org. & Design 0 0 100% 20% 10% 100% 12 Computer Engineering Program Self-Study Report Bachelor of Science in Computer Engineering Advising Brochure for 2005-2006 Department of Computer Science & Engineering College of Engineering & Technology 256 Avery Hall info@cse.unl.edu http://cse.unl.edu rev: Mar. 11, 2005 13 Computer Engineering Program Self-Study Report Computer Engineering Program Computer Science & Engineering Courses: CSCE 155,156 Intro to Computer Science I,II IS CSCE 230,230L Computer Organization / lab CSCE 235 Introduction to Discrete Structures CSCE 251 Unix Programming IS CSCE 310 Data Structures & Algorithms CSCE 340 Numerical Analysis I CSCE 351 Operating System Kernels CSCE 430 Computer Architecture CSCE 488 Comp Eng Prof Dev IS CSCE 489 Comp Eng Senior Design Electrical Engineering Courses: ELEC 121 Intro Elect. Engr. I ELEC 215,233 Electronics & Circuits I / lab ELEC 216,234 Electronics & Circuits II / lab ELEC 304 Cont Time Signals & Systems ELEC 316 Electronics & Circuits III ELEC 361,307 Adv. Electronics & Circuits / lab ELEC 370 Digital Logic Design ELEC 478 Microprocessor Applications hours 8 4 3 1 3 3 3 3 1 3 32 3 4 4 3 3 5 3 3 28 Mathematics Courses: IS MATH 106,107,208 Anal Geom & Calculus I,II,III 14 IS MATH 221 Differential Equations 3 IS MATH 314 Appl Linear Alg (Matrix Th) 3 STAT 380 (or IMSE 321 or ELEC 305) Statistics 3 23 Other Supporting Courses: PHYS 211,212,222 General Physics I,II & lab 9 IS CHEM 109 General Chemistry 4 IS JGEN 200 or 300 Technical Writing 3 CS/EE Tech Electives (3 or 4 areas) 12 ENGR 400 Professional Ethics 1 ENGR 010,020 Frosh, Soph Eng Seminars 0 Humanities/Social Science 18 130 Double Major with Elec. Engr.: add ELEC 222, 306, 494, and coordinate choice of ELEC 495 and CSCE 489. -1- 14 Computer Engineering Program Self-Study Report Computer Engineering Technical Electives 1-System-level Architecture: CSCE: ELEC: 432 496 476 479 High Performance Proc. Archs. Cluster & Grid Computing Intro Digital Systems Design Digital System Org & Design so se s se 2-Software Systems: CSCE: * 322 IS 361 IS 378 425 429 * 451 464 Programming Language Concepts Software Engineering Human Computer Interaction Compiler Construction Parallel Algorithms (& Distrib Prog) Operating Systems Principles Internet Prog & Sys CSCE: 434 ELEC: + 306 416 417 469 470 VLSI Design Electromagnetic Field Theory Mat & Dev for Comp, Mem, Log, & Disp Integrated Circuits Analog Integrated Circuits Digital & Analog VLSI Design CSCE: Communication Networks Distributed Operating Systems Cryptography & Computer Security Communication Systems Digital Signal Processing Digital Communication Systems Intro to Data Compression f fs s f fo s s 3-Design Implementation: fo fs ? ? ? s 4-Comm & Distributed Systems: ELEC: 462 455 477 462 463 464 465 s fe f f f s so 5-Comp Eng Applications: CSCE: 410 Information Retrieval Systems se 413 Database Systems fsu 421 Found. Of Constraint Proc fo 470 Computer Graphics s 472 Digital Image Processing f 473 Computer Vision so IS 475 Multiagent Systems fe IS 476 Artificial Intelligence s IS 478 Machine Learning fe 479 Intro to Neural Networks s * Deficiencies for the graduate program! + Needed for Elect Engr (double) major! (also ELEC 222, 494) -2- 15 Computer Engineering Program Self-Study Report Humanities & Social Sciences Area C Area E Area F Area G Area H Area I Human Behavior, Culture & Social Orgs Historical Studies The Humanities The Arts Race, Ethnicity and Gender Other (Approved in advance only!) Required are at least 6 courses from the areas listed above 5 courses in areas C-H (max of 3 hrs in area I) 4 of the areas C-H represented (may skip one area) 2 courses in the same department (may be different areas) 1 Integrative Studies (IS) course (9 IS required in all, remaining 8 are already included in the program) Recent CSCE 496 Special Topics Title Area Adv. Compiler Construct. (spring) Algorithmics+ Clustered Computing (spring) Data & Network Security (spring) Data Mining Distrib Storage Computing (spring) Embedded Systems (spring) File & Storage Systems GIS and Document Imaging Performance Anal. of OOP Systems (fall) Queueing Models for Comp & Net Semantic Web Technologies (spring) VLSI Physical Design Simulation Science Steganography (summer) Systems Administration (fall) Software Sys Applications System Level Arch Comm & Distrib Sys Applications Comm & Distrib Sys Design Implem System Level Arch Applications System Level Arch System Level Arch Software Sys Design Implem Applications Applications Software Formal Admission Required prior to taking upper level engineering courses! 43 – 61 hours applicable to the program completed Cumulative and latest semester GPA at least 2.500 Grade of C+ or higher in - MATH thru 208 - PHYS thru 212/222 - ELEC thru 215/233 - CSCE thru 156, 230, 235 -3- 16 Computer Engineering Program Self-Study Report Typical Eight Semester Schedule Fall 1 CSCE 155 CS I CSCE 251 Unix MATH 106 Calc I ELEC 121 Elec Engr 1 HumSoc #1 ENGR 010 Seminar Fall 2 CSCE 235 Discrete MATH 208 Calc III PHYS212/222 Gen Phys II ELEC215/233 Circuit I ENGR 020 Seminar CSCE STAT ELEC ELEC JGEN Fall 3 351 Op Sys Ker 380 Stat & Prob 370 Dig Elec 316 Circuit III 300 Tech Write 4 1 5 3 3 0 16 3 4 5 4 0 16 3 3 3 3 3 15 Fall 4 CSCE 340 Num Analy 3 CSCE 488 CE Prof Dev 1 ELEC 304 Sig & Sys 3 CS/EE Techs 6 HumSoc #5 3 16 Spring 1 CSCE 156 CS II CSCE 230/L Comp Org MATH 107 Calc II PHYS 211 Gen Phys I Spring 2 CSCE 310 Algos MATH 221 Diff Eq CHEM 109 Gen Chem I ELEC216/234 Circuit II HumSoc #2 Spring 3 CSCE 430 Comp Arch MATH 314 Linear Alg ELEC 361 Adv Elec ELEC 307 Elec Lab I HumSoc #3, #4 Spring 4 CSCE 489 Sr Design ELEC 478 Micro Appl ENGR 400 Prof Ethics CS/EE Techs HumSoc #6 4 4 5 4 17 3 3 4 4 3 17 3 3 3 2 6 17 3 3 1 6 3 16 For assistance with general college requirements, contact the CET Student Programs, 114 Othmer Hall, 472-3181. http://www.nuengr.unl.edu/cet/students/ -4- 17 Computer Engineering Program Self-Study Report The Computer Engineering Program Pre-requisite Chart for CSCE/ELEC Courses 18 Computer Engineering Program Self-Study Report 19