Computer Engineering

College of Engineering and Computer Science

Program Description

Computer Engineering is one of the newest areas of engineering, a dynamic field that thrives on innovation and challenges. Business, industry, and home applications create the need for products that often can be used both for work as well as for entertainment. In the high technology areas of the United States, Sacramento included, Computer Engineering has experienced tremendous growth, becoming one of the major driving forces behind the rapidly advancing electronics and computer industry. Employment projections consistently predict that computer engineering and computer science will continue to experience more than a doubling of growth in a ten-year period.

Nationally, nearly all engineering universities offer a degree in Computer Engineering. Being close in course content to Electrical Engineering and to Computer Science, these degrees are found in various departmental and program configurations. At Sacramento State, Computer Engineering enjoys the advantage of both areas since it is a program jointly supported by the Electrical and Electronic Engineering Department and the Computer Science Department.

Lower division preparation in Computer Engineering parallels that of Computer Science, with the addition of a basic electrical circuit course and a logic design course. Except for the logic design course, most community colleges offer sufficient lower division courses in mathematics, chemistry, physics, and most importantly, computer science.

Degree Programs

BS in Computer Engineering

MS in Computer Engineering

Accreditation

In addition to California State University, Sacramento's full accreditation by the Western Association of Schools and Colleges, the Bachelor of Science in Computer Engineering is also individually accredited by ABET, Inc.

Notice to Students RE: Professional Licensure and Certification

California State University programs for professions that require licensure or certification are intended to prepare the student for California licensure and certification requirements. Admission into programs for professions that require licensure and certification does not guarantee that students will obtain a license or certificate. Licensure and certification requirements are set by agencies that are not controlled by or affiliated with the California State University and licensure and certification requirements can change at any time.

The California State University has not determined whether its programs meet other states’ educational or professional requirements for licensure and certification. Students planning to pursue licensure or certification in other states are responsible for determining whether, if they complete a California State University program, they will meet their state’s requirements for licensure or certification. This disclosure is made pursuant to 34 CFR §668.43(a)(5)(v)(C).

Special Features

  • Due to numerous generous donations from supportive industries, the computer engineering labs are well equipped with servers and workstations, and with software development tools for VLSI application-specific integrated circuits. Industries donate large electronic devices (FPGAs, CPUs) to each student in computer engineering laboratories.
  • The Sacramento State Computer Engineering BS degree is accredited by the Engineering Accreditation Commission (EAC) of ABET, www.abet.org. Computer Engineering faculty value accreditation very highly.
  • A mechanism of maintaining currency in technology, curriculum review, and outcomes assessment is in place to assure the university and graduates of the continued growth and high quality of the program.

Program Educational Objectives

The Computer Engineering Program’s specific educational objectives are to educate graduates that possess:

  1. Core Knowledge: Our graduates will have careers in computer engineering, or be engaged in a related career path.
  2. Application of Knowledge: Our graduates will apply their knowledge and skills to solve practical engineering problems.
  3. Lifelong Learning: Our graduates will continue to develop their skills and seek knowledge after graduation in order to adapt to advancing technology and the needs of society. This may be indicated by the graduate’s pursuit of an advanced degree or other formal instruction, and/or that the graduate has developed a professional specialty.
  4. Professionalism: Our graduates will have the necessary professional skills, such as high ethical standards, effective oral and written communications, and teamwork, to be productive engineers and to advance in their careers.

Career Possibilities

Computer Engineer · Computer Architect · ASIC Designer · Chip Architect · VLSI Engineer · Real Time System Design Engineer · Design Engineer · Hardware Engineer · Software Engineer · Systems Engineer · Applications Engineer · Networking Engineer · Control Engineer · Marketing Engineer · Data Communications Engineer · Project Engineer · Research Engineer · Consulting Engineer · Test Engineer · Production Engineer · Telecommunications Engineer · Solid State Engineer · DSP Engineer

Contact Information

Xiaoyan "Sherry" Sun, Program Coordinator
Email the Computer Engineering Program Coordinator or (916) 278-6139
Jessica Bush, Administrative Support Coordinator
Riverside Hall 3018
(916) 278-6873
Computer Engineering Program Website

Faculty

DAHLQUIST, DENNIS

ELTAYEB, MOHAMMED (Spring Semesters)

GHANSAH, ISAAC

HEEDLEY, PERRY

MEDURI, PRAVEEN

OUYANG, JINSONG

SHOBAKI, GHASSAN

