Computer Engineering Courses

Lower Division Courses

COMPE 160. Introduction to Computer Programming (3)

Prerequisite: Mathematics 150 with a grade of C (2.0) or better.

Computer organization and operation. Binary representation of information. Fundamentals of computer programming using a C family language: data types, selection and iteration structures, functions, arrays, pointers, scope and duration of variables. Systematic design and development of computer programs.

COMPE 260. Data Structures and Object-Oriented Programming (3)

Prerequisite: Computer Engineering 160 with a grade of C (2.0) or better. Credit or concurrent registration in Mathematics 245.

Data structures using object-oriented programming. Disciplined approach to design, coding, and testing using OOP, teach use and implementation of data abstractions using data structures. Arrays, linked lists, stacks, queues, trees. Sorting, searching, recursive algorithms.

COMPE 270. Digital Systems (3)

Prerequisite: Credit or concurrent registration in Mathematics 151.

Modelling, analysis and design of digital systems, primarily at the Logic Design level. Combinational and sequential networks. Not open to students with credit in Electrical Engineering 370.

COMPE 271. Computer Organization (3)

Prerequisite: Computer Engineering 160 with a grade of C (2.0) or better. Grade of C- (1.7) or better in Computer Engineering 270.

Organization and operation of computer hardware and software. Operating system shell and services. Program design and development. Input-output programming. Multi-module and mixed-language programming. Assembler and C language.

Upper Division Courses (Intended for Undergraduates)

COMPE 361. Windows Programming (3)

Prerequisite: Computer Engineering 260 and 271 with a grade of C- (1.7) or better in each course.

Object Oriented Programming (OOP) using C# and .NET Framework. Graphical User Interface (GUI) and event-driven programming. Visual Studio Integrated Development Environment (IDE). Graphics programming.

COMPE 375. Embedded Systems Programming (3)

Prerequisite: Computer Engineering 271 with a grade of C- (1.7) or better.

Embedded system architecture; IO programming using parallel ports, serial ports, timers, and D/A and A/D converters; interrupts and real-time programming; program development and debugging tools; C language and assembler.

COMPE 470. Digital Circuits (3)

Prerequisite: Computer Engineering 270 with a grade of C- (1.7) or better.

Design of digital electronic systems using commercially available high-speed digital devices and circuits.

COMPE 470L. Digital Logic Laboratory (1)

Prerequisite: Computer Engineering 470 and Electrical Engineering 330L.

Hands-on experience in characterization and application of standard digital integrated circuit devices.

COMPE 475. Microprocessors (3)

Prerequisite: Computer Engineering 375 with a grade of C- (1.7) or better. Computer Engineering 470.

Bus design, memory design, interrupt structure, and input/output for microprocessor-based systems.

COMPE 496A. Senior Design Project (2)

Prerequisite: Credit in Computer Engineering 375, 361, Electrical Engineering 330L, concurrent registration or credit in Computer Engineering 470.

Supervised design experience at the individual level, along with exposure to ethics and professionalism; use of test instruments, fabrication tools, printed circuit boards and data sheets.

COMPE 496B. Senior Design Project (2)

Prerequisite: Senior Design A.

Supervised design experience as member of a multidisciplinary team; preparation of an engineering design proposal with clear statements of specifications, criteria and deliverables; delivering technical information through reports and oral presenations.

COMPE 499. Special Study (1-3)

Prerequisite: Approval of project adviser and department chair.

Individual study. Maximum credit six units.

Upper Division Courses (Also Acceptable for Advance Degrees)

COMPE 560. Computer and Data Networks (3)

Prerequisite: Computer Engineering 271 and Electrical Engineering 410 with a grade of C- (1.7) or better in each course.

Wide area and local area networks, multi-layered protocols, telephone systems, modems, and network applications.

COMPE 561. Windows Database and Web Programming (3) Prerequisite: Computer Engineering 361 with a grade of C- (1.7) or better.

Programming applications involving file systems, relational databases, Structured Query Language (SQL), ADO.NET, clientserver architecture, multithreading sockets, web servers, web browsers, web services, ASP.NET, Hypertext Markup Language (HTML), and Extensible Markup Language (XML).

COMPE 565. Multimedia Communication Systems (3)

Prerequisite: Credit or concurrent registration in Computer Engineering 560.

Design and implementation of multimedia communication systems. Image compression, JPEG, VQ, cell- B standards. Video and audio compression standards, MPEG, MPEG-2, H.26X, G.72X. Data storage systems and multimedia requirements. Networking requirements and networks as multimedia carriers. Transport and network protocols for carrying multimedia over data networks. Multimedia system design, scheduling, congestion control, traffic shaping, buffer management.

COMPE 571. Embedded Operating Systems (3) Prerequisite: Computer Engineering 260 with a grade of C- (1.7) or better. Computer Engineering 375.

Real-time kernel, basic kernel services, threading and synchronization, preemptive multithreading, mutexes, spin locks, critical sections, priority scheduling, interrupts, RTOS implementation, memory management, task management, intertask communications.

COMPE 572. VLSI Circuit Design (3) Prerequisite: Computer Engineering 271 with a grade of C- (1.7) or better. Electrical Engineering 330.

Design of digital integrated circuits based on CMOS technology; characterization of field effect transistors, transistor level design and simulation of logic gates and subsystems; chip layout, design rules, introduction to processing; ALU architecture.

COMPE 596. Machine Learning for Engineering (3) Prerequisite: Computer Engineering 260 and Mathematics 254.

Bayesian estimation, clustering, decision trees, dimension reduction, linear regression, logistic regression, neural networks, point estimation, and probability theory.