California State University, Fullerton

Computer Engineering

Susamma Barua

Engineering 100G


Bachelor of Science in Computer

Susamma Barua, Bin Cong, Kiranraj George, Mohinder Grewal, Jesus
Tuazon, and Raman Unnikrishnan

The undergraduate program in Computer Engineering at CSUF provides students with a strong theoretical and practical background in the computer hardware and software aspects of computer-based systems, along with the engineering analysis, design and implementation skills necessary to work between the two. The curriculum is based on an engineering philosophy, with emphasis on hardware more than software. Topics integrated into the curriculum include digital systems, computer organization and architecture, processor interfacing techniques, VHDL design, advanced electronics and embedded system design. Elective courses required by the program allow students to specialize in key engineering technology and computer science areas. The program also requires two semesters of multidisciplinary senior design project. The computer engineering program is designed to develop an ability to apply design and analysis knowledge to the practice of computer engineering in an effective and professional manner.

The proliferation of embedded systems in an increasing array of industrial products assures a ready market for graduates in the computer engineering discipline. Computer engineers are employed in a wide range of industries, including VLSI chip design and manufacturing, autonomous systems, consumer electronics, expert systems, smart devices, digital signal processing (DSP) systems, computer manufacturing from PDAs to super computers, and automatic controls. A majority of products, such as airplanes, automobiles, home appliances, consumer electronics, robots etc., use computers and employ computer engineers in their designs. Computer engineers are also needed in the design and implementation of computer networks for business, industrial and governmental institutions.

Back to Top

The undergraduate program in Computer Engineering is committed to providing students with a strong theoretical and practical understanding in the hardware and software aspects of computer-based systems, along with the engineering analysis, design and implementation skills necessary to solve problems using computer engineering principles and techniques. The program prepares students for productive, dynamic and rewarding careers in computer engineering and for entry into graduate programs.

The Computer Engineering program has established the following Program Educational Objectives:

  1. Technical Growth: Graduates will be successful in modern engineering practice, integrate into the local and global workforce, and contribute to the economy of California and the nation
  2. Professional Skills: Graduates will continue to demonstrate the professional skills necessary to be competent employees, assume leadership roles, and enjoy career success and satisfaction
  3. Professional Attitude and Citizenship: Graduates will become productive citizens with high ethical and professional standards, make sound engineering or managerial decisions, and have enthusiasm for the profession and professional growth

The learning outcomes for the Computer Engineering program are:

  1. An ability to apply knowledge of mathematics, science and engineering
  2. An ability to design and conduct experiments, as well as to analyze and interpret data
  3. An ability to design a system, component or process, to meet desired needs within realistic constraints, such as economic, environmental, social, political, ethical, health and safety, manufacturability and sustainability
  4. An ability to function on multidisciplinary teams
  5. An ability to identify, formulate and solve computer engineering problems
  6. An understanding of professional and ethical responsibility
  7. An ability to communicate effectively
  8. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental and societal context
  9. A recognition of the need for, and an ability to, engage in, life-long learning
  10. A knowledge of contemporary issues
  11. An ability to use the techniques, skills and modern engineering tools necessary for engineering practice

Back to Top

Entering freshmen should have a preparation that includes two years of algebra, geometry, trigonometry, and one year of physics. Students deficient in mathematics or physics must take special preparatory courses, i.e., Mathematics 125 or Physics 115, which will not carry credit for the degree. (See also the Undergraduate Students Section of the University Catalog for Statewide Placement Tests and requirements.)

The degree program assumes that the student has already obtained a working knowledge of personal computing fundamentals and applications, including word processing, spreadsheets, database systems, e-mail systems, the World Wide Web and presentation graphics. Students without this knowledge may be required to take up to three additional units of coursework beyond those normally required. These additional three units will not carry credit for the degree.