SUN, XIAOYAN

TATRO, RUSS

VADHVA, SURESH

WANG, XUYU

How to Read Course Descriptions

CPE 64.     Introduction to Logic Design. 4 Units

Prerequisite(s): CSC 15 or CSC 25 or ENGR 50.

General Education Area/Graduation Requirement: Understanding Personal Development (E)

Term Typically Offered: Fall, Spring, Summer

Covers the following topics: logic gates, binary number system, conversion between number systems, Boolean algebra, Karnaugh maps, combinational logic, digital logic design, flip-flops, programmable logic devices (PLDs), counters, registers, memories, state machines, designing combinational logic and state machines into PLDs, and basic computer architecture. Lab emphasizes the use of software equation entry design tools, the use of a schematic entry, and the use of a logic simulation design tool. Lab assignments are design-oriented. Lecture three hours; laboratory three hours.

Cross listed: EEE 64

CPE 64P.     Peer-Assisted Learning CPE 64. 1 Unit

Corequisite(s): CPE 64

Term Typically Offered: Fall, Spring

Students concurrently enrolled in CPE 64 work through faculty-designed problems sets under the guidance of a trained student facilitator to improve their understanding of CPE 64 content. Pedagogical strategies that encourage active, engaged learning are employed to facilitate student success.

Credit/No Credit

CPE 64W.     Introduction to Logic Design Workshop. 1 Unit

Corequisite(s): CPE 64.

Term Typically Offered: Fall, Spring

Designated to assist students in developing a more thorough understanding of logic simulation and logic design. Focus is on problem solving and design. Activity two hours.

Cross Listed: EEE 64W; only one may be counted for credit.

Credit/No Credit

CPE 138.     Computer Networking Fundamentals. 3 Units

Prerequisite(s): CSC 35, CSC 60, CSC 130. Not currently enrolled in CSC/CPE 138.

Term Typically Offered: Fall, Spring

Overview, structure, models, concepts, principles and protocols of computer networking. Network architecture, ISO/OSI reference model, TCP/IP protocol stack, layering. Protocol, encapsulation, socket. HTTP, FTP, SMTP, DNS, P2P, TCP, UDP. Multiplexing and demultiplexing, reliable data transfer, flow control, congestion control. Internet addressing, routing, forwarding, IP, ICMP. Error detection and correction, multiple access problem, LAN vs WAN, Ethernet, ARP, switching. Wireless standards. Network security, threats and attacks, defense and countermeasures.

Cross Listed: CSC 138; only one may be counted for credit.

CPE 142.     Advanced Computer Organization. 3 Units

Prerequisite(s): CSC 137 or CPE 166 and CPE 185.

Term Typically Offered: Fall, Spring

Design and performance issues of computers. Instruction set architecture, computer arithmetic, processor design, survey of contemporary architectures, interfacing I/O devices, hierarchal memory design and analysis, parallelism and multiprocessing, distributed systems, techniques for enhancing performance, and an introduction to EDA tools for design and verification of computers. Design and simulation of a microcomputer in an HDL.

Note: Open to students with full CSC or CPE major standing only. Cross Listed: CPE 142; only one may be counted for credit.

CPE 144.     Dsp Architecture Design. 3 Units

Prerequisite(s): CPE 142.

Term Typically Offered: Fall, Spring

Fundamental principles of Digital Signal Processing (DSP): sampling theory, aliasing effects, frequency response, Finite Impulse Response filters, Infinite Impulse Response filters, spectrum analysis, Z transforms, Discrete Fourier Transform, and Fast Fourier Transform. Emphasis on hardware design to achieve high-speed real and complex multiplications and additions. Pipelining, Harvard, and modified Harvard architectures are included. Concludes with architectural overviews of modern DSP applications: modems, speech processing, audio and video compression and expansion, and cellular.

CPE 151.     CMOS and Digital VLSI Design. 3 Units

Prerequisite(s): CPE 64 and EEE 108.

Term Typically Offered: Fall, Spring

Introduction to CMOS logic gates and the design of CMOS combinational and sequential functions at the gate level, including CMOS memory. CMOS transistor theory is covered including: DC equations, threshold voltage, body effect, subthreshold region, channel length modulation, tunneling, and punch through. A basic exposure to VLSI includes: CMOS processing technology, layout, and CMOS logic design including power, delay and timing considerations. Students will use industry standard Computer Aided Design tools to verify designs and layouts.

