Computer Engineering Bachelor of science degree

b8a17068-f8c4-4fb2-93db-52b18818c9f6 | 128987

Overview

Dual Degree

Design computer hardware, components, and software in order to develop next-generation products and appliances that contain embedded systems.


In the computer industry, rapid innovation is the name of the game, and there is a great demand for computer engineers who can do it all—from designing high performance computer hardware components and software to developing next-generation intelligent, resilient and sustainable products and appliances that contain embedded systems.

As computer technology becomes more essential to commerce and daily life, companies will need computer engineers who possess a well-developed set of skills and who can quickly adapt to changes. To meet the challenges of the future, these companies will turn to computer engineers for innovative solutions and technological leadership. Graduates of RIT’s computer engineering program are well prepared to enter industry to meet these new challenges, and they are well positioned to continue their studies in high-quality graduate degree programs.

Educational objectives

The computer engineering department has established the following educational objectives for the computer engineering program, which describe the accomplishments of its graduates during the first few years following graduation:

  • Career focus–Graduates successfully contribute to the professional workforce typically by applying their knowledge in various areas of computer engineering related to hardware, software, and/or systems.
  • Graduate study­–Many graduates have pursued, are pursuing, or plan to pursue graduate study in computer engineering, related disciplines, or in business.
  • Independent learning–Graduates are engaged in lifelong learning and stay current with advancements in their chosen field through independent learning and/or continuing education.
  • Professionalism–Graduates conduct themselves in a professional and ethical manner and function as responsible members of society.

Plan of study

Studying computer engineering begins with the fundamental math, science, and technology courses that are essential to the curriculum. Emphasis is placed on selected areas of computer science, software engineering, and electrical engineering, including data structures, object-oriented programming languages, circuits, electronics, and principles of software engineering. Professional and ethical responsibility is gained through seminars and cooperative education experience. Upper-level computer engineering courses prepare students to integrate hardware and software by formulating complete system solutions. This is achieved through courses on computer architecture, digital systems, IC (integrated circuit) design, interfacing, computer networks, and digital signal processing.

All students are required to complete a two-semester senior design sequence during their last year of study and approximately one year of cooperative education experience.

Concentration areas

Concentration areas provide students with an opportunity to gain additional in-depth knowledge in an area of particular interest within computer engineering. Students can choose among the following concentration areas: software, high performance computing, computer architecture, integrated circuits and systems, networks and security, computer vision and machine intelligence, or signal processing, control and embedded systems. Students interested in research are highly encouraged to choose a concentration area and consult with faculty members in the corresponding area.

Senior design capstone experience

Computer engineering students have the option to select between two tracks for a two-semester capstone design experience: computer engineering projects or multidisciplinary design projects.

Computer Engineering Projects–Computer engineering senior design teams typically consist of three or four computer engineering students. Students form teams and select their own project idea. Each team member is responsible for the design, implementation, and testing of a subsystem that corresponds to a project component. Past projects have focused on areas of autonomous and robotic systems, games and entertainment, imaging systems, security systems, interactive systems, and entrepreneurial projects.

Multidisciplinary Projects–Multidisciplinary design project teams typically consist of four to eight students from different engineering majors, including biomedical, computer, electrical, industrial engineering, and mechanical engineering. Students are assigned to projects before the start of the first course. Projects are initiated by industrial sponsors, faculty members engaged in research, or collaborative work with other universities and corporations. Teams may also propose their own project idea.

Cooperative education

The computer engineering major includes approximately one year of cooperative education experience.  After completing the first two years of course work, students spend the next two years alternating course work on campus with cooperative education experience. These full-time, paid, professional work experiences in industry. This employment not only adds value to their resumes, but prepares them for more sophisticated academic work. Students have worked at such companies as Motorola, Intel, Advanced Micro Devices, IBM, Hewlett Packard, Eastman Kodak Company, and for the federal government, as well as a host of smaller companies.

During their cooperative education (co-op) experiences before graduation, RIT computer engineering students have been on product development teams for new computers and electronic imaging systems as well as a variety of large software projects for industry and government.

Students learn the real-world applications of computer engineering through co-op, where they apply classroom knowledge and lab experience to solving industrial problems. Co-op has taken our students from the high-tech corridors of New England and California to businesses close to their hometowns. Students have worked on product development teams for companies like IBM, Intel, Hewlett-Packard, Lucent Technologies, and Kodak. They have also worked on software projects for smaller companies and the government.

Industries


  • Aerospace

  • Insurance

  • Government (Local, State, Federal)

  • Internet and Software

  • Defense

  • Electronic and Computer Hardware

  • Manufacturing

Typical Job Titles

Support Engineer Computer Engineer
Software Engineer Test Engineer
Digital Design Engineer HDL Verification Engineer

97%

outcome rate of graduates

$68k

median first-year salary of graduates

Latest News

  • May 23, 2019

    Alumnus wins Fulbright U.S. Student Program award to improve drones for search and rescue

    An RIT alumnus received a Fulbright U.S. Student Program award in computer engineering to help drones assist with search and rescue operations in difficult terrain such as dense forests or steep mountains where GPS might not be reliable. Andrew Ramsey ’18 (computer engineering), ’18 MS (computer engineering) will conduct research at Alpen-Adria-Universität Klagenfurt as part of a project to research innovative ways to determine the location of a drone in a low-cost and reliable manner.

  • April 1, 2019

    Large group of students stands with dean.

    RIT’s College of Liberal Arts honors students for writing excellence

    RIT’s College of Liberal Arts honored student achievement in writing on Friday with the presentation of more than a dozen writing awards for essays varying from sanctuary cities, how democracies can withstand outside meddling, and the excavation, preservation and reconstruction of a London theater where Shakespearian plays debuted.

Curriculum

