View of the campus in fall.

The Undergraduate Computer Engineering Program


Introductory Course Information

Disclaimer: This information is compiled by students. It is to help answer the questions of other students and be a general help guide. In other words, it is a good resource, but can't be taken and 100% correct. It is just opinion, and some of it like workload is very subjective and professor dependent.

General Education General Education in Computer Engineering adheres to a policy that is more strict than the University policy. A form describing the requirements can be picked up the CE Office (MEB 3255). Take the time to get the form, fill it out, and get your general education classes approved before you take too many of them.

CE Courses Many of the courses that are pertinent to CE majors are described below. A shorter but hopefully more practical definition is given. Also the semester(s) the class is normally taught (F=Fall, S=Spring, U=Summer), the professor who normally teaches the class, the presence of a lab, and estimated workload are given.




ECE 1250 Electrical & Computer Engineering Design (4,SU)
Prereq: MATH 1050, MATH 1060.
Description: System design using electrical and computer engineering concepts. Basic concepts of electrical circuit design, sensors, signal processing, communications, control and embedded system programming are used to design sensor/actuator systems to accomplish engineering design tasks. Topics also include Matlab programming and laboratory instrumentation.
Professor: Neil Cotter, Arn Stolp
Lab: Yes, 3 hour lab
Workload: Moderate

CS 1410 Object Oriented Programming (4,FS)
Coreq: MATH 1210, CS 1400 or proficiency exam
Description: Introductory programming class. It will be taught in Java. Emphasis will be on basic software engineering and program design skills. Basic programming constructs are also discussed.
Professor: Joe Zachary
Lab: Yes, discussion sections.
Workload: Moderate

CS 2420 Introduction to Algorithims and Data Structures (4,SU)
Prereq: CS 1410.
Description:The second introductory programming class. Classical algorithms (including sorting, searching, and graph traversal) and data structures (including stacks, queues, linked lists, trees, hash tables, and graphs) as well as complexity and space requirements are briefly covered. Pointers and memory allocation are discussed with the pertinent subjects.
Professor: Dave Hanscom, Art Lee
Lab: Yes, discussion sections.
Workload: Moderate

CS 2100 Discrete Structures (3,FS)
Prereq: CS 1410, MATH 1210.
Description: Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, and their applications to Computer Science.
Professor: Mike Kirby, Suresh Venkatasubramanian
Lab: No
Workload: Moderate

ECE 2240 Fundamentals of Electric Circuits (4, F)
Prereq: ECE 1250; Coreq: MATH 2250, PHYCS 2220.
Description: The second basic circuits class. It covers phasor transforms, power in sinusoidal-steady systems, frequency response, filters, Fourier-series methods, Laplace-transform techniques, transformers, and two-port networks. The topics are good for the most part, but some of them are just informational.
Professor: Neil Cotter
Lab: Yes, 3 hour lab
Workload: Moderate

ECE 2280 Fundamentals of Engineering Electronics (4,S)
Prereq: ECE 2240 or 2260, CS 1410.
Description: Fundamentals of electronic circuits and components, network models of amplifiers, basic semiconductor device physics, diodes, bipolar and MOS transistors, basic analog and digital circuit elements, frequency response, feedback and stability. Introduction to computer circuit simulation using PSPICE.
Professor: Angela Rasmassun
Lab: Yes, 3 hour lab.
Workload: Moderate

CS 3500 Software Practice (4,F)
Prereq: Major status in Computer Engineering.
Description: Practical exposure to the process of creating large software systems, including requirements specifications, design, implementation, testing, and maintenance. Emphasis on software process, software tools (debuggers, profilers, source code repositories, test harnesses), software engineering techniques (time management, code and documentation standards, source code management, object-oriented analysis and design), and team development practice. Much of the work will be in groups and will involve modifying preexisting software systems.
Professor: Bob Kessler
Lab: Yes, discussion sections.
Workload: Moderate

CS/EE 3700 Fundamentals of Digital System Design (4,S) Quantitatively Intensive B.S. Course.
Prereq: CS 2000 or 1410, PHYS 2220.
Description: Techniques for minimizing logic functions and designing common combinational circuits such as decoders, selectors, and adders. Synchronous and asynchronous sequential circuits, state diagrams, Mealy and Moore circuits, state minimization and assignment. Use of software tools for design, minimization, simulation, and schematic capture. Implementation with MSI, LSI, and field programmable gate arrays.
Professor: Erik Brunvand, Priyank Kalla
Lab: Yes, discussion section
Workload: Moderate/Heavy

CS/EE 3810 Computer Architecture (4,F) Quantitatively Intensive B.S. Course.
Prereq: CS 2000 or 1410.
Description: An in-depth study of computer architecture and design, from digital logic to operating systems, including topics such as pipelining, memory systems, parallel and serial communication, and interrupts. Performance measures and compilation issues. Computer architectures.
Professor: Peter Jensen
Lab: No
Workload: Moderate