CPE 153.     Vlsi Design. 3 Units

Prerequisite(s): CPE 151.

Term Typically Offered: Fall, Spring

Review basic CMOS VLSI technology, circuit characterization and performance estimation, and provides detailed information on synthesis, placing and routing, clocking strategies, quality and reliability, and I/O structures. Design examples, design techniques, and testing techniques will be presented via current EDA design tools. Students assigned one project from concept design through validation.

CPE 159.     Operating System Pragmatics. 3 Units

Prerequisite(s): CSC 139.

Term Typically Offered: Fall, Spring

Application of operating system principles to the design and implementation of a multi-tasking operating system. Students will write an operating system for a computer system. Topics include scheduling of processes, control and allocation of computer resources and user interfacing.

Cross Listed: CSC 159; only one may be counted for credit.

CPE 166.     Advanced Logic Design. 4 Units

Prerequisite(s): CPE 64, ENGR 17.

Term Typically Offered: Fall, Spring

VHDL and Verilog Hardware Description Languages are studied and used on the following advanced level logic design topics: synchronous state machines, asynchronous state machines, metastability, hazards, races, testability, boundary scan, scan chains, and built-in self-tests. Commercial Electronic Design Automation (EDA) toolsets are used to synthesize lab projects containing a hierarchy of modules into Field Programmable Gate Arrays (FPGAs). Post synthesis simulations by these same tools verify the design before implementation on rapid prototyping boards in the lab.

CPE 185.     Computer Interfacing. 4 Units

Prerequisite(s): CPE 64, CSC 35 and CSC 60.

Term Typically Offered: Fall, Spring

Design of microcomputer systems including memory systems, parallel and serial input/output, timer modules, and interrupt structures; designing "C" language code, in laboratory, to exercise interface modules of parallel and serial input/output, timer modules, and interrupts; extensive study of interrupt handlers, assemblers, linkers, and loaders. Practical features of interfaces, handshaking techniques, displays, keypads, and trackballs are included.

CPE 186.     Computer Hardware System Design. 3 Units

Prerequisite(s): CPE 185 or EEE 174.

Term Typically Offered: Fall, Spring

Study of Intel and Motorola architectures, bus structures, interrupts, memory interface and controllers, bus arbitration, DMA controllers, I/O interface, bridges and microcontroller. Electromagnetic compatibility and regulations, cabling and shielding, grounding, digital circuit noise and layout.

CPE 187.     Embedded Systems Design. 3 Units

Prerequisite(s): CPE 185 or EEE 174.

Term Typically Offered: Fall, Spring

Introduction to embedded systems with applied projects. The ISA, memory map, register architecture and configuration for one processor are studied in depth. Topics include: Overview of embedded systems; hardware, firmware, and software design; interrupt programming; application of contemporary interfacing protocols like USB and Bluetooth; use of an integrated development environment (IDE) for development; functional debugging; Real Time Operating Systems (RTOS) considerations and scheduling. One two hour lecture and one three hour lab per week.

CPE 190.     Senior Design Project I. 2 Units

Prerequisite(s): CPE 166, CPE 187, EEE 108

Corequisite(s): CPE 142

Term Typically Offered: Fall, Spring

Centers on developing hardware and software project planning and engineering design skills. Emphasis is placed on design philosophies, problem definition, project planning and budgeting, written and oral communication skills, working with others in a team arrangement, development of specifications and effective utilization of available resources. Lecture one hour per week, laboratory three hours per week.

CPE 191.     Senior Design Project II. 2 Units

Prerequisite(s): CPE 190, and (GWAR Certification before Fall 09, or WPJ score of 70+, or at least a C- in ENGL 109M or ENGL 109W).

Term Typically Offered: Fall, Spring

Continuation of CPE 190. Students are expected to continue the project started by design teams in CPE 190. The hardware will be completed, tested and redesigned if necessary. At the same time, software for the project will be finished and debugged. The final results of the team project will be presented to the CPE faculty and students at a prearranged seminar. Lecture one hour, laboratory three hours.

CPE 195.     Fieldwork in Computer Engineering. 1 - 15 Units

Prerequisite(s): Petition approval by Program Coordinator.

Term Typically Offered: Fall, Spring

Directed observations and work experience in computer engineering with firms in the industry or public agencies. Supervision is provided by the instructional staff and the cooperating agencies. Faculty approval required.

Note: May be repeated for credit.

Credit/No Credit