Computer engineering, BS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CMPE-110
Introduction to Computer Engineering
This course overviews the field of computer engineering and provides an appreciation of the computer engineering curriculum. Fundamental concepts of computers, computing and engineering design are introduced. Topics include basic circuits, number systems, digital logic, computer organization, programming in the Matlab environment, teamwork, communication skills, ethics and professionalism, historical background and global, societal and environmental issues related to computers. Lab exercises familiarize students with lab equipment, experiments and data analysis.
1
MATH-181
Project-based Calculus I
This is the first in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers functions, limits, continuity, the derivative, rules of differentiation, applications of the derivative, Riemann sums, definite integrals, and indefinite integrals.
4
MATH-182
Project-based Calculus II
This is the second in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers techniques of integration including integration by parts, partial fractions, improper integrals, applications of integration, representing functions by infinite series, convergence and divergence of series, parametric curves, and polar coordinates.
4
CSCI-141
Computer Science I
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
4
CSCI-142
Computer Science II
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
4
CMPE-160
Digital Systems Design I
The course covers the specification, analysis, and design of basic digital systems, including the design of combinational and sequential circuits using basic logic components: AND, OR, INV, NAND, NOR, and XOR. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies using Karnaugh Maps as well as Mealy and Moore state machines. The laboratory provides hands-on experiences of the design, implementation, and testing of digital systems using SSI, MSI, and FPGA components as well as CAD tools.
3
PHYS-211
University Physics I
This is a course in calculus-based physics for science and engineering majors. Topics include kinematics, planar motion, Newton's Laws, gravitation, work and energy, momentum and impulse, conservation laws, systems of particles, rotational motion, static equilibrium, mechanical oscillations and waves, and data presentation/analysis. The course is taught in a workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
ACSC-010
Year One
The Year One class serves as an interdisciplinary catalyst for first-year students to access campus resources, services and opportunities that promote self-knowledge, personal success, leadership development, social responsibility and life academic skills awareness and application. Year One is also designed to challenge and encourage first-year students to get to know one another, build relationships and help them become an integral part of the campus community.
0
 
First Year LAS Elective
3
 
First Year Writing 
3
 
LAS Perspective 2 (artistic)
3
 
LAS Perspective 4 (social)
3
 
Wellness Education*
0
Second Year
CMPE-250
Introduction to Embedded Systems
This course introduces embedded systems, along with fundamental computer organization, assembly language programming, and mixed language programming with C and assembly. Using a modern microcontroller and embedded systems IDE, such as the ARM Cortex-M0+ and Keil Microcontroller Development Kit, the course covers embedded programming concepts and interface modules, as well as addressing methods, machine instructions, assembler directives, macro definitions, code relocatability, subroutine linkage, data structures, I/O programming, exception processing, and interrupts. Program design techniques necessary to write efficient, maintainable device drivers are considered.
3
MATH-190
Discrete Math for Computing
This course introduces students to ideas and techniques from discrete mathematics that are widely used in Computer Science. Students will learn about the fundamentals of propositional and predicate calculus, set theory, relations, recursive structures and counting. This course will help increase students’ mathematical sophistication and their ability to handle abstract problems.
3
MATH-219
Multivariable Calculus 
This course is principally a study of the calculus of functions of two or more variables, but also includes the study of vectors, vector-valued functions and their derivatives. The course covers limits, partial derivatives, multiple integrals, and includes applications in physics. Credit cannot be granted for both this course and MATH-221.
3
PHYS-212
University Physics II
This course is a continuation of PHYS-211, University Physics I. Topics include electrostatics, Gauss' law, electric field and potential, capacitance, resistance, DC circuits, magnetic field, Ampere's law, inductance, and geometrical and physical optics. The course is taught in a lecture/workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
SWEN-261
Introduction to Software Engineering
An introductory course in software engineering, emphasizing the organizational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. Topics include the software lifecycle, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, technical communications and system documentation, team-based development. A term-long, team-based project done in a studio format is used to reinforce concepts presented in class.
3
CMPE-260
Digital Systems Design II
This course presents modern approaches to the design, modeling and testing of digital system. Topics covered are: VHDL and Verilog HDL as hardware description languages (HDLs), simulation techniques, design synthesis, verification methods, and implementation with field programmable gate arrays (FPGAs). Combinational and both the synchronous and asynchronous sequential circuits are studied. Testing and design for testability techniques are emphasized and fault tolerant and fail safe design concepts are introduced. Laboratory projects that enable students gain hands-on experience are required. The projects include complete design flow: design of the system, modeling using HDLs, simulation, synthesis and verification.
4
EEEE-281
Circuits I
Covers basics of DC circuit analysis starting with the definition of voltage, current, resistance, power and energy. Linearity and superposition, together with Kirchhoff's laws, are applied to analysis of circuits having series, parallel and other combinations of circuit elements. Thevenin, Norton and maximum power transfer theorems are proved and applied. Circuits with ideal op-amps are introduced. Inductance and capacitance are introduced and the transient response of RL, RC and RLC circuits to step inputs is established. Practical aspects of the properties of passive devices and batteries are discussed, as are the characteristics of battery-powered circuitry. The laboratory component incorporates use of both computer and manually controlled instrumentation including power supplies, signal generators and oscilloscopes to reinforce concepts discussed in class as well as circuit design and simulation software.
3
MATH-231
Differential Equations
This course is an introduction to the study of ordinary differential equations and their applications. Topics include solutions to first order equations and linear second order equations, method of undetermined coefficients, variation of parameters, linear independence and the Wronskian, vibrating systems, and Laplace transforms.
3
MATH-241
Linear Algebra I
This course is an introduction to the basic concepts of linear algebra, and techniques of matrix manipulation. Topics include linear transformations, Gaussian elimination, matrix arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course.
3
EGEN-099
Engineering Co-op Preparation
This course will prepare students, who are entering their second year of study, for both the job search and employment in the field of engineering. Students will learn strategies for conducting a successful job search, including the preparation of resumes and cover letters; behavioral interviewing techniques and effective use of social media in the application process. Professional and ethical responsibilities during the job search and for co-op and subsequent professional experiences will be discussed.
0
 