The Bachelor of Science degree in Computer Engineering requires 129 units. These 129 units include 59 units of required courses in computer engineering/computer science/electrical engineering/general engineering, six units of elective courses in computer engineering/computer science/electrical engineering, 34 units of foundation courses in mathematics and science, and 49 units of courses (30 unduplicated units) in General Education.

Courses taken toward the major or toward the requirements in related fields must be taken on a traditional (letter grade) basis, unless the course is offered only on a non-traditional (credit/no credit) basis, or if the course is passed by a challenge examination. Students must maintain at least a 2.0 grade point average in all college-level units attempted, in all units attempted at CSUF and in all units attempted in the major. Mathematics 150A and Math 270A must be completed with at least a “C” (2.0) grade. All other mathematics and physical science courses required for the degree must be completed with at least a “C minus” (1.7) grade to count as prerequisite courses to engineering courses or as credit towards the degree. All core courses in the major must be passed with a “C minus“ (1.7) or better.

Placement Examination
Students with a working knowledge of a high-level programming language such as C++ are encouraged to take the Computer Science placement examination to qualify for a Comp Sci 120 waiver.

Computer Engineering Core (59 units)
Comp Sci 120 Introduction to Programming (3)
Comp Sci 121 Programming Concepts (3)
Comp Sci 131 Data Structures Concepts (3)
Comp Sci 253U Workshop in UNIX (1)
Comp Sci 332 File Structures and Database Systems (3)
Comp Sci 351 Operating Systems Concepts (3)
Comp Sci 471 Computer Communications (3)
EGCP 180 Digital Logic and Computer Structures (3)
EGCP/EGEE 280 Microcontrollers (3)
EGCP/EGEE 281 Designing with VHDL (2)
EGCP 371 Modeling and Simulation of Signals and Systems (3)
EGCP 381 Computer Design and Organization (4)
EGCP/EGCE/EGEE 401 Engineering Economics and Professionalism (3)
EGCP 441 Advanced Electronics for Computer Engineers (4)
EGCP 450 Embedded Processor Interfacing (4)
EGCP 470 Multidisciplinary Projects in Computer Engineering - I (1)
EGCP 471 Multidisciplinary Projects in Computer Engineering - II (2)
EGEE 203 Electric Circuits (3)
EGEE 203L Electric Circuits Laboratory (1)
EGEE 303 Electronics (3)
EGEE 303L Electronics Laboratory (1)
EGEE 323 Engineering Probability and Statistics (3)

Technical Electives (6 units)
The electives shall constitute a coherent body of study consistent with the student’s professional and educational objectives. Students take six units (nine units if student receives a waiver for CPSC 120) of adviser-approved elective courses. Students may choose the elective courses from a suggested list of courses in computer engineering, computer science and electrical engineering. The electives may also include an adviser-approved free elective.

Wireless Communication
Comp Sci 433 Data Security and Encryption Techniques (3)
EGEE 443 Electronic Communication Systems (3)
EGEE 460 Introduction to Cellular Mobile Communications Systems (3)

Very Large Scale Integration (VLSI) and Optics
EGEE 410 Electro-Optical Systems (3)
EGEE 455 Microelectronics and Nano Devices (3)
EGEE 465 Introduction to VLSI Design (3)
EGEE 480 Optical Engineering and Communications (3)

Microprocessors and Microcomputer Systems
Comp Sci 459 Micro-Computer Software Systems (3)

Control Systems and Systems Engineering
EGEE 416 Feedback Control Systems (3)
EGEE 424 Computer Simulation of Continuous Systems (3)
EGEE 425 Introduction to Systems Engineering (3)

Global Positioning Systems (GPS)
EGEE 483 Introduction to Global Positioning Systems (GPS) (3)
EGEE 483L Global Positioning Systems Laboratory (2)

Software Engineering
Comp Sci 362 Foundations of Software Engineering (3)
Comp Sci 462 Software Design (3)
Comp Sci 463 Software Testing (3)
Comp Sci 464 Software Architecture (3)
Comp Sci 466 Software Process (3)