CPE 195A.     Professional Practice. 1 - 12 Units

Prerequisite(s): Instructor permission.

Term Typically Offered: Fall, Spring

Supervised employment in a professional engineering or computer science environment. Placement arranged through the College of Engineering and Computer Science. Requires satisfactory completion of the work assignment and a written report.

Credit/No Credit

CPE 195B.     Professional Practice. 1 - 12 Units

Prerequisite(s): Instructor permission.

Term Typically Offered: Fall, Spring

Supervised employment in a professional engineering or computer science environment. Placement arranged through the College of Engineering and Computer Science. Requires satisfactory completion of the work assignment and a written report.

Credit/No Credit

CPE 195C.     Professional Practice. 1 - 12 Units

Prerequisite(s): Instructor permission.

Term Typically Offered: Fall, Spring

Supervised employment in a professional engineering or computer science environment. Placement arranged through the College of Engineering and Computer Science. Requires satisfactory completion of the work assignment and a written report.

Credit/No Credit

CPE 199.     Special Problems. 1 - 3 Units

Prerequisite(s): Instructor permission.

Term Typically Offered: Fall, Spring

Individual projects or directed reading.

Note: Open only to those students who appear competent to carry on individual work. Admission to this course requires approval of the faculty member under whom the individual work is to be conducted, in addition to the approval of the advisor. May be repeated for credit.

CPE 201.     Research Methodology. 2 Units

Prerequisite(s): Graduate standing or instructor permission.

Term Typically Offered: Fall, Summer

Immersion in the discourse of Computer Engineering: genres, literacies, stylistic conventions, research methodology. Collective and individual study of selected issues and problems relating to fields of study in the Computer Engineering. Orientation to the requirements for the master's degree culminating experience.

Note: Must be taken in the first semester of the graduate program.

Credit/No Credit

CPE 273.     Hierarchical Digital Design Methodology. 3 Units

Prerequisite(s): CSC 205, EEE 285 or their equivalents.

Term Typically Offered: Fall, Spring

Advanced logic modeling, simulation, and synthesis techniques. Topics include modeling, simulation, and synthesis techniques, using Hardware Description Language (HDL's), Register Transfer Level (RTL) representation, high level functional partitioning, functional verification and testing, computer-aided logic synthesis, logical verification and testing, timing and delay analysis, automated place and route process', and design with Application Specific Integrated Circuits (ASICs) and programmable logic.

CPE 274.     Advanced Timing Analysis. 3 Units

Prerequisite(s): EEE 273, CSC 273, CPE 273 or instructor permission.

Term Typically Offered: Fall, Spring

Timing analysis of Application Specific Integrated Circuit (ASIC) designs: Topics include ASIC design methodology, static timing analysis, timing design constraints, design reports, clock timing issues, timing exceptions, operating conditions, hierarchical analysis, analyzing designs with asynchronous logic, performance measurement and power issues.

Cross-listed: EEE 274; only one may be counted for credit.

CPE 280.     Advanced Computer Architecture. 3 Units

Prerequisite(s): CSC 205, fully classified graduate status.

Term Typically Offered: Fall, Spring

Introduction to parallel architecture covering computer classification schemes, fine and course grain parallelism, processor interconnections, and performance issues of multiprocessor systems. Includes parallel and pipelined instruction execution, structure of multiprocessor systems, memory hierarchy and coherency in shared memory systems, programming issues of multiprocessor systems, arithmetic pipeline design, and design for testability.

CPE 296T.     Digital Speech Processing. 3 Units

Prerequisite(s): EEE 181 or instructor permission.

Term Typically Offered: Fall, Spring

The objective of this course is to cover the digital processing of speech signals. Topics include speech production and perception, speech processing in the time frequency domains. Short-time energy and Short-time Fourier analysis, homomorphic and linear predictive coding methods. Also covered are speech coding, basic introduction of text-to-speech synthesis and speech recognition.

Cross listed: EEE 296T.

CPE 299.     Special Problems. 1 - 3 Units

Prerequisite(s): Instructor permission.

Term Typically Offered: Fall, Spring

Open to qualified students who wish to pursue problems of their own choice. Projects must have approval and supervision of a faculty advisor.

CPE 500.     Culminating Experience. 5 Units

Prerequisite(s): Advanced to candidacy and graduate coordinator's permission.

Term Typically Offered: Fall, Spring

Completion of a thesis or project approved for the master's degree.

Note: May be repeated for credit.