Audit Years
Program Code ECP
This sample plan and flow chart is suitable for undergraduate students who are ready for calculus and starting in:
- 2023–24
- CS 3421 is replaced with EE 3172 in fall of Year 3.
- 2022–23
- EE 3131 will no longer be a prerequisite for EE 3173 and may now be taken concurrently.
- 2021–22, 2020–21, 2019–20
- EE 1111 and EE 1110 were removed from the second-semester curriculum beginning in 2019-20. 2 credits of Free Electives were added moving forward.
- 2018–19 and earlier please contact your academic advisor.
General Flow Chart Guidelines
Flow charts are not an official list of degree requirements. Adjustments may be required due to curriculum changes. Please see degree audit for official list of requirements.
Choose correct courses each semester. Run and review your online Degree Audit each time you add, drop or switch courses and before each semester begins. Lists of electives and required courses are included in your online degree audit report. It is the student's responsibility to choose correct courses.
- Core CpE Requirements: 57 credits
- Math and Science: 29 credits
- Capstone Design + Technical Electives: 16 credits
- Free Electives: 2 credits
- General Education: 24 credits (Core 12, HASS 12)
- Co-curricular: 3 credits (not included in total)
I. Core Courses (6 Credits)
- UN 1015
- UN 1025 or one semester of a 3000 level or higher modern language
II. Sophomore Core Courses (6 Credits)
- Creative and Critical Thinking
- Social Responsibility and Ethical Reasoning
III. HASS Course Requirements (12 Credits)
- 6 credits 3000- or 4000- level
- 3 credits required from each of these 3 lists:
- Communication and Composition
- Humanities and Fine Arts (HU/FA)
- Social and Behavioral Sciences (EC/PSY/SS)
- No more than 3 credits on the Restricted HASS List
IV. Co-curricular Activities (3 units)
The co-curricular requirement consists of three semester units of physical education activities. These units are for graduation, but are not included in the overall degree-credit requirement.
Note: Most physical education activities will last for 7.5 weeks or 0.5 semester. A student would need six of these 0.5 semester units to fulfill the 3-semester unit co-curricular requirement.
Year 1
Fall (Semester 1)
An introduction to single-variable calculus, which includes a computer laboratory. Topics include trigonometric, exponential, and logarithmic functions, differentiation and its uses, and basic integration. Integrates symbolic tools, graphical concepts, data and numerical calculations.
- Credits: 4.0
- Lec-Rec-Lab: (0-3-1)
- Semesters Offered: Fall
- Pre-Requisite(s): ALEKS Math Placement >= 86 or CEEB Calculus AB >= 3 or CEEB Calculus BC >= 3 or CEEB Calculus AB Subscore >= 3 or ACT Mathematics >= 29 or SAT MATH SECTION SCORE-M16 >= 680
Starting point of the computer science programs. A high-level, object-oriented programming language is introduced as a problem-solving tool. Topics include design, coding, documentation, debugging, and testing of programs. Programming assignments are given in both a closed lab setting and as homework.
- Credits: 3.0
- Lec-Rec-Lab: (0-2-2)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): MA 1031(C) or MA 1032(C) or MA 1120(C)
An introduction to the engineering profession and to its various disciplines. Focuses on developing problem-solving skills, computational skills, and communication skills. Through active, collaborative work, students work on teams to apply the engineering problem-solving method to "real-world" problems.
- Credits: 3.0
- Lec-Rec-Lab: (0-0-5)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): (MA 1031(C) or MA 1032(C) or MA 1120(C) or MA 1160(C) or MA 1161(C) or MA 1121(C) or MA 2160(C) or MA 3160(C)) and (Spatial Visualization Score >= 19 or ENG 1002(C))
Experiments covering kinematics, force, conservation of momentum, conservation of energy, and waves are explored through guided construction. The course emphasizes understanding physical concepts through inquiry and the scientific method
- Credits: 1.0
- Lec-Rec-Lab: (0-0-2)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): MA 1160(C) or MA 1161(C) or MA 1121(C)
Provides direct instruction in composition. Students examine and interpret communication practices and apply what they learn to their own written, aural, and visual compositions. Class projects ask students to communicate in a variety of modes and to attend to audience, purpose, and context.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring, Summer
- Restrictions: Must be enrolled in one of the following Class(es): Freshman
Total 14 Credits
-
Students will take the Computer Science Knowledge Assessment (CSKA) before arrival. This will place you into either CS 1121 or CS 1131. If placed in CS 1131, you will not take CS 1122 during spring semester and your number of Technical Electives will change - see the Technical Electives notes below.
-
Students may place into MA 1161 instead of MA 1160; these are equivalent for the purposes of degree completion. Students beginning either before or beyond Calculus I should be sure to connect with their advisor after preliminary schedules are released from the Registrar’s Office.
-
Students who begin in MA 1032 may still begin with everything listed except PH 1100. We recommend moving a General Education course up to this semester if beginning in MA 1032 - contact your academic advisor with questions about what may be best.
Spring (Semester 2)
Continued study of calculus, which includes a computer laboratory. Topics include integration and its uses, function approximation, vectors, and elementary modeling with differential equations.
- Credits: 4.0
- Lec-Rec-Lab: (0-3-1)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): MA 1160 or MA 1161 or MA 1135 or MA 1121 or CEEB Calculus AB >= 3 or CEEB Calculus BC >= 3 or CEEB Calculus AB Subscore >= 3
Continuation of CS 1121. Topics include data abstraction, class hierarchies and polymorphism, list, stack, queue and tree data structures, complexity-based algorithm and data structure choices, and recursion. Homework programming assignments are given.
- Credits: 3.0
- Lec-Rec-Lab: (0-2-2)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): CS 1121
A calculus-based introduction to classical mechanics. Topics include kinematics, Newton's laws, impulse and momentum, work and energy, and the universal law of gravitation. C or better/AP credit in Calc 1 or co-requisite registration in PH2110 required.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): PH 1100(C) and (MA 1160 or MA 1161 or MA 1121 or MA 1135) or (CEEB Calculus AB >= 3 or CEEB Calculus BC >= 3 or CEEB Calculus AB Subscore >= 3 and MA 2160(C) or MA 3160(C))
Study of contemporary global issues, their origins, impacts, and solutions through the thematic and comparative exploration of worldview and culture, population, globalization, development, politics and global governance, environment, and sustainability. Emphasis on global literacy and information literacy.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Restrictions: Must be enrolled in one of the following Class(es): Freshman
Total 13 Credits
PE Co-Curricular (0.5)
PE Co-Curricular (0.5)
-
If a student takes CS 1131, they may choose to move one of CS 1142, CS 2311, or CS 2321 up to this semester; may also move another course up from a future semester. Talk to your academic advisor with questions about which option may be best.
-
Computer Engineers may take ENG 1102 in this semester if they would like. If taken as part of this first-year sequence, ENG 1102 may fulfill a Technical Elective. See the Technical Electives notes below.
-
Students who earn a CD or D in MA 1160/1161 will be placed in PH 2110 (2 cr) along with PH 2100. PH 2110 can be used to fulfill the free elective requirement.
-
One semester of 3000-level (or higher) language course can replace UN 1025.
Year 2
Fall (Semester 3)
Offered first half of semester, to be taken concurrently with MA3521. The course is an introduction to linear algebra and how it can be used. Topics include systems of equations, vectors, matrices, orthogonality, subspaces and the eigenvalue problem.
- Credits: 2.0
- Lec-Rec-Lab: (0-4-0)
- Semesters Offered: Fall, Spring
- Restrictions: May not be enrolled in one of the following Major(s): Mathematics, Software Engineering, Computer Science
- Co-Requisite(s): MA 3521
- Pre-Requisite(s): MA 2160
Offered second half of semester, to be taken concurrently with MA2321. Topics include first order equations, linear equations and systems of equations.
- Credits: 2.0
- Lec-Rec-Lab: (0-4-0)
- Semesters Offered: Fall, Spring
- Restrictions: May not be enrolled in one of the following Major(s): Mathematics, Computer Science
- Co-Requisite(s): MA 2321
- Pre-Requisite(s): MA 2160
This course will cover basic electrical concepts, resistive circuits, nodal and loop analysis techniques, superposition, Thevenin and Norton equivalents, maximum power transfer, capacitance and inductance, AC steady-state analysis.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): MA 2160
Introduces analysis, design, and application of digital logic. Includes Boolean algebra, binary numbers, logic gates, combinational and sequential logic, storage elements and hardware-description-language based synthesis.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): CS 1121 or CS 1131 or CS 1111
Programming in assembly language and C for students with prior experience in Java. Topics include binary number encodings, instruction set architecture, assembly language programming, and instruction encodings. C programming topics include program structure, preprocessor, arrays, structures, pointers, input/output, dynamic memory management, and linked data structures.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): CS 1122 or CS 1131
See University General Education Requirements. Select one course from the Core: Critical and Creative Thinking list.
Total 17 Credits
PE Co-Curricular (0.5)
- Students are encouraged to take the Accelerated Linear Algebra and Accelerated Differential Equations sequence. A student may space these out by taking the full-semester versions (MA 2320 and MA 3520), however this will impact other courses since they are taken in separate semesters. Contact your academic advisor with questions about this.
Spring (Semester 4)
Presents fundamental concepts in discrete structures that are used in computer science. Topics include sets, trees, graphs, functions, relations, recurrences, proof techniques, logic, combinatorics, and probability.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): (CS 1121 or CS 1131) and (MA 1135 or MA 1160 or MA 1161 or MA 1121 or MA 2160)
Presents fundamental concepts in data structures. Topics include abstract data types (priority queues, dictionaries and graphs) and their implementations, algorithm analysis, sorting, text processing, and object-oriented design. A significant programming project is assigned.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): CS 1122 or CS 1131
This course will cover second order transient circuits, magnetically coupled networks, AC steady-state analysis, polyphase circuits, variable frequency network performance, and two port networks.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): EE 2111 and (MA 3520 or MA 3521 or MA 3530 or MA 3560)
Experiments covering Coulomb's law, electric and magnetic fields, circuits, induction, and geometric optics are explored through guided construction. The course emphasizes understanding physical concepts through inquiry and the scientific method.
- Credits: 1.0
- Lec-Rec-Lab: (0-0-2)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): PH 1100 or PH 1111 or PH 1141 or PH 1161
A calculus-based introduction to electromagnetism. Topics include Coulomb's law, electric fields, Gauss's law, electric potential, capacitance, circuits, magnetic forces and fields, Ampere's law, induction, Maxwell's equations, and electromagnetic waves.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): (PH 1200(C) or PH 2261(C)) and (PH 2100 or PH 1160) and MA 2160
See University General Education Requirements. Select one course from the Core: Social Responsibility and Ethical Reasoning list.
Total 17 Credits
- This is the time to start thinking about a co-op, as well as if you’d like to start the Enterprise path for capstone design. Review your academic plan and meet with your advisor some time during this semester!
Year 3
Fall (Semester 5)
Introduces the mathematical analysis of signals, systems, and control. Topics include differential equations, Fourier series, Fourier transforms, LaPlace transforms, frequency response, Bode plots, state models, and an introduction to control systems.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): (EE 3010 or EE 2112) and (MA 2320 or MA 2321 or MA 2330) and (MA 3520 or MA 3521 or MA 3530 or MA 3560)
Covers the fundamentals of electronic devices and circuits; operational amplifiers, bipolar junction transistors, diodes, and MOSFETs.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): EE 2112 or EE 3010
Introduction to the fundamental structure and organization of computing systems. Topics include control logic, datapaths, instruction processing, caches, and pipelines. Includes a significant processor implementation project.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): EE 2174 and CS 1142
Introduction to the design, conduct, and analysis of statistical studies aimed at solving engineering problems. Topics include methods of data collection, descriptive and graphical methods, probability and probability models, statistical inference, control charts, linear regression, design of experiments.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): MA 2160 or MA 3160(C)
HASS Electives
See University General Education Requirements. Select one course from the Communication and Composition List.
Total 16 Credits
PE Co-Curricular (0.5)
- CS 3331 may be taken instead of EE 3160.
- Students who are pursuing Enterprise for their capstone work will begin with ENT 3950 in fall of their 3rd year. This changes the number of required Technical Electives. Students will take either 10 or 12 credits of Technical Electives. For more details on the capstone choices, please see the Capstone Design + Technical Elective
Spring (Semester 6)
The design process; includes team design activities and studies project management, ethics, and professionalism.
- Credits: 2.0
- Lec-Rec-Lab: (2-0-0)
- Semesters Offered: Fall, Spring
- Restrictions: May not be enrolled in one of the following Class(es): Freshman, Sophomore
- Pre-Requisite(s): EE 2112 or (EE 2180 and EE 3010) and UN 1015
Covers the integration of hardware and software into a complete working system. Includes design and construction of I/O devices for microprocessor or microcontroller-based systems, communication and bus protocols, programming in assembler language and in "C", system integration and testing. Also covers the use of FPGAs and HDL design tools.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-3)
- Semesters Offered: Fall, Spring, Summer
- Restrictions: Must be enrolled in one of the following Major(s): Computer Engineering
- Pre-Requisite(s): EE 2174 and (CS 1111 or CS 1142) and (CS 3421 or EE 3172) and (MA 3710 or EE 3180)
Development of robust programs that provide efficient services to system software developers. Topics include: file I/O, process creation and management, linking and libraries, interprocess communication, performance measurement, and socket programming.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): CS 3421 or EE 3172
Fundamental topics in algorithm design, analysis, and implementation. Analysis fundamentals include asymptotic notation, analysis of control structures, solving recurrences, and amortized analysis. Design and implementation topics include sorting, searching, and graph algorithms. Design paradigms include greedy algorithms, divide-and-conquer algorithms, and dynamic programming.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Restrictions: May not be enrolled in one of the following Class(es): Freshman, Sophomore
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
See Year 3 Spring Notes and Free Electives below.
See Math and Science Electives below.
Total 17 Credits
PE Co-Curricular (0.5)
PE Co-Curricular (0.5)
-
The options for the STEM lab science elective are BL1400+1410, GE 2000, or CH1150+1151.
-
Students must complete EE 3901 and EE 3131 before beginning either Senior Design (EE 4901) or capstone-level Enterprise (ENT 4950).
-
Free electives may be filled by any regular-grading option course above level 1000 (i.e., you may not use additional pass/fail co-curricular courses or courses numbered lower than 1000). These may be filled already by students who begin in MA 1032, take the PH 2110 workshop, or bring in AP/transfer credits that do not otherwise fulfill degree requirements. Students should run their uAchieve degree audit to see if their free electives are already filled.
Year 4
Fall (Semester 7)
The first semester of a program of study in which a group of students work on an engineering design project in consultation with a faculty member. (Senior project ready as defined by major substitutes for prerequisites)
- Credits: 2.0
- Lec-Rec-Lab: (1-0-3)
- Semesters Offered: Fall
- Restrictions: May not be enrolled in one of the following Class(es): Freshman, Sophomore, Junior
- Pre-Requisite(s): (EE 3131 or (EE 3280 and EE 3261(C))) and EE 3901 and (EE 3171(C) or EE 3173(C))
Covers the principles and practices of modern computer architecture. Emphasizes quantitative performance evaluation of: memory hierarchies, from cache through virtual memory; pipelined processors with advanced hazard management; and combined processor/memory systems. Introduces RAID, superscalars, parallel processing, cache coherence, performance simulation software.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring
- Restrictions: Must be enrolled in one of the following Major(s): Computer Engineering
- Pre-Requisite(s): EE 3173
Computer network architectures and protocols; design and implementation of datalink, network, and transport layer functions. Introduction to the Internet protocol suite (TCP, UDP, IP), domain name service and protocols, file sharing protocols, wireless networks, and network security.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Restrictions: May not be enrolled in one of the following Class(es): Freshman, Sophomore
- Pre-Requisite(s): CS 3411
See Computer Engineering Technical Electives below.
See Math and Science Electives below.
HASS Electives
See University General Education Requirements. Select one course from the Social and Behavioral Science List.
Total 17 Credits
-
Students who are pursuing Senior Design for their capstone work will begin with EE4901 in fall of their 4th year. Students will take either 10 or 12 credits of Technical Electives. For more details on the capstone choices, please see the Capstone Design + Technical Elective
-
Math/Science Electives may be: MA 2600, MA 2910, MA 3000 or higher; BL 1010 or higher; CH 1150 or higher; PH 2300 or higher (with some exclusions; see degree audit for complete list). This is a great place to fit in a MA course toward a math minor!
Spring (Semester 8)
The second semester of a program of study in which a group of students work on an engineering design project in consultation with a faculty member. (Senior project ready as defined by major substitutes for prerequisites)
- Credits: 2.0
- Lec-Rec-Lab: (0-1-3)
- Semesters Offered: Spring
- Pre-Requisite(s): EE 4901
See Computer Engineering Technical Electives below.
See Computer Engineering Technical Electives below.
See Computer Engineering Technical Electives below.
HASS Electives
See University General Education Requirements. Select one course from the Humanities and Fine Arts List.
HASS Electives
See University General Education Requirements. Select one course from any HASS list (including the HASS Restricted List).
Total 17 Credits
- Students who are pursuing Senior Design for their capstone work will continue with EE4910 in spring of their 4th year. Students will take either 10 or 12 credits of Technical Electives. For more details on the capstone choices, please see the Capstone Design + Technical Elective
Electives
Students have several options for completing their capstone design. Any path selection will total 16 credits of the degree plan. Regardless of option, you must complete EE 3901 (Design Fundamentals) before you move to Capstone work!
Option 1: Senior Design
- Take the 4-credit sequence:
- EE 4901 (2 credits) in fall year 4
- EE 4910 (2 credits) in spring year 4
- Take a minimum of 12 credits of Technical Electives (see Technical Electives section).
- Note: if a student wishes to do Senior Design but will graduate in a Fall semester, they may take MEEM 4901 (spring) and MEEM 4910 (fall). Talk with your academic advisor early on to decide if this, or Enterprise, is the best path for you.
Option 2: Enterprise
- Take the 6-credit sequence:
- ENT 3950 (1 credit) in fourth-to-last semester
- ENT 3960 (1 credit) in third-to-last semester
- ENT 4950 (2 credits) in penultimate semester
- ENT 4960 (2 credits) in final semester
- Take a minimum of 10 credits of Technical Electives (see Technical Electives section).
Option 3: European Project Semester
A one-semester option abroad, which includes courses transferring as EE 3901, EE 4901, and EE 4910. Talk with your academic advisor early on to learn more about this and form an academic plan around it.
Students will choose upper-level technical electives to give their degree the particular focus or expertise that they seek. Depending on whether a student chooses the Senior Design path or the Enterprise Path (see Capstone Design Options), they will need to take a minimum of either 12 or 10 credits of Technical Electives. The options are listed below in the Electives section.
If a students places into CS 1131 their first semester, we will add 1 credit to their Technical Elective requirements. This is because CS 1131 is a 5-credit course that replaces the 6-credit sequence of CS 1121 + CS 1122. That total number of 6 credits must be fulfilled, so we add the remaining 1 credit to Technical Electives.
Students who take ENG 1102 (optional) as part of their first-year sequence may count it toward Technical Electives.
Additionally, up to 2 credits of co-op (UN 3002, 3003, etc) may be used in Technical Electives.
Students will choose a Second Discipline Lab Science course in order to meet University General Education STEM requirements. For this requirement, students will choose from:
- CH 1150 + 1151
- BL 1400 + 1400
- GE 2000
Additionally, students have one more math or science elective. Math/Science Electives may be: MA 2600, MA 2910, MA 3000 or higher; BL 1010 or higher; CH 1150 or higher; PH 2300 or higher (with some exclusions; see degree audit for complete list). This is a great place to fit in a MA course toward a math minor!
Computer Engineers have 2 credits of free electives; depending on a student’s interests, these may be over-fulfilled with a 3-credit course of their choosing. Any coursework is allowable, excluding co-curricular and coursework below the 1000-level.
Free electives may be filled already by students who begin in MA 1032, take the PH 2110 workshop, or bring in AP/transfer credits that do not otherwise fulfill degree requirements. Students should run their uAchieve degree audit to see if their free electives are already filled.
Computer Engineering Technical Electives
Computer Engineers have the option to choose between most of the 3000- and 4000-level CS or EE courses, as well as a few additional options.
It is important to note that there are a few exclusions that may not be taken for Technical Elective credit: CS 4090, CS 4099, CS 4431, CS 4791, CS 4792, CS 5090, CS 5091, EE 3171, EE 4000, EE 4800, EE 4805, EE 4870, EE 5290, EE 5975, EE 5990, EE 5991, EE 5992, EE 6975.
Computer Science
This course introduces software design techniques (e.g., Design-By-Contracts), uses the UML for requirements and design specification, and requires implementation, unit testing and documentation in the context of a significant team project. Focus includes security, teamwork, user interfaces, social and professional responsibility.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
Introduction to the theory of formal languages and computation. Topics include regular languages and finite automata, context-free languages and push-down automata, Turing-acceptable languages, Turing machines and the halting problem. Proof techniques and applications, such as parsing, are also treated.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): CS 2311 or MA 3210
Concepts and techniques in concurrent computing. Topics include: processes and threads, mutual exclusion, semaphores, monitors and condition synchronization, deadlock, safety and liveness, message passing, and concurrent architectures.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): CS 1142 or (CS 1141 and CS 1040) and (CS 2311 or MA 3210) and CS 2321
This course provides an introduction to database systems including database design, query, and programming. Topics include goals of database management; data definition; data models; data normalization; data retrieval and manipulation with relational algebra and SQL; data security and integrity; database and Web programming; and languages for representing semi-structured data.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
Practices for ensuring quality through the software process. Topics include: requirements elicitation, analysis and documentation, testing, and quality assurance management.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Spring
- Pre-Requisite(s): CS 3141
A discussion of the concepts underlying programming languages. Topics include programming paradigms; language theory and properties (including syntax, semantics, run-time behavior, and implementation issues); data, procedure, functional and control abstraction; functional programming, logic programming, and language security.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): CS 2321 and CS 3311 and (CS 3421 or EE 3172)
Design, theory, and programming language translators and the theory and implementation of optimizers. Topics include: intermediate representations, advanced code generation, control-and data-flow analysis, advanced compiler optimization, dynamic compilation, global register allocation and instruction scheduling.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring
- Restrictions: May not be enrolled in one of the following Level(s): Graduate
- Pre-Requisite(s): CS 4121
Principles of the design and implementation of operating systems. Topics include: process management, process scheduling, memory management, I/O, file systems. Includes a significant implementation component.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Spring
- Pre-Requisite(s): CS 3331 and CS 3421
This course covers the design issues concerning the implementation of database management systems, including distributed databases. The topics include data storage, index implementation, query processing and optimization, security, concurrency control, transaction processing, and recovery.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: On Demand
- Pre-Requisite(s): CS 3425
This covers fundamentals of computer security. Topics include practical cryptography, access control, security design principles, physical protections, malicious logic, program security, intrusion detection, administration, legal and ethical issues.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall
- Restrictions: May not be enrolled in one of the following Level(s): Graduate
- Pre-Requisite(s): CS 3411 or CS 4411
Introduction to interactive computer graphics. Topics include 3D viewing, 3D transformation, interactive techniques, animation, modeling, lighting, texturing, vertex programs, fragment programs, and graphics algorithms. Requires substantial programming homework.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall
- Restrictions: May not be enrolled in one of the following Class(es): Freshman, Sophomore
- Pre-Requisite(s): (CS 1141 or CS 1142) and CS 2321 and MA 2330
Focuses on the use of formal models throughout the software development life cycle. Topics include formal specification of requirements, behavioral modeling, automated analysis, architectural styles and design specification.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Summer
- Pre-Requisite(s): CS 3311 and CS 3141(C)
Focuses on the software development process and related management issues. Topics include software process models, the Capability Maturity Model, process tools, use of standards, software maintenance, configuration management, project planning and tracking, team management, and measurement and estimation.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall
- Pre-Requisite(s): CS 3141
Learn fundamental of cryptography and its application to network security. Understand network security threats, security services, and countermeasures. Acquire background knowledge on well known network security protocols. Address open research issues in network security.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Spring
- Pre-Requisite(s): EE 4272 or CS 4461 or SAT 4812
This course exposes students to the concepts of secure software development. Students will learn how to develop high-quality software that is resistant against cyber-attacks, by minimizing the number of vulnerabilities that can be exploited by an attacker. Topics include access control, race conditions, buffer overflows, and code injection.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Spring
- Pre-Requisite(s): CS 4471
Principles of user interfaces (UI) design and implementation. Topics include: UI theory, design principles, evaluation, and tools. Requires completion of a group project implementing and evaluating a UI.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Spring
- Pre-Requisite(s): CS 3141
Fundamental ideas and techniques that are used in the construction of problem solvers that use Artificial Intelligence technology. Topics include knowledge representation and reasoning, problem solving, heuristics, search heuristics, inference mechanisms, and machine learning.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall, Spring, Summer
- Restrictions: May not be enrolled in one of the following Class(es): Freshman, Sophomore
- Pre-Requisite(s): CS 2311 and CS 2321 and (CS 3411 or CS 3421 or CS 3425 or CS 3331) and MA 3720
Data mining focuses on extracting knowledge from large data sources. The course covers data mining concepts, methodology (measurement, evaluation, visualization), algorithms (classification/regression, clustering, association rules) and applications (web mining, recommender systems, bioinformatics).
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Spring
- Restrictions: May not be enrolled in one of the following Level(s): Graduate
- Pre-Requisite(s): (CS 3425 or MIS 3100 or SAT 3210) and (MA 2330 or MA 2320 or MA 2321) and (MA 2710 or MA 2720 or MA 3710)
Electrical and Computer Engineering
An overview of the generation and utilization of electrical energy. Covers three-phase circuits, transformers, photovoltaics, batteries, electromechanical energy conversion, and an overview of electric power systems, including economic issues.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): EE 2110 or EE 3010 or (EE 2111 and EE 2112(C))
Covers basic principles of engineering electromagnetics with an emphasis on Maxwell's equations.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): PH 2200 and MA 3160 and (EE 2110 or EE 2112)
Optical sensing techniques, including imaging and non-imaging systems.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall
- Restrictions: Must be enrolled in one of the following Class(es): Junior, Senior
- Pre-Requisite(s): MA 3520 or MA 3521 or MA 3530 or MA 3560
Mathematical formulation of control problems (both transfer function and state-variable descriptions); analysis of feedback control systems (stability, transient performance, steady-state error, sensitivity, etc.); analog and digital simulation; and experiments with physical systems.
- Credits: 3.0
- Lec-Rec-Lab: (2-0-2)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): EE 3160
An introduction to the robotics middleware enabling robot platforms used in autonomous vehicles and advanced manufacturing. Students will learn the basics of distributed robotics software architecture, hardware considerations and associated simulation tools.
- Credits: 3.0
- Lec-Rec-Lab: (2-0-2)
- Semesters Offered: Spring
- Restrictions: May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): EE 2180 and SAT 2711
Light wave propagation in optical crystals and fibers, detection, and the creation of light in semiconductors.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Spring
- Restrictions: Must be enrolled in one of the following Major(s): Electrical Engineering, Physics, Applied Physics, Physics (BA), Biomedical Engineering, Materials Science and Engrg; Must be enrolled in one of the following Class(es): Junior, Senior
- Pre-Requisite(s): EE 3140 or PH 2400 or EE 2190
The design of discreet sequential controls using programmable logic controllers (PLCs). Relay logic is used to introduce ladder logic and ladder logic is used to program the PLC. Introduces a structured approach to sequential control design. Data acquisition is introduced using BridgeVIEW software
- Credits: 3.0
- Lec-Rec-Lab: (0-2-3)
- Semesters Offered: Fall, Summer
- Restrictions: Must be enrolled in one of the following Major(s): Robotics Engineering
- Pre-Requisite(s): EE 2112 or EE 3010
Provides a thorough understanding of how electric machines can be used to drive loads with control of speed, torque and position. Topics include basic electro-mechanics, rotating machinery, dc machines, ac machines, power electronics and load modeling. Applications include industrial systems, hybrid/electric vehicles and electric power systems.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Spring
- Pre-Requisite(s): (EE 2112 or EE 3010) and EE 3120
Provides a hands on understanding of how electric machines can be used to drive loads with control of speed, torque, and position. Topics include basic electro-mechanics, rotating machineer, dc machines, ac machines, power electronics, and load modeling.
- Credits: 1.0
- Lec-Rec-Lab: (0-0-2)
- Semesters Offered: Spring
- Pre-Requisite(s): EE 4219(C)
Covers power transmission line parameters and applications, symmetrical components, transformer and load representations, systems faults and protection, and the per unit system.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall
- Pre-Requisite(s): EE 3120 and (EE 2112 or EE 3010)
Topics covered include symmetrical components; symmetrical faults; unbalanced faults; generating the bus impedance matrix and using it in fault studies; power system protection; power system operation; power system stability.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Spring
- Pre-Requisite(s): EE 4221
A laboratory based course highlighting single phase and three phase power concepts, including: power factor, single and three phase transformer configurations, non-ideal transformers, synchronous machines, renewable energy, power flow and fault simulations, relay settings and relay testing and calibration.
- Credits: 1.0
- Lec-Rec-Lab: (0-0-3)
- Semesters Offered: Spring, Summer
- Restrictions: Permission of instructor required
- Pre-Requisite(s): EE 4221 and EE 4222(C)
Fundamentals of circuits for electrical energy processing. Covers switching converter principles for dc-dc, ac-dc, and dc-ac power conversion. Other topics include harmonics, pulse-width modulation, feedback control, magnetic components and power semiconductors.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Summer
- Pre-Requisite(s): EE 3120 and (EE 3130(C) or EE 3131)
Fundamentals of design, construction and control of circuits for electrical energy processing. Covers switching converter principles for dc-dc, ac-dc, and dc-ac power conversion. Other topics include harmonics, pulse-width modulation, feedback control, magnetic components and power semiconductors.
- Credits: 1.0
- Lec-Rec-Lab: (0-0-3)
- Semesters Offered: Fall
- Pre-Requisite(s): EE 4227(C)
Device physics and physical models of the most basic solid-state device structures. Major topics include the terminal characteristics and their physical origin, device design, and device applications.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): EE 3130 or EE 3131
Study of electronic circuits under small- and large-signal conditions. Typical topics include analysis and design of power and RF amplifiers, feedback circuits, oscillators, timing circuits, and wave-shaping circuits.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring
- Pre-Requisite(s): EE 3130 or EE 3131
Sensing and signal processing for robotics applications in manufacturing and autonomous navigation. Heavy emphasis on developing, testing, and evaluating algorithms. MATLAB programming required.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall
- Restrictions: Must be enrolled in one of the following Class(es): Junior, Senior
- Pre-Requisite(s): EE 2180 and ENG 1101
Introduces the mathematical theory of communication science. Topics include baseband and digital signaling, bandpass signaling, AM and FM systems, bandpass digital systems, and case studies of communication systems.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, Spring, Summer
- Pre-Requisite(s): EE 3160 and EE 3131 and EE 3180
Digital signal processing techniques with emphasis on applications. Includes sampling, the Z-transform, digital filters and discrete Fourier transforms. Emphasizes techniques for design and analysis of digital filters. Special topics may include the FFT, windowing techniques, quantization effects, physical limitations, image processing basics, image enhancement, image restoration and image coding.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Fall
- Pre-Requisite(s): EE 3160
Practical implementation of digital signal processing concepts as developed in EE4252. Emphasis on applications of DSP to communications, filter design, speech processing, and radar. Laboratory provides practical experience in the design and implementation of DSP solutions.
- Credits: 3.0
- Lec-Rec-Lab: (2-0-2)
- Semesters Offered: Spring
- Pre-Requisite(s): EE 4252
Introduction to state space analysis and design (state feedback, observers, and observer feedback); digital control system design and analysis (Z-transforms, difference equations, the discrete-time state model, and digital implementation of controllers); introduction to nonlinear systems (equilibrium states, linearization, phase plane analysis, and describing function analysis); and experiments with physical systems.
- Credits: 3.0
- Lec-Rec-Lab: (2-0-2)
- Semesters Offered: Spring
- Pre-Requisite(s): EE 3261
Design of VLSI circuits using CAD tools. Analysis of physical factors affecting performance.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Fall
- Pre-Requisite(s): EE 3131 and EE 2174
This course consists of the application areas, revolution, and fundamental building blocks (data collection, connectivity, and analysis) in Internet of Things. A hands-on, multi-discipline project-oriented course.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall, in odd years
- Restrictions: Must be enrolled in one of the following College(s): College of Engineering, College of Computing; May not be enrolled in one of the following Class(es): Freshman, Sophomore, Junior
- Pre-Requisite(s): EE 4272
Design of autonomous systems focusing on safety. Covers localization, sensor fusion, and motion planning. Emphasizes autonomy capability level, functional safety, and hazard analysis. Students will use autonomous vehicle data sets to develop sensing, perception, and path-planning strategies on simulated autonomous vehicles.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Spring
- Pre-Requisite(s): (EE 3261 or MEEM 3750) and EE 3280
A mathematically rigorous study of dynamic electromagnetic fields, beginning with Maxwell's equations. Topics include scalar and vector potentials, waves, and radiation.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall
- Pre-Requisite(s): EE 3140
Survey of laser types and analysis of common physical and engineering principles, including energy states, inversion, gain, and broadening mechanism from a quantum mechanical perspective. Laser applications and laser properties are explored in the laboratory portion.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered: Fall
- Pre-Requisite(s): EE 3140
Covers the use of low-power microcontrollers and hardware- dependent C for embedded sensing and control systems. Emphasizes direct interfacing with analog and digital sensors and actuators of several different modalities, to implement end-to-end embedded systems for applications including robotics and wireless sensor nets.
- Credits: 4.0
- Lec-Rec-Lab: (3-0-1)
- Semesters Offered: Spring, Summer
- Restrictions: Must be enrolled in one of the following Class(es): Senior
- Pre-Requisite(s): (CS 1111 or CS 1142) and (EE 3171 or EE 3173)
This course provides an overview of open-source hardware in theory and practice for an introduction to distributed additive manufacturing using open-source 3-D printing. Each student will build a customized RepRap and will learn all hardware and software for maintaining it.
- Credits: 3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered: Fall
- Restrictions: Must be enrolled in one of the following College(s): College of Engineering; Must be enrolled in one of the following Class(es): Junior, Senior
Mathematical Sciences
Transmission via noisy channels, hamming distance, linear codes, the ISBN-code, encoding and decoding, finite fields, Reed-Solomon codes, deep space communication, the compact disk code, sphere packing bound, hamming codes, hamming decoding.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Fall
- Pre-Requisite(s): MA 2320 or MA 2321 or MA 2330
Topics include private-key cryptography, shift substitution, permutation and stream ciphers, cryptanalysis, perfect secrecy, public-key cryptography, and the RSA cryptosystem.
- Credits: 3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered: Spring, Summer
- Pre-Requisite(s): MA 2320 or MA 2321 or MA 2330
Mechanical and Aerospace Engineering
The main concepts of autonomous systems will be introduced including motion control, navigation, and intelligent path planning and perception. This is a hands-on project based course. Students will have the opportunity to work with mobile robotics platforms. Having a foundational understanding of programming is recommended to make the most of this course.
- Credits: 3.0
- Lec-Rec-Lab: (0-2-2)
- Semesters Offered: Fall, Spring
- Restrictions: Must be enrolled in one of the following Major(s): Mechanical Eng-Eng Mechanics, Robotics Engineering, Engineering Mechanics, Mechanical Engineering
- Pre-Requisite(s): MEEM 3750 or MEEM 4775(C) or EE 3160
Note: Some 5000-level courses may also be used as Technical Electives if the student meets prerequisites for graduate level courses or is taking advantage of senior rule. Please see the academic advisor for more information.