Database System Design
Comp Sci 431 Database and Applications (3)
Comp Sci 473 Web Programming and Data Management (3)
Comp Sci 474 Distributed Computing using Web Service and .NET Remoting (3)

Multimedia and Digital Game Development
Comp Sci 386 Introduction to Game Design and Production (3)
Comp Sci 484 Principles of Computer Graphics (3)
Comp Sci 486 Game Programming (3)
Comp Sci 487 Advanced Game Programming (3)
Comp Sci 489 Game Development Project (3)

Intelligent Systems
Comp Sci 335 Problem Solving Strategies (3)
Comp Sci 481 Artificial Intelligence (3)
Comp Sci 483 Data Mining and Pattern Recognition (3)
EGEE 430 Fuzzy Logic and Control (3)

Current Topics
EGCP 463 Current Topics in Computer Engineering (3)

Free Elective
Adviser-approved upper division course (3)

Requirements in Related Fields (34 units)
Mathematics Requirement (19 units)
MATH 150A Calculus (4)
MATH 150B Calculus (4)
MATH 250A Multivariate Calculus (4)
MATH 250B Introduction to Linear Algebra and Differential Equations (4)
MATH 270A Mathematical Structures I (3)

Science Requirement (15 units)
Physics 225 Fundamental Physics: Mechanics (3)
Physics 226 Fundamental Physics: Electricity and Magnetism (3)
Physics 227 Fundamental Physics: Waves, Optics, and Modern Physics (3)
Physics 225L, 226L, 227L Fundamental Physics: Laboratory (1, 1, 1)
Biology 101 Elements of Biology (3)

General Education Courses

  1. Core Competencies (9)
    1. Oral Communication (3) Honors 101B, Human Comm 100 or Human Comm 102
    2. Written Communication (3) English 101
    3. Critical Thinking (3) Honors 101A, Human Comm 235, Philosophy 105, 106; Psychology 110 or Reading 290
  2. Historical and Cultural Foundations (9)
    1. Development of World Civilization (3)
      History 110A, 110B, Honors 210A or Honors 210B
    2. American History, Institutions and Values (6)
      1. American History (3) Afro Ethnic 190, American Studies 201, Chicana/o 190, History 180, 190, or Honors 201A
      2. Government (3) Honors 201B or Poli Sci 100
  3. Disciplinary Learning (33)
    1. Mathematics and Natural Sciences (18 units)
      1. Mathematics Mathematics 150A (4) and 270A (3)
      2. Natural Sciences
        1. Physical Science Physics 225, 225L, 226 and 226L
        2. Earth and Astronomical Sciences
          Not applicable for engineering majors
        3. Life Science Biology 101
      3. Implications and Explorations in Mathematics and Natural Sciences
        Not applicable for engineering majors
    2. Arts and Humanities (9)
      1. Introduction to the Arts (3) Art 101, 201A, 201B, 311, 312, Dance 101, Music 100 or Theater 100
      2. Introduction to the Humanities (3) Any lower-division course in this category listed in the current class schedule
      3. Implications, Explorations and Participatory Experience in the Arts and Humanities (3) Any upper-division course in this category listed in the current class schedule
    3. Social Sciences (6)
      1. Introduction to the Social Sciences (3) EGCP/EGCE/EGEE 401
      2. Implications, Explorations and Participatory Experience in the Social Sciences (3) Any upper-division course in this category listed in the current class schedule
  4. Lifelong Learning
    This category is not applicable to computer engineering majors
  5. Cultural Diversity
    Take at least one star (*) course in Sections III.B.3 or III.C.2

Upper-Division Writing Requirement
In addition to the Examination in Writing Proficiency (EWP), completing both of the following courses fulfills the upper-division English writing requirement:
EGCP 441 Advanced Electronics for Computer Engineers (4)
EGCP 471 Multidisciplinary Projects in Computer Engineering – II (2)

Written work for the two courses must meet professional standards. Both courses must be passed with a grade of “C” (2.0) or better to satisfy the writing requirement.