LAS Perspective 1 (ethical)
3
 
Wellness Education*
0
Third Year
CMPE-350
Computer Organization
Provides an understanding of the information transfer and transformations that occur in a computer, with emphasis on the relations between computer architecture and organization. Topics include design levels and their respective primitives, modules and descriptive media, register transfer and micro-operations, basic computer organization and design, central processor organization, control unit and microprogramming, memory organization, input-output organization, computer architecture defining the hardware/software interface, and from architecture to organization (one to many).
3
EEEE-282
Circuit Analysis II
This course covers the fundamentals of AC circuit analysis starting with the study of sinusoidal steady-state solutions for circuits in the time domain. The complex plane is introduced along with the concepts of complex exponential functions, phasors, impedances and admittances. Nodal, loop and mesh methods of analysis as well as Thevenin and related theorems are applied to the complex plane. The concept of complex power is developed. The analysis of mutual induction as applied to coupled-coils. Linear, ideal and non-ideal transformers are introduced. Complex frequency analysis is introduced to enable discussion of transfer functions, frequency dependent behavior, Bode plots, resonance phenomenon and simple filter circuits. Two-port network theory is developed and applied to circuits and interconnections.
3
EEEE-381
Electronics I
This is the first course in a two-course sequence in analog electronic circuit design. The course covers the following topics: (1) Basic MOSFET current-voltage characteristics; (2) DC and small-signal analysis and design of Metal-oxide-semiconductor (MOS) devices and circuits, including single-stage MOS amplifier configurations; (3) DC biasing circuits, such as basic current sources and current mirrors; (4) Two-transistor amplifier stages, such as differential amplifiers, cascode amplifiers, and output stages; (5) Analysis and design of multistage amplifiers; (6) Frequency response of single and multistage amplifiers; (7) Semiconductor diodes and diode circuits, including rectifying and clamping circuits, as well as Zener diode-based voltage regulation; (8) Ideal operational amplifier (op amp) circuits in non-inverting and inverting configurations.
3
CMPE-380
Applied Programming
An introduction to classical algorithms used in the solution of numerical problems encountered in science and engineering. The C language will be introduced as a tool for implementing these algorithms. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation.
3
CMPE-499
Cooperative Education (spring)
After completing Co-op Seminar (EGEN-099) or Co-op Workshop as well as meeting Co-op enrollment requirements, Computer Engineering students should register for CMPE-499 for each term of full-time, paid employment in the Computer Engineering field. Students who take on Spring-Summer or Summer-Fall Co-ops must register for both the semester term and the summer term. Students must obtain permission from the Computer Engineering office for any exception to the assigned Co-op blocks.
co-op
 
LAS Perspective 3 (global)
3
Fourth Year
CMPE-499
Cooperative Education (fall)
After completing Co-op Seminar (EGEN-099) or Co-op Workshop as well as meeting Co-op enrollment requirements, Computer Engineering students should register for CMPE-499 for each term of full-time, paid employment in the Computer Engineering field. Students who take on Spring-Summer or Summer-Fall Co-ops must register for both the semester term and the summer term. Students must obtain permission from the Computer Engineering office for any exception to the assigned Co-op blocks.
Co-op
CMPE-460
Interface and Digital Electronics
This course covers various sensors, motors, signal conditioning circuits including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Keil ARM MDK and PSpice will be used to simulate and debug modern microcontrollers, such as NXP Kinetis, analog active filters, and operational amplifier application circuits. Each team of two students is required to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog outputs through either wired transmission or wireless transmission circuits
4
CMPE-480
Digital Signal Processing
This course introduces the basic elements of continuous and discrete time signals and systems and fundamental signal processing techniques, such as FIR and IIR Filtering, the Fourier transform, the Discrete Fourier transform and the z transform. Theory is strengthened through MATLAB-based projects and exercises.
3
CMPE-550
Computer Architecture
The course covers various aspects of advanced uniprocessor computer architecture design. Instruction set architecture design alternatives are discussed with emphasis on the Reduced Instruction Set Computer (RISC) architecture. Techniques to enhance CPU performance such as pipelined execution optimizations, conditional branch handling techniques, exploitation of instruction-level parallelism, multiple-instruction issue and dynamic scheduling are studied. Cache, and memory hierarchy design and performance issues are also presented. The design aspects of efficient and reliable input/output systems are also covered.
3
MATH-251
Probability and Statistics I
This course introduces sample spaces and events, axioms of probability, counting techniques, conditional probability and independence, distributions of discrete and continuous random variables, joint distributions (discrete and continuous), the central limit theorem, descriptive statistics, interval estimation, and applications of probability and statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications.
3
 
LAS Immersion 1
3
Fifth Year
Choose one of the following course sequences:
6
  CMPE-495
   Computer Engineering Senior Design Projects I
The first course of a two-semester capstone undergraduate design projects course in computer engineering. Covers engineering design process and formulating project proposals. Students propose a team multidisciplinary design project, individually undertake an independent analysis of one of its subsystems, and formulate a formal team proposal for the project to be completed in the following course.
 
  CMPE-496
   Computer Engineering Senior Design Projects II
The conclusion of a two-course capstone undergraduate design projects course in computer engineering. Students will have prepared for the multidisciplinary team project during the previous course and will have done detailed project analysis over the intervening period. This course begins with project design reviews presented to the class and selected faculty members. Project performance analysis and reliability are major metrics.
 
  or
 
 
  CMPE-498
