Computer Engineering BS - Curriculum

Computer Engineering BS

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, the computer engineering curriculum at RIT, and research and career opportunities. The topics covered include basic circuit analysis, number systems, digital logic, programming, robotics, laboratory equipment, teamwork, critical thinking, technical writing, modern and contemporary issues, ethics, diversity, and communication skills. Lab 2, Lecture 1 (Fall).
1
CMPE-160
Digital System Design I
This course covers the specification, analysis, modeling and design of digital systems. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies, state machines, and digital system modeling with the use of VHDL as a hardware description language. The laboratory provides hands-on experiences of the design, modeling, implementation, and testing of digital systems using commercial IC components as well as CAD tools. (Co-requisite: CSCI-105 or CSCI-140 or CSCI-141 or equivalent course.) Lab 2, Lecture 3 (Fall, Spring).
3
CSCI-141
Computer Science I (General Education)
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. Lec/Lab 6 (Fall, Spring).
4
CSCI-142
Computer Science II (General Education)
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. (Prerequisites: CSCI-141 with a grade of C- or better or equivalent course.) Lec/Lab 6 (Fall, Spring, Summer).
4
MATH-181
Calculus I (General Education – Mathematical Perspective A)
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. (Prerequisites: MATH-111 or (NMTH-220 and NMTH-260 or NMTH-272 or NMTH-275) or equivalent courses with a minimum grade of B-, or a score of at least 60% on the RIT Mathematics Placement Exam. Co-requisites: MATH-181R or equivalent course.) Lecture 6 (Fall, Spring).
4
MATH-182
Calculus II (General Education – Mathematical Perspective B)
This is the second in a two-course sequence. 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. (Prerequisites: C- or better in MATH-181 or MATH-181A or equivalent course. Co-requisites: MATH-182R or equivalent course.) Lecture 6 (Fall, Spring).
4
PHYS-211
University Physics I (General Education – Scientific Principles Perspective)
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. (Prerequisites: C- or better in MATH-181 or equivalent course. Co-requisites: MATH-182 or equivalent course.) Lec/Lab 6 (Fall, Spring).
4
YOPS-10
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies. (This class is restricted to incoming 1st year or global campus students.) Lecture 1 (Fall, Spring).
0
 
General Education – First-Year Writing (WI)
3
 
General Education – Artistic Perspective
3
 
General Education – Social Perspective
3
 