Computer Engineering Courses are designated as EGCP in the class schedule.

EGCP 180    Digital Logic and Computer Structures

Description: Prerequisites: Comp Sci 120 and Math 270A. Binary number system and arithmetic, computer codes, Boolean algebra, logic gates, K-map minimization, sequential circuits, memory devices, state diagram and table, computer architecture, memory, Arithmetic Logic Unit, and control unit. (2 hours lecture, 2 hours laboratory)
Units: (3)

EGCP 280    Microcontrollers

Description: Prerequisite: EGEE 245 or EGCP 180. Microcontrollers, microcontroller programming model and instruction set, assembler directives, writing and debugging microcontroller assembly language routines, microcontroller memory system, microcontroller communication systems. (1 hour lecture, 4 hours laboratory) (Same as EGEE 280)
Units: (3)

EGCP 281    Designing with VHDL

Description: Prerequisites: Comp Sci 120 or 121; and EGEE 245 or EGCP 180. Introduction to various modeling methods, timings, events, propagation delays and concurrency, the language constructs, data representations and formats, and physical attributes. (1 hour lecture, 2 hours laboratory) (Same as EGEE 281)
Units: (2)

EGCP 371    Modeling and Simulation of Signals and Systems

Description: Prerequisites: EGEE 303 and Math 250B. Modeling and simulation of physical systems, mathematical description of systems, transfer functions, poles and zeros, frequency response, continuous and discrete-time convolution, continuous and discrete Fourier transforms, Laplace and Z transforms, Fast Fourier Transforms, simulation using Matlab.
Units: (3)

EGCP 381    Computer Design and Organization

Description: Prerequisites: EGCP 281 and EGEE 303. Computer system, central processing unit (CPU) organization and design, instruction set and addressing modes, microprogrammed control unit design, cache memory, internal memory, virtual memory, input/output interfacing, parallel processors, superscalar processors (2 hours lecture, 4 hours laboratory).
Units: (4)

EGCP 401    Engineering Economics and Professionalism

Description: (Same as EGCE 401/EGEE 401)
Units: (3)

EGCP 441    Advanced Electronics for Computer Engineers

Description: Prerequisites: EGCP 281 and EGEE 303. High speed CMOS, biCMOS, CPLDs, FPGAs, A/D, D/A, transducers and optics; integration of these devices into complete systems. (2 hours lecture, 4 hours laboratory)
Units: (4)

EGCP 450    Embedded Processor Interfacing

Description: Prerequisites: EGCP 280, 381, 441, EGEE 323 and CPSC 351. Techniques of interfacing based on speed, timings, synchronization, noise, cross-talk, hazards and race conditions. Interfacing specifications of the processor data, address and control buses. (2 hours lecture, 4 hours laboratory)
Units: (4)

EGCP 463    Current Topics in Computer Engineering

Description: Prerequisites: junior/senior standing in computer engineering and consent of instructor. Exploration of topics of contemporary interest from the perspective of current research and development in computer engineering. Lectures by guest professionals.
Units: (3)

EGCP 470    Multidisciplinary Projects in Computer Engineering - I

Description: Corequisite: EGCP 450. First course in the two-course senior design sequence. Student teams develop a hardware/software project, from conception through implementation and testing, under an instructor’s supervision. Teams first explore technology issues related to the projects and then prepare complete design proposals. (1 hour lecture)
Units: (1)

EGCP 471    Multidisciplinary Projects in Computer Engineering - II

Description: Prerequisite: EGCP 450 and 470. Second course in the two-course senior design course in which student teams develop a hardware/software project under the supervision of the instructor. Emphasizes development of design skill, based upon previous and current courses and laboratory experience. (4 hours laboratory)
Units: (2)

EGCP 499    Independent Study

Description: Prerequisite: application for independent study approved by the instructor and the Computer Engineering Program Coordinator. Independent study or research under the direction of a full-time faculty member. May be repeated for a maximum of three units of credit.
Units: (1-3)

Back to Top