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.

Licensure and Credentialing Disclosure

Admission into programs leading to licensure and credentialing does not guarantee that students will obtain a license or credential. Licensure and credentialing requirements are set by agencies that are not controlled by or affiliated with the CSU and requirements can change at any time. For example, licensure or credentialing requirements can include evidence of the right to work in the United States (e.g., social security number or tax payer identification number) or successfully passing a criminal background check. Students are responsible for determining whether they can meet licensure or credentialing requirements. The CSU will not refund tuition, fees, or any associated costs, to students who determine subsequent to admission that they cannot meet licensure or credentialing requirements. Information concerning licensure and credentialing requirements are available from the Dean of Undergraduate Studies, Sacramento Hall 234, (916) 278-5344.

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 objectives of this program are to prepare graduates to:

  • enter professional employment and/or graduate study in computer engineering areas, such as logic design, computer architecture, processor hardware, and computer systems;
  • identify, analyze, and solve practical computer engineering problems using both hardware and software design tools and techniques;
  • work cooperatively and communicate effectively through speaking, writing, and graphics, with peers, with multi-disciplinary teams, and with the general public;
  • practice computer engineering in a professionally responsible and ethical manner; and
  • anticipate changes in one's own career with respect to changing technology and shifting societal needs for the application of computer engineering.

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

Nikrouz Faroughi, Program Coordinator
Email the Computer Engineering Program Coordinator or (916) 278-6139
Suzanne Abshire, Administrative Support Coordinator
Riverside Hall 3018
(916) 278-6844
Computer Engineering Program Website

Faculty

ARAD, BEHNAM

DAHLQUIST, DENNIS

FAROUGHI, NIKROUZ

GHANSAH, ISAAC

HEEDLEY, PERRY

PANG, JING

VADHVA, SURESH

How to Read Course Descriptions

CPE 64.     Introduction to Logic Design. 4 Units

Prerequisite(s): CSC 15 or CSC 25.

Term Typically Offered: Fall, Spring

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; only one may be counted for 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 Networks and Internets. 3 Units

Prerequisite(s): CSC 35, CSC 60, CSC 130.

Term Typically Offered: Fall, Spring

Overview of the fundamentals of computer networks and connections between networks, from the physical layer up through peer-to-peer communications at the application level. Lower layer characteristics including serial vs. parallel, capacity issues, high-speed connections, LAN framing and error handling. LAN vs. WAN characteristics, network architecture and the ISO network model. Internetworking components including LANs, repeaters, routers, bridges, and gateways. Internet addresses, TCP/IP, and the Domain Name System. Common Internet client/server application protocols including SMTP and FTP. Client/Server programming involving sockets. World Wide Web characteristics including CGI and HTTP protocol, Web pages, Web browsers, Web servers, and Applets. Introduction to advanced Web issues such as Web security, Search engine operations, and Web database operations.

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 Vlsi. 3 Units

Prerequisite(s): CPE 64 and EEE 108.

Term Typically Offered: Fall, Spring

Begins with an introduction to CMOS gates and design of CMOS combinational and sequential functions at the gate level, including CMOS memory. The theory of MOS transistors is covered including: DC equations, threshold voltage, body effect, subthreshold region, channel length modulation, tunneling, punch through, basic CMOS invertor, and the CMOS transmission gate. A basic exposure to VLSI includes the following topics: CMOS processing technology, CMOS layout, CMOS circuit design and CMOS logic design. Simulations on SPICE and basic VLSI layouts using LEDIT will be included.

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 Processor System Design. 2 Units

Prerequisite(s): CPE 166, CPE 185, EEE 102, 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

Students will design, construct and test an embedded processor system project. All address decoding, control functions, input and output ports, handshaking signals and interrupt control will be implemented in an FPGA. The system will interface to a microcontroller system. Students will use an assembler, a C compiler and either VHDL or Verilog to fully test their project. Laboratory techniques include oscilloscopes, logic analyzers, protocol analyzers and programmers for EPROMs, FLASH and microcontrollers. One lecture per week and one three-hour laboratory per week.

CPE 190.     Senior Design Project I. 2 Units

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

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. 1 Unit

Prerequisite(s): Fully classified graduate status.

Term Typically Offered: Fall, Spring

Research methodology, problem formulation and problem solving. Collective and individual study of selective issues and problems relating to fields of study in the Computer Engineering Graduate Program. Orientation to the requirements for Master's Thesis or Project in Computer Engineering.

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. 1 - 3 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.