General Education – Elective
3
Second Year
CMPE-250
Assembly and Embedded Programming
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. (Prerequisites: CMPE-160 or EEEE-120 or equivalent courses. Co-requisites: CSCI-140 or CSCI-142 or CSCI-242 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
3
CMPE-260
Digital System 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. (Prerequisites: CMPE-160 or CMPE-161 or equivalent courses. Co-requisites: PHYS-212 or PHYS-208 or EEEE-281 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
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. (Prerequisite: MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lab 3, Lecture 3 (Fall, Spring, Summer).
3
EGEN-99
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. (This course is restricted to students in Kate Gleason College of Engineering with at least 2nd year standing.) Lecture 1 (Fall, Spring).
0
MATH-190
Discrete Mathematics for Computing (General Education)
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. (Co-requisites: MATH-182 or MATH-182A or MATH-172 or equivalent courses.) Lecture 3, Recitation 1 (Fall, Spring).
3
MATH-219
Multivariable Calculus (General Education)
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. (Prerequisite: C- or better MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lecture 3 (Fall, Spring, Summer).
3
MATH-231
Differential Equations (General Education)
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. (Prerequisite: MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lecture 3, Recitation 1 (Fall, Spring, Summer).
3
MATH-241
Linear Algebra (General Education)
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. (Prerequisites: MATH-190 or MATH-200 or MATH-219 or MATH-220 or MATH-221 or MATH-221H or equivalent course.) Lecture 3 (Fall, Spring).
3
PHYS-212
University Physics II (General Education – Natural Science Inquiry Perspective)
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. (Prerequisites: (PHYS-211 or PHYS-211A or PHYS-206 or PHYS-216) or (MECE-102, MECE-103 and MECE-205) and (MATH-182 or MATH-172 or MATH-182A) or equivalent courses. Grades of C- or better are required in all prerequisite courses.) Lec/Lab 6 (Fall, Spring).
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. (Prerequisite: CSCI-140 or CSCI-142 or CSCI-242 or SWEN-124 or CSEC-124 or GCIS-124 or GCIS-127 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
 
General Education – Ethical Perspective
3
Third Year
CMPE-350
Computer Organization
The course covers the important aspects of the design, organization, and performance evaluation of modern computer systems. Topics include computer performance measures, instruction set architecture classification, input/output organization, CPU datapath and control unit design, microprogramming, arithmetic and logic unit design, and the memory hierarchy, including cache levels and virtual memory. (Prerequisites: CMPE-250 or equivalent course.) Lecture 3 (Fall, Spring).
3
CMPE-380
Applied Programming in C
This course uses the C language to implement algorithms used in the numerical solution of common problems encountered in science and engineering. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, threading, software security, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation. (Prerequisites: MATH-241 and CMPE-250 or equivalent courses.) Lab 2, Lecture 2 (Fall, Spring).
3
CMPE-499
Co-op (spring and 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. (This class is restricted to CMPE-BS students with at least 3rd year standing who have completed EGEN-99, EEEE-281, SWEN-261 and CMPE-260 or CMPE-499.) CO OP (Fall, Spring, Summer).
0
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. (Prerequisites: C or better in EEEE-281 or equivalent course.) Lecture 3, Recitation 2 (Fall, Spring, Summer).
3
EEEE-380
Digital Electronics
This is an introductory course in digital MOS circuit analysis and design. The course covers the following topics: (1) MOSFET I-V behavior in aggressively scaled devices; (2) Static and dynamic characteristics of NMOS and CMOS inverters; (3) Combinational and sequential logic networks using CMOS technology; (4) Dynamic CMOS logic networks, including precharge-evaluate, domino and transmission gate circuits; (5) Special topics, including static and dynamic MOS memory, and interconnect RLC behavior. (Prerequisites: EEEE-281 or equivalent course.) Lab 3, Lecture 3 (Fall, Spring, Summer).
3
 
General Education – Global Perspective
3
Fourth Year
CMPE-460
Interface and Digital Electronics (WI-PR)
This course covers various sensors, motors, and signal conditioning circuits, including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Arm Keil MDK and PSpice, are used to simulate and debug modern microcontrollers, such as TI Arm-based MSP, analog active filters, and operational amplifier application circuits. Students typically work in teams of two to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog signals through either wired or wireless transmission circuits. (Prerequisites: EEEE-282 and (EEEE-380 or EEEE-381) and CMPE-250 or equivalent courses. Corequisites: CMPE-380 or equivalent course.) Lab 2, Lecture 3 (Fall, Spring).
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. (Prerequisites: MATH-231 and MATH-241 and EEEE-282 or equivalent courses.) Lecture 3 (Fall, Spring).
3
CMPE-499
Co-op (fall and 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. (This class is restricted to CMPE-BS students with at least 3rd year standing who have completed EGEN-99, EEEE-281, SWEN-261 and CMPE-260 or CMPE-499.) CO OP (Fall, Spring, Summer).
0
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. The course concludes with an introduction to concepts of multiprocessor systems design. (Prerequisite: CMPE-350 or equivalent course.) Lecture 3 (Fall, Spring).
3
MATH-251
Probability and Statistics  (General Education)
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. (Prerequisites: MATH-173 or MATH-182 or MATH 182A or equivalent course.) Lecture 3, Recitation 1 (Fall, Spring, Summer).
3
 
General Education – Immersion
3
Fifth Year
CMPE-497
Multidisciplinary Senior Design I
This is the first in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design. (Prerequisites: CMPE-460 and at least 4th year standing in CMPE-BS with a minimum of 2 terms of co-op completed.) Studio 6 (Fall, Spring).
3
CMPE-498
Multidisciplinary Senior Design II (WI-PR)
This is the second in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. The first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. This second course may include elements of design, but focuses on build/implementation and communicating information about the final design. (Prerequisite: CMPE-497 or equivalent course.) Studio 6 (Fall, Spring).
3
CMPE-570
Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching. (Prerequisites: CMPE-380 and MATH-251 or equivalent courses.) Lecture 3 (Fall, Spring).
3
 
General Education – Immersion 2, 3
6
 
Professional Electives
6
 
Open Electives
9
Total Semester Credit Hours
129

Please see General Education Curriculum (GE) for more information.

(WI-PR) Refers to a writing intensive course within the major.

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

Combined Accelerated Bachelor’s/Master’s Degrees

The curriculum below outlines the typical course sequence(s) for combined accelerated degrees available with this bachelor's degree.

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, the computer engineering curriculum at RIT, and research and career opportunities. The topics covered include basic circuit analysis, number systems, digital logic, programming, robotics, laboratory equipment, teamwork, critical thinking, technical writing, modern and contemporary issues, ethics, diversity, and communication skills. Lab 2, Lecture 1 (Fall).
1
CMPE-160
Digital System Design I
This course covers the specification, analysis, modeling and design of digital systems. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies, state machines, and digital system modeling with the use of VHDL as a hardware description language. The laboratory provides hands-on experiences of the design, modeling, implementation, and testing of digital systems using commercial IC components as well as CAD tools. (Co-requisite: CSCI-105 or CSCI-140 or CSCI-141 or equivalent course.) Lab 2, Lecture 3 (Fall, Spring).
3
CSCI-141
Computer Science I (General Education – Elective)
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. Lec/Lab 6 (Fall, Spring).
4
CSCI-142
Computer Science II (General Education – Elective)
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. (Prerequisites: CSCI-141 with a grade of C- or better or equivalent course.) Lec/Lab 6 (Fall, Spring, Summer).
4
MATH-181
Project-Based Calculus I (General Education – Mathematical Perspective A)
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. (Prerequisites: MATH-111 or (NMTH-220 and NMTH-260 or NMTH-272 or NMTH-275) or equivalent courses with a minimum grade of B-, or a score of at least 60% on the RIT Mathematics Placement Exam. Co-requisites: MATH-181R or equivalent course.) Lecture 6 (Fall, Spring).
4
MATH-182
Project-Based Calculus II (General Education – Mathematical Perspective B)
This is the second in a two-course sequence. 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. (Prerequisites: C- or better in MATH-181 or MATH-181A or equivalent course. Co-requisites: MATH-182R or equivalent course.) Lecture 6 (Fall, Spring).
4
PHYS-211
University Physics I (General Education – Scientific Principles Perspective)
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. (Prerequisites: C- or better in MATH-181 or equivalent course. Co-requisites: MATH-182 or equivalent course.) Lec/Lab 6 (Fall, Spring).
4
YOPS-10
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies. (This class is restricted to incoming 1st year or global campus students.) Lecture 1 (Fall, Spring).
0
 
General Education – Elective
3
 
First-Year Writing (WI) (General Education)
3
 
General Education – Artistic Perspective
3
 
General Education – Social Perspective
3
Second Year
CMPE-250
Assembly and Embedded Programming
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. (Prerequisites: CMPE-160 or EEEE-120 or equivalent courses. Co-requisites: CSCI-140 or CSCI-142 or CSCI-242 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
3
CMPE-260
Digital System 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. (Prerequisites: CMPE-160 or CMPE-161 or equivalent courses. Co-requisites: PHYS-212 or PHYS-208 or EEEE-281 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
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. (Prerequisite: MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lab 3, Lecture 3 (Fall, Spring, Summer).
3
EGEN-99
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. (This course is restricted to students in Kate Gleason College of Engineering with at least 2nd year standing.) Lecture 1 (Fall, Spring).
0
MATH-190
Discrete Mathematics for Computing (General Education – Elective)
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. (Co-requisites: MATH-182 or MATH-182A or MATH-172 or equivalent courses.) Lecture 3, Recitation 1 (Fall, Spring).
3
MATH-219
Multivariable Calculus (General Education – Elective)
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. (Prerequisite: C- or better MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lecture 3 (Fall, Spring, Summer).
3
MATH-231
Differential Equations (General Education – Elective)
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. (Prerequisite: MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lecture 3, Recitation 1 (Fall, Spring, Summer).
3
MATH-241
Linear Algebra I (General Education – Elective)
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. (Prerequisites: MATH-190 or MATH-200 or MATH-219 or MATH-220 or MATH-221 or MATH-221H or equivalent course.) Lecture 3 (Fall, Spring).
3
PHYS-212
University Physics II (General Education – Natural Science Inquiry Perspective)
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. (Prerequisites: (PHYS-211 or PHYS-211A or PHYS-206 or PHYS-216) or (MECE-102, MECE-103 and MECE-205) and (MATH-182 or MATH-172 or MATH-182A) or equivalent courses. Grades of C- or better are required in all prerequisite courses.) Lec/Lab 6 (Fall, Spring).
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. (Prerequisite: CSCI-140 or CSCI-142 or CSCI-242 or SWEN-124 or CSEC-124 or GCIS-124 or GCIS-127 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
 
General Education – Ethical Perspective
3
Third Year
CMPE-350
Computer Organization
The course covers the important aspects of the design, organization, and performance evaluation of modern computer systems. Topics include computer performance measures, instruction set architecture classification, input/output organization, CPU datapath and control unit design, microprogramming, arithmetic and logic unit design, and the memory hierarchy, including cache levels and virtual memory. (Prerequisites: CMPE-250 or equivalent course.) Lecture 3 (Fall, Spring).
3
CMPE-380
Applied Programming in C
This course uses the C language to implement algorithms used in the numerical solution of common problems encountered in science and engineering. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, threading, software security, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation. (Prerequisites: MATH-241 and CMPE-250 or equivalent courses.) Lab 2, Lecture 2 (Fall, Spring).
3
CMPE-499
Co-op (spring and 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. (This class is restricted to CMPE-BS students with at least 3rd year standing who have completed EGEN-99, EEEE-281, SWEN-261 and CMPE-260 or CMPE-499.) CO OP (Fall, Spring, Summer).
0
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. (Prerequisites: C or better in EEEE-281 or equivalent course.) Lecture 3, Recitation 2 (Fall, Spring, Summer).
3
EEEE-380
Digital Electronics
This is an introductory course in digital MOS circuit analysis and design. The course covers the following topics: (1) MOSFET I-V behavior in aggressively scaled devices; (2) Static and dynamic characteristics of NMOS and CMOS inverters; (3) Combinational and sequential logic networks using CMOS technology; (4) Dynamic CMOS logic networks, including precharge-evaluate, domino and transmission gate circuits; (5) Special topics, including static and dynamic MOS memory, and interconnect RLC behavior. (Prerequisites: EEEE-281 or equivalent course.) Lab 3, Lecture 3 (Fall, Spring, Summer).
3
MATH-251
Probability and Statistics (General Education – Elective)
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. (Prerequisites: MATH-173 or MATH-182 or MATH 182A or equivalent course.) Lecture 3, Recitation 1 (Fall, Spring, Summer).
3
 
General Education – Global Perspective
3
Fourth Year
CMPE-460
Interface and Digital Electronics (WI-PR)
This course covers various sensors, motors, and signal conditioning circuits, including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Arm Keil MDK and PSpice, are used to simulate and debug modern microcontrollers, such as TI Arm-based MSP, analog active filters, and operational amplifier application circuits. Students typically work in teams of two to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog signals through either wired or wireless transmission circuits. (Prerequisites: EEEE-282 and (EEEE-380 or EEEE-381) and CMPE-250 or equivalent courses. Corequisites: CMPE-380 or equivalent course.) Lab 2, Lecture 3 (Fall, Spring).
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. (Prerequisites: MATH-231 and MATH-241 and EEEE-282 or equivalent courses.) Lecture 3 (Fall, Spring).
3
CMPE-497
Multidisciplinary Senior Design I
This is the first in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design. (Prerequisites: CMPE-460 and at least 4th year standing in CMPE-BS with a minimum of 2 terms of co-op completed.) Studio 6 (Fall, Spring).
3
CMPE-499
Co-op (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. (This class is restricted to CMPE-BS students with at least 3rd year standing who have completed EGEN-99, EEEE-281, SWEN-261 and CMPE-260 or CMPE-499.) CO OP (Fall, Spring, Summer).
0
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. The course concludes with an introduction to concepts of multiprocessor systems design. (Prerequisite: CMPE-350 or equivalent course.) Lecture 3 (Fall, Spring).
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. (Prerequisites: CMPE-480 and (MATH-251 or 1016-345) or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
3
CMPE-670
Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching. (Prerequisites: CMPE-380 and MATH-251 or equivalent courses or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
3
CMPE-795
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. (This class is restricted to students in the CMPE-MS, CMPE-BS/MS program.) Seminar (Fall, Spring).
0
Choose one of the following:
3
   CMPE-630
 Digital Integrated Circuit 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. (Prerequisites: CMPE-260 and EEEE-282 and (EEEE-380 or EEEE-381) or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
 
   CMPE-660
 Reconfigurable Computing
The objective of this course is to present the foundations of reconfigurable computing methodologies from both hardware and software perspectives. Topics covered are: architectures of modern field programmable gate arrays (FPGAs), digital system design methodologies using FPGAs, hardware-software co-design with embedded processors, hardware optimization techniques, system level integration under operating system, dynamic reconfiguration. Laboratory projects in which students will acquire a solid capability of Xilinx CAD tools and FPGA devices are required. The projects include the whole design flow: design of the system, VHDL modeling, software and hardware development, FPGA verification. (Prerequisites: CMPE-260 or equivalent course or graduate standing in the CMPE-MS program.) Studio 3 (Fall).
 
   CMPE-755
 High Performance Architectures
This course will focus on learning and understanding the available hardware options to satisfy the needs of high performance and computational intensive applications. Special attention will be paid to single platform massively parallel devices, their programming and efficient use of the hardware resources. The course will include hands on work with the actual device, lab work, and technical reports and conference paper reading as a relevant source information. (Prerequisite: CMPE-350 or equivalent course or graduate standing in the CMPE-MS program.) Lecture 3 (Fall).
 
 
Professional Elective
3
 
General Education – Immersion 1, 2
6
 
Open Elective
3
Fifth Year
CMPE-498
Multidisciplinary Senior Design II
This is the second in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. The first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. This second course may include elements of design, but focuses on build/implementation and communicating information about the final design. (Prerequisite: CMPE-497 or equivalent course.) Studio 6 (Fall, Spring).
3
 
Graduate Electives
12
 
General Education – Immersion 3
3
 
Open 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. (Enrollment in this course requires permission from the department offering the course.) Thesis (Fall, Spring, Summer).
 
   CMPE-792
 Graduate Project plus two additional Project Focus Electives
Graduate Project is a scholarly undertaking that addresses an immediate and practical problem with tangible outcomes. A formal report, presentation, or demonstration is required. The student must obtain the approval of an appropriate faculty adviser to guide the project before registering. (This class is restricted to students in the CMPE-MS, CMPE-BS/MS program.) Project (Fall, Spring, Summer).
 
   
 Graduate Elective plus two additional Flexible Core Courses�
 
Total Semester Credit Hours
150

Please see General Education Curriculum (GE) for more information.

(WI-PR) Refers to a writing intensive course within the major.

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

† Completing this option requires passing a comprehensive examination.

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, the computer engineering curriculum at RIT, and research and career opportunities. The topics covered include basic circuit analysis, number systems, digital logic, programming, robotics, laboratory equipment, teamwork, critical thinking, technical writing, modern and contemporary issues, ethics, diversity, and communication skills. Lab 2, Lecture 1 (Fall).
1
CMPE-160
Digital System Design I
This course covers the specification, analysis, modeling and design of digital systems. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies, state machines, and digital system modeling with the use of VHDL as a hardware description language. The laboratory provides hands-on experiences of the design, modeling, implementation, and testing of digital systems using commercial IC components as well as CAD tools. (Co-requisite: CSCI-105 or CSCI-140 or CSCI-141 or equivalent course.) Lab 2, Lecture 3 (Fall, Spring).
3
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. Lec/Lab 6 (Fall, Spring).
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. (Prerequisites: CSCI-141 with a grade of C- or better or equivalent course.) Lec/Lab 6 (Fall, Spring, Summer).
4
MATH-181
Project-Based Calculus I (General Education – Mathematical Perspective A)
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. (Prerequisites: MATH-111 or (NMTH-220 and NMTH-260 or NMTH-272 or NMTH-275) or equivalent courses with a minimum grade of B-, or a score of at least 60% on the RIT Mathematics Placement Exam. Co-requisites: MATH-181R or equivalent course.) Lecture 6 (Fall, Spring).
4
MATH-182
Project-Based Calculus II (General Education – Mathematical Perspective B)
This is the second in a two-course sequence. 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. (Prerequisites: C- or better in MATH-181 or MATH-181A or equivalent course. Co-requisites: MATH-182R or equivalent course.) Lecture 6 (Fall, Spring).
4
PHYS-211
University Physics I (General Education – Scientific Principles Perspective)
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. (Prerequisites: C- or better in MATH-181 or equivalent course. Co-requisites: MATH-182 or equivalent course.) Lec/Lab 6 (Fall, Spring).
4
YOPS-010
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies. (This class is restricted to incoming 1st year or global campus students.) Lecture 1 (Fall, Spring).
0
 
General Education – First Year Writing (WI)
3
 
General Education – Elective
3
 
General Education – Artistic Perspective
3
 
General Education – Social Perspective
3
Second Year
CMPE-250
Assembly and Embedded Programming
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. (Prerequisites: CMPE-160 or EEEE-120 or equivalent courses. Co-requisites: CSCI-140 or CSCI-142 or CSCI-242 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
3
CMPE-260
Digital System 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. (Prerequisites: CMPE-160 or CMPE-161 or equivalent courses. Co-requisites: PHYS-212 or PHYS-208 or EEEE-281 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
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. (Prerequisite: MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lab 3, Lecture 3 (Fall, Spring, Summer).
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. (This course is restricted to students in Kate Gleason College of Engineering with at least 2nd year standing.) Lecture 1 (Fall, Spring).
0
MATH-190
Discrete Mathematics 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. (Co-requisites: MATH-182 or MATH-182A or MATH-172 or equivalent courses.) Lecture 3, Recitation 1 (Fall, Spring).
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. (Prerequisite: C- or better MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lecture 3 (Fall, Spring, Summer).
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. (Prerequisite: MATH-173 or MATH-182 or MATH-182A or equivalent course.) Lecture 3, Recitation 1 (Fall, Spring, Summer).
3
MATH-241
Linear Algebra
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. (Prerequisites: MATH-190 or MATH-200 or MATH-219 or MATH-220 or MATH-221 or MATH-221H or equivalent course.) Lecture 3 (Fall, Spring).
3
PHYS-212
University Physics II (General Education – Natural Science Inquiry Perspective)
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. (Prerequisites: (PHYS-211 or PHYS-211A or PHYS-206 or PHYS-216) or (MECE-102, MECE-103 and MECE-205) and (MATH-182 or MATH-172 or MATH-182A) or equivalent courses. Grades of C- or better are required in all prerequisite courses.) Lec/Lab 6 (Fall, Spring).
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. (Prerequisite: CSCI-140 or CSCI-142 or CSCI-242 or SWEN-124 or CSEC-124 or GCIS-124 or GCIS-127 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
 
General Education – Ethical Perspective
3
Third Year
CMPE-350
Computer Organization
The course covers the important aspects of the design, organization, and performance evaluation of modern computer systems. Topics include computer performance measures, instruction set architecture classification, input/output organization, CPU datapath and control unit design, microprogramming, arithmetic and logic unit design, and the memory hierarchy, including cache levels and virtual memory. (Prerequisites: CMPE-250 or equivalent course.) Lecture 3 (Fall, Spring).
3
CMPE-380
Applied Programming in C
This course uses the C language to implement algorithms used in the numerical solution of common problems encountered in science and engineering. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, threading, software security, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation. (Prerequisites: MATH-241 and CMPE-250 or equivalent courses.) Lab 2, Lecture 2 (Fall, Spring).
3
CMPE-499
Co-op (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. (This class is restricted to CMPE-BS students with at least 3rd year standing who have completed EGEN-99, EEEE-281, SWEN-261 and CMPE-260 or CMPE-499.) CO OP (Fall, Spring, Summer).
0
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. (Prerequisites: C or better in EEEE-281 or equivalent course.) Lecture 3, Recitation 2 (Fall, Spring, Summer).
3
EEEE-380
Digital Electronics
This is an introductory course in digital MOS circuit analysis and design. The course covers the following topics: (1) MOSFET I-V behavior in aggressively scaled devices; (2) Static and dynamic characteristics of NMOS and CMOS inverters; (3) Combinational and sequential logic networks using CMOS technology; (4) Dynamic CMOS logic networks, including precharge-evaluate, domino and transmission gate circuits; (5) Special topics, including static and dynamic MOS memory, and interconnect RLC behavior. (Prerequisites: EEEE-281 or equivalent course.) Lab 3, Lecture 3 (Fall, Spring, Summer).
3
 
General Education – Global Perspective
3
Fourth Year
CMPE-460
Interface and Digital Electronics (WI-PR)
This course covers various sensors, motors, and signal conditioning circuits, including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Arm Keil MDK and PSpice, are used to simulate and debug modern microcontrollers, such as TI Arm-based MSP, analog active filters, and operational amplifier application circuits. Students typically work in teams of two to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog signals through either wired or wireless transmission circuits. (Prerequisites: EEEE-282 and (EEEE-380 or EEEE-381) and CMPE-250 or equivalent courses. Corequisites: CMPE-380 or equivalent course.) Lab 2, Lecture 3 (Fall, Spring).
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. (Prerequisites: MATH-231 and MATH-241 and EEEE-282 or equivalent courses.) Lecture 3 (Fall, Spring).
3
CMPE-499
Co-op (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. (This class is restricted to CMPE-BS students with at least 3rd year standing who have completed EGEN-99, EEEE-281, SWEN-261 and CMPE-260 or CMPE-499.) CO OP (Fall, Spring, Summer).
0
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. The course concludes with an introduction to concepts of multiprocessor systems design. (Prerequisite: CMPE-350 or equivalent course.) Lecture 3 (Fall, Spring).
3
CMPE-570
Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching. (Prerequisites: CMPE-380 and MATH-251 or equivalent courses.) Lecture 3 (Fall, Spring).
3
MATH-251
Probability and Statistics
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. (Prerequisites: MATH-173 or MATH-182 or MATH 182A or equivalent course.) Lecture 3, Recitation 1 (Fall, Spring, Summer).
3
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. Lecture 3 (Fall).
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. Lecture 3 (Spring).
3
 
Graduate Professional Elective: Policy Elective
3
 
Open Elective
3
 
General Education – Immersion 1
3
Fifth Year
CMPE-497
Multidisciplinary Senior Design I
This is the first in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design. (Prerequisites: CMPE-460 and at least 4th year standing in CMPE-BS with a minimum of 2 terms of co-op completed.) Studio 6 (Fall, Spring).
3
CMPE-498
Multidisciplinary Senior Design II
This is the second in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. The first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. This second course may include elements of design, but focuses on build/implementation and communicating information about the final design. (Prerequisite: CMPE-497 or equivalent course.) Studio 6 (Fall, Spring).
3
PUBL-700
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. (This class is restricted to degree-seeking graduate students or those with permission from instructor.) Seminar (Fall).
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. Seminar (Spring).
3
STSO-710
Graduate Science and Technology Policy Seminar
Examines how federal and international policies are developed to influence research and development, innovation, and the transfer of technology in the United States and other selected nations. Students in the course will apply basic policy skills, concepts, and methods to contemporary science and technology policy topics. (This class is restricted to degree-seeking graduate students or those with permission from instructor.) Seminar (Fall).
3
 
Professional Elective/Graduate Policy Elective
3
 
Policy Graduate Elective
3
 
General Education – Immersion 2, 3
6
 
Open Elective
3
Choose one of the following:
6
   PUBL-785
 Capstone Experience
The Public Policy Capstone Experience serves as a culminating experience for those MS in Science, Technology and Public Policy students who chose this option in the Public Policy Department. Over the course of the semester, students will have the opportunity to investigate and address contemporary topics in science and technology policy using analytic skills and theoretical knowledge learned over the course of their MS degree. Project 1 (Fall, Spring, Summer).
 
   PUBL-790
 Public Policy Thesis
The master's thesis in science, technology, and public policy requires the student to select a thesis topic, advisor and committee; prepare a written thesis proposal for approval by the faculty; present and defend the thesis before a thesis committee; and submit a bound copy of the thesis to the library and to the program chair. (Enrollment in this course requires permission from the department offering the course.) Thesis 3 (Fall, Spring, Summer).
 
   PUBL-798
 Comprehensive Exam plus 2 Graduate Electives
 
Total Semester Credit Hours
150

Please see General Education Curriculum for more information.

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