Multidisciplinary Senior Design I
This is the second half of a two-semester design course oriented to the solution of engineering problems. The mission is to enhance engineering education through a capstone design experience that integrates engineering theory, principles and processes within a collaborative environment. Working in multidisciplinary teams and following an engineering design process, students will assess customer needs and engineering specifications, evaluate concepts, resolve major technical hurdles, and employ rigorous engineering principles to design a prototype which is fully tested and documented.
 
  CMPE-498
Multidisciplinary Senior Design II
This is the second half of a two-semester design course oriented to the solution of engineering problems. The mission is to enhance engineering education through a capstone design experience that integrates engineering theory, principles and processes within a collaborative environment. Working in multidisciplinary teams and following an engineering design process, students will assess customer needs and engineering specifications, evaluate concepts, resolve major technical hurdles, and employ rigorous engineering principles to design a prototype which is fully tested and documented.
 
CMPE-570
Data and Communication Networks
This course will give an overview of the technologies, architectures and protocols used to build various types of computer and communication networks - wired or wireless. The emphasis will be placed on discussions of various network design problems and solution approaches. Specific issues covered in this course include: framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling and switching.
3
CMPE-530
Digital IC Design
This course will cover the basic theory and techniques of Digital Integrated Circuit Design in CMOS technology. Topics include CMOS transistor theory and operation, design and implementation of CMOS circuits, fabrication process, layout and physical design, delay and power models, static and dynamic logic families, testing and verification, memory and nanoscale technologies. Laboratory assignments and project facilitate in hands-on learning of circuit-level design and simulation, layout and parasitic extractions, pre and post-layout verification and validation, full-custom flow and Synthesis based flow, using industry standard CAD tools.
3
 
LAS Immersion 2, 3
6
 
Professional Electives
6
 
Free Electives
6
Total Semester Credit Hours
129

Please see General Education Curriculum–Liberal Arts and Sciences (LAS) for more information.

* Please see Wellness Education Requirement for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.

Accelerated dual degree options

Accelerated dual degree options are for undergraduate students with outstanding academic records. Upon acceptance, well-qualified undergraduate students can begin graduate study before completing their BS degree, shortening the time it takes to earn both degrees. Students should consult an academic adviser for more information.

Computer engineering, BS/MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CMPE-110
Introduction to Computer Engineering
This course overviews the field of computer engineering and provides an appreciation of the computer engineering curriculum. Fundamental concepts of computers, computing and engineering design are introduced. Topics include basic circuits, number systems, digital logic, computer organization, programming in the Matlab environment, teamwork, communication skills, ethics and professionalism, historical background and global, societal and environmental issues related to computers. Lab exercises familiarize students with lab equipment, experiments and data analysis.
1
MATH-181
Project-Based Calculus I
This is the first in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers functions, limits, continuity, the derivative, rules of differentiation, applications of the derivative, Riemann sums, definite integrals, and indefinite integrals.
4
MATH-182
Project-Based Calculus II
This is the second in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers techniques of integration including integration by parts, partial fractions, improper integrals, applications of integration, representing functions by infinite series, convergence and divergence of series, parametric curves, and polar coordinates.
4
CSCI-141
Computer Science I
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
4
CSCI-142
Computer Science II
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
4
CMPE-160
Digital Systems Design I
The course covers the specification, analysis, and design of basic digital systems, including the design of combinational and sequential circuits using basic logic components: AND, OR, INV, NAND, NOR, and XOR. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies using Karnaugh Maps as well as Mealy and Moore state machines. The laboratory provides hands-on experiences of the design, implementation, and testing of digital systems using SSI, MSI, and FPGA components as well as CAD tools.
3
PHYS-211
University Physics I
This is a course in calculus-based physics for science and engineering majors. Topics include kinematics, planar motion, Newton's Laws, gravitation, work and energy, momentum and impulse, conservation laws, systems of particles, rotational motion, static equilibrium, mechanical oscillations and waves, and data presentation/analysis. The course is taught in a workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
ACSC-010
Year One
The Year One class serves as an interdisciplinary catalyst for first-year students to access campus resources, services and opportunities that promote self-knowledge, personal success, leadership development, social responsibility and life academic skills awareness and application. Year One is also designed to challenge and encourage first-year students to get to know one another, build relationships and help them become an integral part of the campus community.
0
 
First Year LAS Elective
3
 
First Year Writing 
3
 
LAS Perspective 2 (artistic)
3
 
LAS Perspective 4 (social)
3
 
