Computer Engineering

CPE 1502: Electrical and Computer Engineering Fundamentals (1)

Offerings

This hands-on course introduces students to basic hardware and software platforms commonly used by Electrical Engineers and Computer Engineers. Extra Fee.

Equivalents: EE 1502

CPE 3280: Microcontroller System Design (5)

Offerings

Design of hardware and software for embedded systems using a modern microcontroller. Covers hardware interfacing including memory system design, interrupt interfacing, and use of internal and external peripheral devices. Emphasis is placed on programming of the microcontroller including device drivers, exception and interrupt handling, and interfacing with higher-level languages. Laboratory exercises require programming and hardware design. Extra fee.

Equivalents: EE 3280 Attributes: Upper-Division Prerequisites: EE 1210: D or better AND (EE 3760: D or better OR CSC 3760: D or better OR CPE 3760: D or better)

CPE 3350: Operating Systems Programming (3)

Offerings

Introduction to operating systems and systems programming. Surveys systems software; operating system interface and functions; utilities and shell programming; linkers and loaders; translators; and processes, concurrency and concurrent programming.

Equivalents: CSC 3350 Attributes: Upper-Division Prerequisites: CSC 2431: C- or better AND (CSC 3750: D or better OR CSC 3760: D or better OR EE 3760: D or better OR CPE 3760: D or better)

CPE 3550: Communication System Analysis (5)

Offerings

An introduction to principles of modern communication systems with an emphasis on current technological applications. Covers basics such as transmission media, analog and digital signaling techniques, computer communication, TCP/IP network architecture, data encoding methods and multiplexing mechanisms. Modern communication protocols for networks and radio links are analyzed. High-level issues such as security, encryption, and cellular management are studied. Extra fee.

Equivalents: EE 3550 Attributes: Upper-Division Prerequisites: (EE 2727: D or better OR EE 2728: D or better) AND EE 1210: D or better

CPE 3760: Computer Organization and Assembly Language (5)

Offerings

Studies organization and structuring of the major hardware components of computers. Includes mechanics of information transfer and control within a digital computer system. Introduces computer architecture, machine instruction sets and assembly language programming.

Equivalents: CSC 3760, EE 3760 Attributes: Upper-Division Prerequisites: (CSC 2330: D or better OR CSC 2430: D or better) AND EE 1210: D or better

CPE 4151: Software Engineering I (3)

Offerings

Explores the technical processes and practice of software engineering. Lecture/discussion topics include the development process, project planning and management, measurement and metrics, and software quality assurance. In this first of a two-quarter team software development sequence, student teams will complete and present the requirements analysis and a prototype of a software system. A final grade will be awarded for this course upon completion of CSC/CPE 4152.

Equivalents: CSC 4151 Attributes: Upper-Division Restrictions: Computer Engineering, Computer Science, Information Systems Majors only. Post-Baccalaureate, Senior students only. Prerequisites: CSC 3150: C- or better AND (CSC 2431: C- or better OR CSC 3221: C- or better)

CPE 4152: Software Engineering II (3)

Offerings

This course is a completion of a two-quarter software development experience. Student teams will implement, test and deploy systems they began in CSC 4151. Class time will be primarily devoted to the application of software engineering principles to their project, technical reviews, and formal presentation of the completed system.

Equivalents: CSC 4152 Attributes: Upper-Division Restrictions: Post-Baccalaureate, Senior students only. Prerequisites: CSC 4151: D or better OR CPE 4151: D or better

CPE 4211: Computer Engineering Senior Design I (3)

Offerings

Study of mixed digital and analog system design, including embedded software design. Student teams begin a system level design of a project (a nondisclosure agreement may be required). Students provide detailed schedules for building prototype systems and present periodic progress reports. During the course, students produce a technical specification, undergo several design reviews and design a printed circuit board for a prototype system. Extra fee.

Equivalents: EE 4211 Attributes: Upper-Division, Writing "W" Course Restrictions: Computer Engineering Majors only. Prerequisites: (EE 3280: C- or better OR CPE 3280: C- or better) AND (EE 3730: C- or better OR EGR 3810: C- or better)

CPE 4212: Computer Engineering Senior Design II (3)

Offerings

Continued study of mixed digital and analog system design, including embedded software design. Student teams continue to implement and refine the prototype hardware and software designs from EE/CPE 4211. Teams write detailed technical reports and submit their designs to design reviews. Periodic progress reports and team presentations are required.

Equivalents: EE 4212 Attributes: Upper-Division, Writing "W" Course Restrictions: Computer Engineering Majors only.

CPE 4350: Advanced Operating Systems (3)

Offerings

Introduces the major functions of operating systems. Covers processes and concurrency; concurrent programming; resource allocation, contention and control; scheduling, memory management, and device management.

Equivalents: CSC 4350 Attributes: Upper-Division

CPE 4750: Computer Networks (5)

Offerings

Recommended Prerequisite: CSC 2431. Studies concepts and terminology of computer networks, equipment, and protocols.

Equivalents: CSC 4750 Attributes: Upper-Division Prerequisites: (CSC 3750: or better OR CSC 3760: or better OR EE 3760: or better OR CPE 3760: or better)

CPE 4760: Advanced Computer Architecture (5)

Offerings

Recommended Prerequisite: CSC 2431. Studies the architecture of multiprocessor, pipelined, and parallel computers. Emphasis is placed on principles of instruction level parallelism, multi-core processing, and distributed computing.

Equivalents: CSC 4760 Attributes: Upper-Division Prerequisites: (CSC 3750: C- or better OR CSC 3760: C- or better OR EE 3760: C- or better OR CPE 3760: C- or better)

CPE 4899: Computer Engineering Capstone and Senior Design (3)

Offerings

In this capstone course designs from EE 4212 are developed into a manufacturing prototype and tested. Covers testing methodology (hardware and software), debugging and documentation methodology. Teams author detailed technical documents. Periodic progress reports and final presentations are required. Includes study of vocation in engineering, writing reflective responses, and preparation of a portfolio of major projects students have finished.

Equivalents: EE 4899 Attributes: Upper-Division, Writing "W" Course Restrictions: Computer Engineering Majors only. Prerequisites: (CPE 4212: D or better OR EE 4212: D or better)

CPE 4900: Independent Study in Computer Engineering (1-5)

Offerings

Independent study and research in an advanced computer engineering topic. May be repeated for credit up to 15 credits.

Attributes: Upper-Division Prerequisites: CPE 3760: B- or better OR CSC 3760: B- or better OR EE 3760: B- or better

CPE 4960: Senior Project in Computer Engineering (1-5)

Offerings

Independent project and research in an advanced computer engineering topic. May be repeated for credit up to 15 credits.

Attributes: Upper-Division Restrictions: Computer Engineering Majors only.

CPE 4970: Directed Research in Computer Engineering (2-5)

Offerings

The student will conduct research based on a proposal prepared prior to registering for this course. Results of the research will be prepared for presentation at undergraduate or professional symposia. May be repeated for credit up to 8 credits.

Attributes: Upper-Division Restrictions: Computer Engineering Majors only. Freshman, Sophomore students are excluded.