Computer Engineering

CPE 3280: Microcontroller System Design (5)

Offerings

Prerequisites: EE 1210 and EE/CSC/CPE 3760. 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

Prerequisites: CSC 3750 or CSC 3760 or CPE 3760 or EE 3760 (may be taken concurrently), and a C- or higher in CSC 2431. 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

Prerequisite: EE 2727 and 1210 (EE 1210 may be taken concurrently). An introduction to principles of modern communication systems with an emphasis on current technological applications. Covers basics such as transmission media (electrical, optical and wireless), analog and digital signaling techniques, 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 AND EE 1210: D or better

CPE 3760: Computer Organization and Assembly Language (5)

Offerings

Prerequisites: (CSC 2330 or CSC 2430) and EE 1210. 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 4150: Software Engineering (5)

Offerings

Prerequisite: CSC 3150. Covers topics in software engineering, including team programming, project planning and management, SDLC (software development life cycle) and software quality assurance. Course requirements include the design and implementation of a team software project.

Equivalents: CSC 4150 Attributes: Upper-Division Restrictions: Post-Baccalaureate, Senior students only.

CPE 4151: Software Engineering I (3)

Offerings

Prerequisite: CSC 3150, and (CSC 2431 or CSC 3221). 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: D or better AND (CSC 2431: D or better OR CSC 3221: D or better)

CPE 4152: Software Engineering II (3)

Offerings

Prerequisite: CSC/CPE 4151. 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

Prerequisites: EE/CPE 3280 and (EE 3730 or EGR 3810). 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 Restrictions: Computer Engineering Majors only. Prerequisites: (EE 3280: D or better OR CPE 3280: D or better) AND (EE 3730: D or better OR EGR 3810: D 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 Restrictions: Computer Engineering Majors only. Prerequisites: CPE 4211: C- or better

CPE 4350: Advanced Operating Systems (3)

Offerings

Prerequisite: C- or higher in CSC 3350 or CPE 3350. 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

Prerequisites: CSC 3750 or CSC 3760, or CPE 3760 or EE 3760. Recommended: 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

Prerequisite: C- or higher in CSC 3750 or CSC 3760, or CPE 3760 or EE 3760. CSC 2431 recommended. 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

Prerequisite: EE/CPE 4212. 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: C- or better OR EE 4212: C- or better OR EGR 4812: C- or better)

CPE 4900: Independent Study (1-5)

Offerings

Independent Study May be repeated for credit up to 15 credits.

Attributes: Upper-Division

CPE 4960: Senior Project (1-5)

Offerings

Student works with faculty advisor on a mutually agreed upon project. Requires submission of application to CPE chair three weeks prior to the start of the quarter. 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

Prerequisite: A B- or better in CPE 3760. 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.