Wellness Education*
0
Second Year
CMPE-250
Assembly Language
This course introduces embedded systems, along with fundamental computer organization, assembly language programming, and mixed language programming with C and assembly. Using a modern microcontroller and embedded systems IDE, such as the ARM Cortex-M0+ and Keil Microcontroller Development Kit, the course covers embedded programming concepts and interface modules, as well as addressing methods, machine instructions, assembler directives, macro definitions, code relocatability, subroutine linkage, data structures, I/O programming, exception processing, and interrupts. Program design techniques necessary to write efficient, maintainable device drivers are considered.
3
MATH-190
Discret Math 
This course introduces students to ideas and techniques from discrete mathematics that are widely used in Computer Science. Students will learn about the fundamentals of propositional and predicate calculus, set theory, relations, recursive structures and counting. This course will help increase students’ mathematical sophistication and their ability to handle abstract problems.
3
MATH-219
Multivariable Calculus 
This course is principally a study of the calculus of functions of two or more variables, but also includes the study of vectors, vector-valued functions and their derivatives. The course covers limits, partial derivatives, multiple integrals, and includes applications in physics. Credit cannot be granted for both this course and MATH-221.
3
PHYS-212
University Physics II
This course is a continuation of PHYS-211, University Physics I. Topics include electrostatics, Gauss' law, electric field and potential, capacitance, resistance, DC circuits, magnetic field, Ampere's law, inductance, and geometrical and physical optics. The course is taught in a lecture/workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
SWEN-261
Introduction to Software Engineering
An introductory course in software engineering, emphasizing the organizational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. Topics include the software lifecycle, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, technical communications and system documentation, team-based development. A term-long, team-based project done in a studio format is used to reinforce concepts presented in class.
3
CMPE-260
Digital Systems Design II
This course presents modern approaches to the design, modeling and testing of digital system. Topics covered are: VHDL and Verilog HDL as hardware description languages (HDLs), simulation techniques, design synthesis, verification methods, and implementation with field programmable gate arrays (FPGAs). Combinational and both the synchronous and asynchronous sequential circuits are studied. Testing and design for testability techniques are emphasized and fault tolerant and fail safe design concepts are introduced. Laboratory projects that enable students gain hands-on experience are required. The projects include complete design flow: design of the system, modeling using HDLs, simulation, synthesis and verification.
4
EEEE-281
Circuit I
Covers basics of DC circuit analysis starting with the definition of voltage, current, resistance, power and energy. Linearity and superposition, together with Kirchhoff's laws, are applied to analysis of circuits having series, parallel and other combinations of circuit elements. Thevenin, Norton and maximum power transfer theorems are proved and applied. Circuits with ideal op-amps are introduced. Inductance and capacitance are introduced and the transient response of RL, RC and RLC circuits to step inputs is established. Practical aspects of the properties of passive devices and batteries are discussed, as are the characteristics of battery-powered circuitry. The laboratory component incorporates use of both computer and manually controlled instrumentation including power supplies, signal generators and oscilloscopes to reinforce concepts discussed in class as well as circuit design and simulation software.
3
MATH-231
Differential Equations
This course is an introduction to the study of ordinary differential equations and their applications. Topics include solutions to first order equations and linear second order equations, method of undetermined coefficients, variation of parameters, linear independence and the Wronskian, vibrating systems, and Laplace transforms.
3
MATH-241
Linear Algebra I
This course is an introduction to the basic concepts of linear algebra, and techniques of matrix manipulation. Topics include linear transformations, Gaussian elimination, matrix arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course.
3
EGEN-099
Engineering Co-op Preparation
This course will prepare students, who are entering their second year of study, for both the job search and employment in the field of engineering. Students will learn strategies for conducting a successful job search, including the preparation of resumes and cover letters; behavioral interviewing techniques and effective use of social media in the application process. Professional and ethical responsibilities during the job search and for co-op and subsequent professional experiences will be discussed.
0
 
LAS Perspective 1 (ethical)
3
Third Year
CMPE-350
Computer Organization
Provides an understanding of the information transfer and transformations that occur in a computer, with emphasis on the relations between computer architecture and organization. Topics include design levels and their respective primitives, modules and descriptive media, register transfer and micro-operations, basic computer organization and design, central processor organization, control unit and microprogramming, memory organization, input-output organization, computer architecture defining the hardware/software interface, and from architecture to organization (one to many).
3
EEEE-282
Circuit II
This course covers the fundamentals of AC circuit analysis starting with the study of sinusoidal steady-state solutions for circuits in the time domain. The complex plane is introduced along with the concepts of complex exponential functions, phasors, impedances and admittances. Nodal, loop and mesh methods of analysis as well as Thevenin and related theorems are applied to the complex plane. The concept of complex power is developed. The analysis of mutual induction as applied to coupled-coils. Linear, ideal and non-ideal transformers are introduced. Complex frequency analysis is introduced to enable discussion of transfer functions, frequency dependent behavior, Bode plots, resonance phenomenon and simple filter circuits. Two-port network theory is developed and applied to circuits and interconnections.
3
EEEE-381
Electronics I 
This is the first course in a two-course sequence in analog electronic circuit design. The course covers the following topics: (1) Basic MOSFET current-voltage characteristics; (2) DC and small-signal analysis and design of Metal-oxide-semiconductor (MOS) devices and circuits, including single-stage MOS amplifier configurations; (3) DC biasing circuits, such as basic current sources and current mirrors; (4) Two-transistor amplifier stages, such as differential amplifiers, cascode amplifiers, and output stages; (5) Analysis and design of multistage amplifiers; (6) Frequency response of single and multistage amplifiers; (7) Semiconductor diodes and diode circuits, including rectifying and clamping circuits, as well as Zener diode-based voltage regulation; (8) Ideal operational amplifier (op amp) circuits in non-inverting and inverting configurations.
3
CMPE-380
Applied Programming 
An introduction to classical algorithms used in the solution of numerical problems encountered in science and engineering. The C language will be introduced as a tool for implementing these algorithms. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation.
3
MATH-251
Probability and Statistics I
This course introduces sample spaces and events, axioms of probability, counting techniques, conditional probability and independence, distributions of discrete and continuous random variables, joint distributions (discrete and continuous), the central limit theorem, descriptive statistics, interval estimation, and applications of probability and statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications.
3
CMPE-499
Cooperative Education (fall/spring)
After completing Co-op Seminar (EGEN-099) or Co-op Workshop as well as meeting Co-op enrollment requirements, Computer Engineering students should register for CMPE-499 for each term of full-time, paid employment in the Computer Engineering field. Students who take on Spring-Summer or Summer-Fall Co-ops must register for both the semester term and the summer term. Students must obtain permission from the Computer Engineering office for any exception to the assigned Co-op blocks.
Co-op
 
