BS in Computer Engineering
(92–93 hours*)
Learning Outcomes
- Fundamentals: An ability to apply knowledge of mathematics (differential, integral, and multivariate calculus; linear algebra; complex variables; differential equations; discrete math; and probability), science (Newtonian mechanics; electricity and magnetism; and introductory chemistry), computer fundamentals (programming languages; computer organization; and software/hardware interfaces), and engineering science (signals and systems, electromagnetics, and electronic devices).
- Experiments and data analysis: An ability to design and conduct experiments, as well as to analyze and interpret data.
- System design: An ability to design a system component or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability.
- Teamwork: An ability to function on multi-disciplinary teams.
- Leadership: An understanding of principles of leadership and project management.
- Engineering problems: An ability to identify, formulate, and solve engineering problems.
- Ethics: An understanding of professional and ethical responsibility.
- Communication skills: An ability to communicate effectively.
- Broad education: The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
- Lifelong learning: A recognition of the need for, and an ability to engage in life-long learning.
- Contemporary issues: A knowledge of contemporary issues.
- Techniques, skills, and tools: An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
Program Requirements | View MAP
- Complete the following prerequisite courses:
MATH 112 : Calculus 1.
(4:5:0)(Credit Hours:Lecture Hours:Lab Hours)| OFFERED: | Honors also. |
| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | Math 110 and 111 or equivalent. |
| DESCRIPTION:  | Differential and integral calculus: limits; continuity; the derivative and applications; extrema; the definite integral; fundamental theorem of calculus; L'Hopital's rule. |
: Honors Calculus 1.
MATH 113 : Calculus 2.
(4:5:0)(Credit Hours:Lecture Hours:Lab Hours)| OFFERED: | Honors also. |
| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | Math 112 or equivalent. |
| DESCRIPTION:  | Techniques and applications of integration; sequences, series, convergence tests, power series; parametric equations; polar coordinates. |
PHSCS 220 : Principles of Physics 3.
(3:3:1)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Summer |
| PREREQUISITE: | Phscs 121 or equivalent; Math 113 or equivalent. |
| DESCRIPTION:  | Electricity and magnetism. Weekly lab. |
- Complete the following supporting courses:
CHEM 105 : General College Chemistry.
(4:5:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | Math 110 (or equivalent) or concurrent enrollment. |
| DESCRIPTION:  | Atomic and molecular structure including bonding and periodic properties of the elements; reaction energetics, electrochemistry, acids and bases, inorganic and organic chemistry. |
| NOTE: | Primarily for students in engineering and biological sciences. Three lectures and two recitation sections per week. |
C S 142 : Introduction to Computer Programming.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | Knowledge of algebra. |
| DESCRIPTION:  | Introduction to object-oriented program design and development. Principles of algorithm formulation and implementation. |
C S 235 : Data Structures and Algorithms.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | C S 142 |
| DESCRIPTION:  | Fundamental data structures and algorithms of computer science; basic algorithm analysis; recursion; sorting and searching; lists, stacks, queues, trees, hashing; object-oriented data abstraction. |
C S 236 : Discrete Structures.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Summer |
| PREREQUISITE: | C S 235 |
| DESCRIPTION:  | Introduction to grammars and parsing; predicate and propositional logic; proof techniques; sets, functions, relations, relational data model; graphs and graph algorithms. |
C S 240 : Advanced Programming Concepts.
(4:3:1)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | C S 236 |
| DESCRIPTION:  | Advanced software development with an object-oriented focus. Development and testing of several 1500 to 2000 line modules from formal specifications. UNIX and C++ environment. |
ENGL 312 : Persuasive Writing.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| OFFERED: | Honors also. |
| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | Junior or senior status. |
| DESCRIPTION:  | Expository and persuasive writing focusing on practical reasons for evaluating audiences, generating and structuring an argument, and making stylistic decisions. Library research paper. |
| NOTE: | Carries GE Advanced Written and Oral Communication credit. |
MATH 334 : Ordinary Differential Equations.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | MATH 113 & MATH 313 |
| DESCRIPTION:  | Methods and theory of ordinary differential equations. |
- Complete the following:
EC EN 124 : (EC En-C S) Introduction to Computing Systems.
(3:3:2)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | C S 142 or concurrent enrollment. |
| DESCRIPTION:  | How a computer works, from hardware to high-level programming: logic circuits, computer instructions, assembly language, binary arithmetic, C programming, program translation, data structures, algorithm analysis. |
EC EN 212 : Circuit Analysis and Laboratory.
(5:4:3)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | Phscs 220 and Math 113 with an average grade of B or better, or clearance from department advisor. |
| DESCRIPTION:  | Analysis of electric circuits; sinusoidal-steady state, resonance, Bode plots, and balanced three-phase circuits. Includes labs. |
| NOTE: | Fee. |
EC EN 224 : Fundamentals of Digital Systems.
(3:3:2)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter |
| PREREQUISITE: | CS-ECEn 124. |
| DESCRIPTION:  | Digital logic: theory, design, and implementation of combinational and sequential logic. Laboratory experience in construction of digital logic circuits. |
EC EN 313 : Electronic Circuit Design 1.
(5:4:3)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | EC EN 212 |
| DESCRIPTION:  | Analysis and design of linear and nonlinear electronic circuit building blocks. |
EC EN 320 : Digital System Design.
(3:3:3)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter |
| PREREQUISITE: | EC EN 212 & EC EN 224 |
| DESCRIPTION:  | Advanced digital design, including hardware description languages, electrical properties of digital circuits, synchronous and asynchronous circuits, computer arithmetic, and interfacing to external circuitry. |
EC EN 324 : Computer Systems.
(3:3:1)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | EC EN 224 & C S 235 |
| DESCRIPTION:  | Machine-level representations of programs and data, processor architecture, program performance optimizaton, memory hierarchies, virtual memory, linking, exceptions. |
EC EN 362 : Transmission Line Fundamentals.
(2:1:3)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | EC EN 212 & MATH 334 |
| DESCRIPTION:  | Transmission lines for high-speed digital systems. |
| NOTE: | Lab included. |
EC EN 370 : (EC En - Math 431) Probability Theory.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter |
| PREREQUISITE: | MATH 313 |
| DESCRIPTION:  | Axiomatic probability theory, conditional probability, discrete / continuous random variables, expectation, conditional expectation, moments, functions of random variables, multivariate distributions, laws of large numbers, central limit theorem. |
EC EN 380 : Signals and Systems.
(4:3:3)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | EC EN 212 & MATH 334 |
| DESCRIPTION:  | Time and frequency domain analysis of discrete or continuous systems subjected to periodic or nonperiodic input signals. |
EC EN 391 : Junior Seminar.
(.5:1:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall |
| PREREQUISITE: | EC EN 212 |
| DESCRIPTION:  | Seminars and colloquia on current topics in electrical and computer engineering, as well as ethics, contemporary issues, and life-long learning. |
| NOTE: | Attendance and some writing are required. |
EC EN 490 : Team Design Project.
(4:2:6)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter |
| PREREQUISITE: | EC EN 313 & EC EN 380; selected 400-level EC En courses, depending on project. |
| DESCRIPTION:  | Culminating design experience based on skills learned in advanced technical courses. Students work in teams to plan, design, test, and demonstrate a major project. |
- Complete at least 17 hours from the following advanced technical program and technical electives:
- Complete at least two of the following courses:
EC EN 425 : Real-Time Operating Systems.
(4:3:3)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall |
| PREREQUISITE: | EC EN 324 |
| DESCRIPTION:  | Hardware/software interface, real-time kernel internals, implementation of high-level language constructs, issues in real-time application software development. |
EC EN 427 : Embedded Systems.
(4:3:3)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall |
| PREREQUISITE: | EC EN 320 & EC EN 324 |
| DESCRIPTION:  | Interfacing digital hardware components to an embedded system processor. Developing the hardware-software interface. Developing application software. Using C and assembly language in device-driver design, monitor-debugger, and real-time kernel. Lab. |
EC EN 451 : Introduction to Digital VLSI Circuits.
(4:3:5)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Winter |
| PREREQUISITE: | EC EN 313 & EC EN 320 |
| DESCRIPTION:  | Design of very large-scale integrated circuits for digital systems. CAD tools used extensively to simulate the design and create and verify mask circuits. |
- Complete remaining course hours selected from the following:
- Additional courses listed in item 4a above or other 400-level electrical and computer engineering courses, not including 490 or 493R.
- Any of the following:
C S 340 : Software Design and Testing.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | C S 240 |
| DESCRIPTION:  | Principles of software design, design patterns, design representation, refactoring. Principles of software quality assurance and testing. Development and testing tools. |
C S 345 : Operating Systems Design.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter; Summer |
| PREREQUISITE: | C S 124 & C S 240 |
| DESCRIPTION:  | Principles and concepts of operating systems design and the implementation of an operating system. |
C S 360 : Internet Programming.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter |
| PREREQUISITE: | C S 240 |
| DESCRIPTION:  | Internet application programming, including sockets, threads, CGI, database, e-commerce, Web services. |
C S 431 : Algorithmic Languages and Compilers.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| PREREQUISITE: | C S 330 & C S 340 |
| DESCRIPTION:  | Formal description of algorithmic languages and techniques used in their compilation: semantics, ambiguities, procedures, replication, iteration, recursion. |
C S 452 : Database Modeling Concepts.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall |
| PREREQUISITE: | C S 340 & C S 360 |
| DESCRIPTION:  | Database models: relational, deductive, object-oriented. Integrity constraints, query languages, database design. |
C S 456 : Introduction to User Interface Software.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall |
| PREREQUISITE: | C S 340 |
| DESCRIPTION:  | Introduction to software architectures and techniques for graphical user interfaces. Input devices, windowing systems, event-driven programming, interactive geometry. |
C S 460 : Computer Communications and Networking.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Winter |
| PREREQUISITE: | C S 340 & C S 360 |
| DESCRIPTION:  | Introduction to data communications and computer networking. Communications fundamentals, computer networks, software, architecture, telecommunications, regulation, standards. |
C S 462 : Large-Scale Distributed System Design.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Winter |
| PREREQUISITE: | C S 340 & C S 360 |
| DESCRIPTION:  | Designing and implementing client-server enterprise applications. Web servers, application servers, database connectivity, remote procedure calls, transactions, messaging, directory, naming services, threads, security, data formats. |
C S 465 : Computer Security.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall |
| PREREQUISITE: | C S 360 or concurrent enrollment. |
| DESCRIPTION:  | Introduction to computer security fundamentals: confidentiality, integrity, authentication, and access control. Secret key and public key cryptography, network security protocols, viruses, and fire walls. |
C S 470 : Introduction to Artificial Intelligence.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Spring |
| PREREQUISITE: | C S 312 & MATH 313 & STAT 121 |
| DESCRIPTION:  | Introduction to core areas of artifical intelligence; intelligent agents, problem solving and search, knowledge-based systems and inference, planning, uncertainty, learning, and perception. |
C S 478 : Tools for Machine Learning and Data Mining.
(3:3:0)(Credit Hours:Lecture Hours:Lab Hours)| WHEN TAUGHT: | Fall; Winter |
| PREREQUISITE: | C S 312 & MATH 313 & STAT 121 |
| DESCRIPTION:  | Machine learning and data mining models and other mechanisms allowing computers to learn and find knowledge from data. |
- 500-level computer science courses.
Note: Contact the Electrical and Computer Engineering Department for current information about added and/or deleted courses, as well as information about when courses are offered.
*Hours include courses that may fulfill university core requirements.