Bachelor of Science in Computer Engineering
Susamma Barua, Bin Cong, 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 both the computer hardware and the 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. The topics integrated into the curriculum include digital systems, computer organization and architecture, processor interfacing techniques, VHDL design, advanced electronics and embedded system design. The 12 units of 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.
The Computer Engineering program at CSUF meets current accreditation requirements of the Accreditation Board for Engineering and Technology (ABET).
COMPUTER ENGINEERING PROGRAM MISSION STATEMENT
The undergraduate program in Computer Engineering is committed to providing students with a strong theoretical and practical understanding in both 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.
PROGRAM EDUCATIONAL OBJECTIVES
The Computer Engineering program has established the following educational objectives:
- To provide students with a strong theoretical and practical background in computer hardware and the software aspects of computer-based systems, along with the engineering analysis, design, and implementation skills necessary to work between the two.
- To develop in our students an ability to apply design and analysis knowledge to the practice of computer engineering in an effective and professional manner.
- To prepare students for the modern engineering work environment by developing skills for effective communication and an ability to function successfully on interdisciplinary teams.
- To impart in students an understanding of the need for and an ability to engage in life-long learning.
- To instill in our students an understanding of their professional, social, and ethical responsibilities.
The learning outcomes for the Computer Engineering program are:
- An ability to apply knowledge of mathematics, science, and engineering to the analysis of computer engineering problems.
- An ability to design and conduct scientific and engineering experiments, as well as to analyze and interpret data.
- An ability to design a digital hardware system (including computers, communication systems, and embedded systems), component, or process to meet design requirements.
- An ability to function as a member of a multidisciplinary team.
- An ability to identify, formulate, and solve computer engineering problems.
- An understanding of professional and ethical responsibilities of computer engineers.
- An ability to communicate effectively through written reports and oral presentations.
- A broad education necessary to understand the impact of engineering solutions in a global and societal context.
- A recognition of the need for and an ability to engage in life-long learning.
- A knowledge of contemporary technical issues.
- An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
BACHELOR OF SCIENCE IN COMPUTER ENGINEERING
Entering freshmen should have a preparation which 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 course work beyond those normally required. These additional three units will not carry credit for the degree.
129 units are required for the Bachelor of Science degree in Computer Engineering. These 129 units include 59 units of required courses in computer engineering/computer science/electrical engineering/general engineering, 6 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. All 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.
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 280 Microcontrollers (3)
EGCP 281 Designing with VHDL (2)
EGCP 371 Modeling and Simulation of Signals and Systems (3)
EGCP 381 Computer Design and Organization (4)
EGCP 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 6 units (9 units if student receives a waiver for CPSC 120) of advisor 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 advisor approved free elective.
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 Solid State Electronics (3)
EGEE 465 Introduction to VLSI Design (3)
EGEE 480 Engineering Optics (3)
Microprocessors and Microcomputer Systems
Comp Sci 459 Micro-Computer Software Systems (3)
EGEE 405 Firmware Engineering (3)
EGEE 414 Introduction to Parallel Processing (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 (3)
EGEE 483L Global Positioning Systems Laboratory (2)
Comp Sci 362 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 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)
EGCP 463 Current Topics in Computer Engineering (3)
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
I. Core Competencies (9)
A. Oral Communication (3)
Honors 101B, Human Comm 100, or Human Comm 102
B. Written Communication (3)
C. Critical Thinking (3)
Honors 101A; Human Comm 235; Philosophy 105, 106;
Psychology 110; or Reading 290
II. Historical and Cultural Foundations (9)
A. Development of World Civilization (3)
History 110A, 110B, Honors 210A, or Honors 210B
B. 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
III. Disciplinary Learning (33)
A. Mathematics and Natural Sciences (18 units)
Mathematics 150A (4) and 270A (3)
2. Natural Sciences
a. Physical Science
Physics 225, 225L, 226 and 226L
b. Earth and Astronomical Sciences
Not applicable for engineering majors
c. Life Science
3. Implications and Explorations in Mathematics and Natural Sciences
Not applicable for engineering majors
B. Arts and Humanities (9)
1. Introduction to the Arts (3)
Art 101, 201A, 201B, 311, 312, Dance 101, Music 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 in the current class schedule
C. Social Sciences (6)
1. Introduction to the Social Sciences (3)
2. Implications, Explorations and Participatory Experience in the Social Sciences (3)
Any upper-division course in this category listed in the current class schedule
IV. Lifelong Learning
This category is not applicable to engineering majors
V. Cultural Diversity
Take at least one star (*) course in Sections III.B.3 or III.C.2
Upper-Division Writing Requirement (0 additional units)
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 the courses must be passed with a grade of “C” (2.0) or better to satisfy the writing requirement.
COMPUTER ENGINEERING COURSES
Computer Engineering Courses are designated as EGCP in the class schedule.
|EGCP 180 Digital Logic and Computer Structures|
|Description: Prerequisite: 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)|
|EGCP 280 Microcontrollers|
|Description: Prerequisite: 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)|
|EGCP 281 Designing with VHDL|
|Description: Prerequisites: Comp Sci 121 and 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)|
|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.|
|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).|
|EGCP 401 Engineering Economics and Professionalism|
|Description: (Same as EGCP 401/EGEE 401)|
|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)|
|EGCP 450 Embedded Processor Interfacing|
|Description: Prerequisites: EGEE 323, EGCP 381 and 441, and Comp Sc 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)|
|EGCP 463 Current Topics in Computer Engineering|
|Description: Prerequisites: Junior/Senior standing in computer engineering and consent of the instructor. Exploration of topics of contemporary interest from the perspective of current research and development in computer engineering. Lectures by guest professionals.|
|EGCP 470 Multidisciplinary Projects in Computer Engineering - I|
|Description: Corequisite: EGCP 450. First course in the two-course senior design sequence. Students in teams will do 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)|
|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 students in teams of two or more will do a hardware/software project under the supervision of the instructor. The development of design skill, based upon previous and current courses and laboratory experience, is emphasized. (4 hours laboratory) |