LAS Perspective 3 (global)
3
Fourth Year
CMPE-460
Interface and Digital Electronics
This course covers various sensors, motors, signal conditioning circuits including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Keil ARM MDK and PSpice will be used to simulate and debug modern microcontrollers, such as NXP Kinetis, analog active filters, and operational amplifier application circuits. Each team of two students is required to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog outputs through either wired transmission or wireless transmission circuits
4
CMPE-480
Digital Signal Processing
This course introduces the basic elements of continuous and discrete time signals and systems and fundamental signal processing techniques, such as FIR and IIR Filtering, the Fourier transform, the Discrete Fourier transform and the z transform. Theory is strengthened through MATLAB-based projects and exercises.
3
CMPE-550
Computer Architecture 
The course covers various aspects of advanced uniprocessor computer architecture design. Instruction set architecture design alternatives are discussed with emphasis on the Reduced Instruction Set Computer (RISC) architecture. Techniques to enhance CPU performance such as pipelined execution optimizations, conditional branch handling techniques, exploitation of instruction-level parallelism, multiple-instruction issue and dynamic scheduling are studied. Cache, and memory hierarchy design and performance issues are also presented. The design aspects of efficient and reliable input/output systems are also covered.
3
CMPE-670
Data and Communication Networks
This course will give an overview of the technologies, architectures and protocols used to build various types of computer and communication networks - wired or wireless. The emphasis will be placed on discussions of various network design problems and solution approaches. Specific issues covered in this course include: framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling and switching.
3
CMPE-795
Computer Engineering Graduate Seminar
The graduate seminar prepares graduate students to effectively conduct their thesis research and expose them to current research in various areas of computer engineering. Current literature topics are reviewed through interactive presentations and discussions.
0
CMPE-495or497
Senior Design Projects I  or Multidisciplinary Senior Design I
3
CMPE-630
Digital IC Design
This course will cover the basic theory and techniques of Digital Integrated Circuit Design in CMOS technology. Topics include CMOS transistor theory and operation, design and implementation of CMOS circuits, fabrication process, layout and physical design, delay and power models, static and dynamic logic families, testing and verification, memory and nanoscale technologies. Laboratory assignments and project facilitate in hands-on learning of circuit-level design and simulation, layout and parasitic extractions, pre and post-layout verification and validation, full-custom flow and Synthesis based flow, using industry standard CAD tools.
3
 
Graduate Restricted Core for BS/MS
3
 
Professional Electives
6
 
LAS Immersion 1, 2
6
Fifth Year
CMPE-496or498
Senior Design Projects II or Multidisciplinary Senior Design II
3
CMPE-610
Analytical Topics in Computer Engineering
This course begins by reviewing signal and system analysis techniques for analyzing linear systems. It includes Fourier techniques and moves on to present fundamental computational techniques appropriate for a number of applications areas of computer engineering. Other topics include symbolic logic and optimization techniques.
3
 
Graduate Electives
9
 
LAS Immersion 3
3
 
Free Elective
3
Choose one of the following:
9
  CMPE-790
   Thesis
Thesis research investigates an independent problem to demonstrate professional maturity. A formal written thesis and an oral defense are required. The student must obtain the approval of an appropriate faculty adviser to guide the thesis before registering.
 
  CMPE-791
   Graduate Project, Project Focused Electives
 
Total Semester Credit Hours
150

Please see General Education Curriculum–Liberal Arts and Sciences (LAS) for more information.

* Please see Wellness Education Requirement for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.

Computer engineering, BS degree/Science, technology and public policy, MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CMPE-110
Introduction to Computer Engineering
This course overviews the field of computer engineering and provides an appreciation of the computer engineering curriculum. Fundamental concepts of computers, computing and engineering design are introduced. Topics include basic circuits, number systems, digital logic, computer organization, programming in the Matlab environment, teamwork, communication skills, ethics and professionalism, historical background and global, societal and environmental issues related to computers. Lab exercises familiarize students with lab equipment, experiments and data analysis.
1
CSCI-141
Computer Science I
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
4
CSCI-142
Computer Science II
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
4
MATH-181
Project-based Calculus I
This is the first in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers functions, limits, continuity, the derivative, rules of differentiation, applications of the derivative, Riemann sums, definite integrals, and indefinite integrals.
4
MATH-182
Project-based Calculus II
This is the second in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers techniques of integration including integration by parts, partial fractions, improper integrals, applications of integration, representing functions by infinite series, convergence and divergence of series, parametric curves, and polar coordinates.
4
CMPE-160
Digital Systems Design I
The course covers the specification, analysis, and design of basic digital systems, including the design of combinational and sequential circuits using basic logic components: AND, OR, INV, NAND, NOR, and XOR. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies using Karnaugh Maps as well as Mealy and Moore state machines. The laboratory provides hands-on experiences of the design, implementation, and testing of digital systems using SSI, MSI, and FPGA components as well as CAD tools.
3
PHYS-211
University Physics I
This is a course in calculus-based physics for science and engineering majors. Topics include kinematics, planar motion, Newton's Laws, gravitation, work and energy, momentum and impulse, conservation laws, systems of particles, rotational motion, static equilibrium, mechanical oscillations and waves, and data presentation/analysis. The course is taught in a workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
ACSC-010
Year One
The Year One class serves as an interdisciplinary catalyst for first-year students to access campus resources, services and opportunities that promote self-knowledge, personal success, leadership development, social responsibility and life academic skills awareness and application. Year One is also designed to challenge and encourage first-year students to get to know one another, build relationships and help them become an integral part of the campus community.
0
 
First Year Writing 
3
 
First Year LAS Elective
3
 
LAS Perspective 2 (artistic)
3
 
LAS Perspective 4 (social)
3
 
Wellness Education*
 
Second Year
CMPE-250
Introduction to Embedded Systems
This course introduces embedded systems, along with fundamental computer organization, assembly language programming, and mixed language programming with C and assembly. Using a modern microcontroller and embedded systems IDE, such as the ARM Cortex-M0+ and Keil Microcontroller Development Kit, the course covers embedded programming concepts and interface modules, as well as addressing methods, machine instructions, assembler directives, macro definitions, code relocatability, subroutine linkage, data structures, I/O programming, exception processing, and interrupts. Program design techniques necessary to write efficient, maintainable device drivers are considered.
3
SWEN-261
Introduction to Software Engineering
An introductory course in software engineering, emphasizing the organizational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. Topics include the software lifecycle, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, technical communications and system documentation, team-based development. A term-long, team-based project done in a studio format is used to reinforce concepts presented in class.
3
MATH-219
Multivariable Calculus
This course is principally a study of the calculus of functions of two or more variables, but also includes the study of vectors, vector-valued functions and their derivatives. The course covers limits, partial derivatives, multiple integrals, and includes applications in physics. Credit cannot be granted for both this course and MATH-221.
3
MATH-190
Discrete Math For Computing
This course introduces students to ideas and techniques from discrete mathematics that are widely used in Computer Science. Students will learn about the fundamentals of propositional and predicate calculus, set theory, relations, recursive structures and counting. This course will help increase students’ mathematical sophistication and their ability to handle abstract problems.
3
PHYS-212
University Physics II
This course is a continuation of PHYS-211, University Physics I. Topics include electrostatics, Gauss' law, electric field and potential, capacitance, resistance, DC circuits, magnetic field, Ampere's law, inductance, and geometrical and physical optics. The course is taught in a lecture/workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
CMPE-260
Digital Systems Design II
This course presents modern approaches to the design, modeling and testing of digital system. Topics covered are: VHDL and Verilog HDL as hardware description languages (HDLs), simulation techniques, design synthesis, verification methods, and implementation with field programmable gate arrays (FPGAs). Combinational and both the synchronous and asynchronous sequential circuits are studied. Testing and design for testability techniques are emphasized and fault tolerant and fail safe design concepts are introduced. Laboratory projects that enable students gain hands-on experience are required. The projects include complete design flow: design of the system, modeling using HDLs, simulation, synthesis and verification.
4
MATH-231
Differential Equations
This course is an introduction to the study of ordinary differential equations and their applications. Topics include solutions to first order equations and linear second order equations, method of undetermined coefficients, variation of parameters, linear independence and the Wronskian, vibrating systems, and Laplace transforms.
3
MATH-241
Linear Algebra I
This course is an introduction to the basic concepts of linear algebra, and techniques of matrix manipulation. Topics include linear transformations, Gaussian elimination, matrix arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course.
3
EEEE-281
Circuits I
Covers basics of DC circuit analysis starting with the definition of voltage, current, resistance, power and energy. Linearity and superposition, together with Kirchhoff's laws, are applied to analysis of circuits having series, parallel and other combinations of circuit elements. Thevenin, Norton and maximum power transfer theorems are proved and applied. Circuits with ideal op-amps are introduced. Inductance and capacitance are introduced and the transient response of RL, RC and RLC circuits to step inputs is established. Practical aspects of the properties of passive devices and batteries are discussed, as are the characteristics of battery-powered circuitry. The laboratory component incorporates use of both computer and manually controlled instrumentation including power supplies, signal generators and oscilloscopes to reinforce concepts discussed in class as well as circuit design and simulation software.
3
EGEN-99
Engineering Co-op Preparation Seminar
0
 
LAS Perspective 1 (ethical)
3
 
Wellness Education*
0
Third Year
CMPE-350
Computer Organization
Provides an understanding of the information transfer and transformations that occur in a computer, with emphasis on the relations between computer architecture and organization. Topics include design levels and their respective primitives, modules and descriptive media, register transfer and micro-operations, basic computer organization and design, central processor organization, control unit and microprogramming, memory organization, input-output organization, computer architecture defining the hardware/software interface, and from architecture to organization (one to many).
3
CMPE-380
Applied Programming
An introduction to classical algorithms used in the solution of numerical problems encountered in science and engineering. The C language will be introduced as a tool for implementing these algorithms. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation.
3
EEEE-381
Electronics I
This is the first course in a two-course sequence in analog electronic circuit design. The course covers the following topics: (1) Basic MOSFET current-voltage characteristics; (2) DC and small-signal analysis and design of Metal-oxide-semiconductor (MOS) devices and circuits, including single-stage MOS amplifier configurations; (3) DC biasing circuits, such as basic current sources and current mirrors; (4) Two-transistor amplifier stages, such as differential amplifiers, cascode amplifiers, and output stages; (5) Analysis and design of multistage amplifiers; (6) Frequency response of single and multistage amplifiers; (7) Semiconductor diodes and diode circuits, including rectifying and clamping circuits, as well as Zener diode-based voltage regulation; (8) Ideal operational amplifier (op amp) circuits in non-inverting and inverting configurations.
3
EEEE-282
Circuits II
This course covers the fundamentals of AC circuit analysis starting with the study of sinusoidal steady-state solutions for circuits in the time domain. The complex plane is introduced along with the concepts of complex exponential functions, phasors, impedances and admittances. Nodal, loop and mesh methods of analysis as well as Thevenin and related theorems are applied to the complex plane. The concept of complex power is developed. The analysis of mutual induction as applied to coupled-coils. Linear, ideal and non-ideal transformers are introduced. Complex frequency analysis is introduced to enable discussion of transfer functions, frequency dependent behavior, Bode plots, resonance phenomenon and simple filter circuits. Two-port network theory is developed and applied to circuits and interconnections.
3
CMPE-499
Cooperative Education (spring, summer)
After completing Co-op Seminar (EGEN-099) or Co-op Workshop as well as meeting Co-op enrollment requirements, Computer Engineering students should register for CMPE-499 for each term of full-time, paid employment in the Computer Engineering field. Students who take on Spring-Summer or Summer-Fall Co-ops must register for both the semester term and the summer term. Students must obtain permission from the Computer Engineering office for any exception to the assigned Co-op blocks.
Co-op
 
LAS Perspective 3 (global)
3
Fourth Year
MATH-251
Probability and Statistics I
This course introduces sample spaces and events, axioms of probability, counting techniques, conditional probability and independence, distributions of discrete and continuous random variables, joint distributions (discrete and continuous), the central limit theorem, descriptive statistics, interval estimation, and applications of probability and statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications.
3
CMPE-480
Digital Signal Processing
This course introduces the basic elements of continuous and discrete time signals and systems and fundamental signal processing techniques, such as FIR and IIR Filtering, the Fourier transform, the Discrete Fourier transform and the z transform. Theory is strengthened through MATLAB-based projects and exercises.
3
CMPE-550
Computer Architecture
The course covers various aspects of advanced uniprocessor computer architecture design. Instruction set architecture design alternatives are discussed with emphasis on the Reduced Instruction Set Computer (RISC) architecture. Techniques to enhance CPU performance such as pipelined execution optimizations, conditional branch handling techniques, exploitation of instruction-level parallelism, multiple-instruction issue and dynamic scheduling are studied. Cache, and memory hierarchy design and performance issues are also presented. The design aspects of efficient and reliable input/output systems are also covered.
3
CMPE-570
Data and Communication Networks
This course will give an overview of the technologies, architectures and protocols used to build various types of computer and communication networks - wired or wireless. The emphasis will be placed on discussions of various network design problems and solution approaches. Specific issues covered in this course include: framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling and switching.
3
CMPE-460
Interface and Digital Electronics
This course covers various sensors, motors, signal conditioning circuits including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Keil ARM MDK and PSpice will be used to simulate and debug modern microcontrollers, such as NXP Kinetis, analog active filters, and operational amplifier application circuits. Each team of two students is required to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog outputs through either wired transmission or wireless transmission circuits
4
CMPE-499
Cooperative Education (summer) Co-op
After completing Co-op Seminar (EGEN-099) or Co-op Workshop as well as meeting Co-op enrollment requirements, Computer Engineering students should register for CMPE-499 for each term of full-time, paid employment in the Computer Engineering field. Students who take on Spring-Summer or Summer-Fall Co-ops must register for both the semester term and the summer term. Students must obtain permission from the Computer Engineering office for any exception to the assigned Co-op blocks.
 
PUBL-701
Graduate Policy Analysis
This course provides graduate students with necessary tools to help them become effective policy analysts. The course places particular emphasis on understanding the policy process, the different approaches to policy analysis, and the application of quantitative and qualitative methods for evaluating public policies. Students will apply these tools to contemporary public policy decision making at the local, state, federal, and international levels.
3
PUBL-702
Graduate Decision Analysis
This course provides students with an introduction to decision science and analysis. The course focuses on several important tools for making good decisions, including decision trees, including forecasting, risk analysis, and multi-attribute decision making. Students will apply these tools to contemporary public policy decision making at the local, state, federal, and international levels.
3
 
Graduate Professional Elective: Policy Elective
3
 
Free Elective
3
 
LAS Immersion 1
3
Fifth Year
CMPE-530
Digital IC Design
This course will cover the basic theory and techniques of Digital Integrated Circuit Design in CMOS technology. Topics include CMOS transistor theory and operation, design and implementation of CMOS circuits, fabrication process, layout and physical design, delay and power models, static and dynamic logic families, testing and verification, memory and nanoscale technologies. Laboratory assignments and project facilitate in hands-on learning of circuit-level design and simulation, layout and parasitic extractions, pre and post-layout verification and validation, full-custom flow and Synthesis based flow, using industry standard CAD tools.
3
CMPE-495
Senior Design Projects I
The first course of a two-semester capstone undergraduate design projects course in computer engineering. Covers engineering design process and formulating project proposals. Students propose a team multidisciplinary design project, individually undertake an independent analysis of one of its subsystems, and formulate a formal team proposal for the project to be completed in the following course.
3
CMPE-497
Senior Design Projects II
This is the first half of a two-semester design course oriented to the solution of engineering problems. The mission is to enhance engineering education through a capstone design experience that integrates engineering theory, principles and processes within a collaborative environment. Working in multidisciplinary teams and following an engineering design process, students will assess customer needs and engineering specifications, evaluate concepts, resolve major technical hurdles, and employ rigorous engineering principles to design a prototype which is fully tested and documented. Students may propose their own projects, which may have a primarily computer engineering focus and team, and which may begin with an entrepreneurial experience to establish the scope of the project for potential market and realistic prototype.
3
PUBL-700
Graduate Readings in Public Policy
An in-depth inquiry into key contemporary public policy issues. Students will be exposed to a wide range of important public policy texts, and will learn how to write a literature review in a policy area of their choosing.
3
PUBL-710
Graduate Seminar in Science Technology Policy
3
PUBL-703
Evaluation and Research Design
The focus of this course is on evaluation of program outcomes and research design. Students will explore the questions and methodologies associated with meeting programmatic outcomes, secondary or unanticipated effects, and an analysis of alternative means for achieving program outcomes. Critique of evaluation research methodologies will also be considered.
3
 
Professional Elective/Graduate Policy Elective
3
 
Graduate Elective
3
 
LAS Immersion 2, 3
6
Choose one of the following:
6
 
   Thesis
 
 
   Graduate Electives, Comprehensive Exam
 
Total Semester Credit Hours
150

Please see General Education Curriculum–Liberal Arts and Sciences (LAS) for more information.

* Please see Wellness Education Requirement for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.

Accreditation

The BS program in computer engineering is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org. Visit the college's accreditation page for information on enrollment and graduation data, program educational objectives, and student outcomes.

Admission Requirements

Freshman Admission

For all bachelor’s degree programs, a strong performance in a college preparatory program is expected. Generally, this includes 4 years of English, 3-4 years of mathematics, 2-3 years of science, and 3 years of social studies and/or history.

Specific math and science requirements and other recommendations

  • 4 years of math required; including pre-calculus or above  
  • Chemistry and physics required

Transfer Admission

Transfer course recommendations without associate degree

Pre-engineering courses such as calculus, calculus-based physics, chemistry, and liberal arts.

Appropriate associate degree programs for transfer

AS degree in engineering science

Learn about admissions and financial aid