The Bachelor of Science in Computer Engineering
The computer engineering program at CSU, Chico bridges the curriculum gap between electrical/electronic engineering and computer science. The program is designed to provide a broad background in both the theory and practice of computer hardware and software design and their integration into usable digital systems. The curriculum includes courses in logic design, microprocessor system design, programming, algorithms, data structures, computer architecture, embedded system design and implementation, microelectronic circuits, and computer networking.
The Computer Engineering program is accredited by the Engineering Accreditation Commission (EAC) of the Accreditation Board for Engineering and Technology (ABET), 111 Market Place, Suite 1050, Baltimore, MD 21202-4012, telephone (410) 347-7700.
Computer Engineering Program Mission
The Electrical and Computer Engineering Department educates each student to be a responsible and productive computer engineer who can effectively respond to future challenges.
Computer Engineering Program Objective
The objective of the Computer Engineering Program is to produce graduates able to:
- apply knowledge of mathematics, science, and engineering to identify, formulate, and solve computer engineering problems,
- use industry standard tools to analyze, design, develop, and test computer-based systems containing both hardware and software components,
- achieve success in graduate programs in computer engineering, electrical engineering, or computer science,
- continue to develop their knowledge and skills after graduation in order to succeed personally and professionally,
- communicate their thoughts, in both written and oral forms, so that others can comprehend and build on their work,
- work effectively as a member of a multi-disciplinary development team and undertake leadership roles when appropriate,
- appreciate the importance of ethics in the profession and the need to act in society's best interest, and
- become active participants in professional societies and a contributor to the community.
Computer Engineering Student Outcomes
Computer Engineering program graduates should have:
- an ability to apply knowledge of mathematics, science, and engineering.
- an ability to design and conduct experiments, as well as to analyze and interpret data.
- 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.
- an ability to function on multidisciplinary teams.
- an ability to identify, formulate, and solve engineering problems.
- an understanding of professional and ethical responsibility.
- an ability to communicate effectively in both oral and written forms.
- the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
- a recognition of the need for, and an ability to engage in life-long learning.
- a knowledge of contemporary issues.
- an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
Computer Engineering Design Experience
Design is a fundamental aspect of the computer engineering curriculum and it is integrated into the curriculum beginning in the freshman year where students are introduced to both hardware and software design. As students expand their knowledge and analysis skills through the sophomore and junior years, the design problems they are assigned increase in complexity. Design problems are assigned in electronics, digital and microprocessor systems, embedded systems, and software systems.
The design experience culminates in the senior year when all students are required to identify a design project, create testable requirements for the project, design the project, and construct the project to prove the design works. Projects chosen by students often include elements of both hardware and software design. Descriptions of the recent student capstone projects can be found on the department's web site: http://www.csuchico.edu/eece/index.shtml.
Total Course Requirements for the Bachelor's Degree: 126 units
See Bachelor's Degree Requirements in the University Catalog for complete details on general degree requirements. A minimum of 40 units, including those required for the major, must be upper division.
A suggested Major Academic Plan (MAP) has been prepared to help students meet all graduation requirements within four years. You can view MAPs on the Degree MAPs page in the University Catalog or you can request a plan from your major advisor.
General Education Pathway Requirements: 48 units
This major has approved GE modification(s). See below for information on how to apply these modification(s).
- Critical Thinking (A3) is waived.
- MATH 120 is an approved advanced course substitution for Quantitative Reasoning (A4)
- CHEM 111 & PHYS 204A are approved advanced course substitutions for Physical Sciences (B1).
- PHYS 204B meets Life Sciences (B2).
- Take only one course in either Arts (C1) or Humanities (C2). Selecting a Writing Intensive (WI) course is strongly encouraged.
- EECE 490B is an approved major course substitution for either Individual and Society (D1) or Societal Institutions (D2)
- EECE 490A is an approved major course substitution for Learning for Life (E).
- EECE 311 is an approved major course substitution for Upper-Division Natural Sciences.
- EECE 490A is also an approved GE Capstone substitution.
Diversity Course Requirements: 6 units
See Mathematics and Writing Requirements in the University Catalog. Writing proficiency in the major is a graduation requirement and may be demonstrated through satisfactory completion of a course in your major which has been designated as the Writing Proficiency (WP) course for the semester in which you take the course. Students who earn below a C- are required to repeat the course and earn a C- or higher to receive WP credit. See the Class Schedule for the designated WP courses for each semester. You must complete the GE Written Communication (A2) requirement before you may register for a WP course.
Course Requirements for the Major: 102 units
Completion of the following courses, or their approved transfer equivalents, is required of all candidates for this degree.
Enrollment in any mathematics course requires a grade of C- or higher in all prerequisite courses or their transfer equivalents.
Lower-Division Requirements: 46 units
12 courses required:
|SUBJ NUM||Title||Sustainable||Units||Semester Offered||Course Flags|
|CHEM 111||General Chemistry||4.0||FS||GE|
Prerequisites: Completion of ELM requirement; second-year high school algebra; one year high school chemistry. (One year of high school physics and one year of high school mathematics past Algebra II are recommended.)|
Principles of chemistry for students in science and engineering programs. Topics include atoms, molecules and ions, reactions, stoichiometry, the periodic table, bonding, chemical energy, gases, and solution chemistry. The laboratory sequence supports the above topics including both qualitative and quantitative experiments, analysis of data, and error propagation. 3 hours lecture, 3 hours laboratory. This is an approved General Education course. (001816)
|CSCI 111||Programming and Algorithms I||4.0||FS|
Prerequisites: At least one year of high school algebra and strong computer skills or CSCI 101.|
A first-semester programming course, providing an overview of computer systems and an introduction to problem solving and software design using procedural object-oriented programming languages. Coverage includes the software life cycle, as well as algorithms and their role in software design. Students are expected to design, implement, and test a number of programs. 3 hours lecture, 2 hours activity. (002281)
|CSCI 211||Programming and Algorithms II||4.0||FS|
Prerequisite: CSCI 111 with a grade of C or higher.|
A second semester object-oriented programming course in computer science that emphasizes problem solving. This course continues the study of software specification, design, implementation, and debugging techniques while introducing abstract data types, fundamental data structures and associated algorithms. Coverage includes dynamic memory, file I/O, linked lists, stacks, queues, trees, recursion, and an introduction to the complexity of algorithms. Students are expected to design, implement, test, and analyze a number of programs. 3 hours lecture, 2 hours activity. (002282)
|EECE 144||Logic Design Fundamentals||4.0||FS|
Definition and properties of switching algebra. Minimization of algebraic function. Use of Karnaugh maps for simplification. Design of combinational logic networks. Design of sequential logic devices including flip-flops, registers, and counters. Analysis and applications of digital devices. Analysis and design of synchronous and asynchronous sequential state machines, state table derivation and reduction. Use of such CAD tools for schematic capture and logic device simulations. 3 hours lecture, 2 hours activity. (002614)
|EECE 211||Linear Circuits I||3.0||FS|
Prerequisites: MATH 121, PHYS 204B.|
DC and sinusoidal circuit analysis, including resistive, capacitive, and inductive circuit elements and independent sources. Ideal transformer. Thevenin and Norton circuit theorems and superposition. Phasors, impedance, resonance, and AC power. Three-phase AC Circuit analysis. 3 hours discussion. (002519)
|EECE 211L||Linear Circuits I Activity||1.0||FS|
Corequisites: EECE 211.|
Experiments to reinforce the principles taught in EECE 211. 2 hours activity. (002520)
|EECE 237||Embedded Systems Development||3.0||FA|
Prerequisite: CSCI 111.|
This course presents the concepts and techniques associated with developing low level Embedded Systems Applications, using both Assembly Language and C. Topics include microprocessor architecture concepts, instruction set architectures, Assembly Language programming, data representations, interrupt handling and execution modes, low level C programming, and the use of on-chip and external peripherals. 3 hours lecture. (021437)
|MATH 120||Analytic Geometry and Calculus||4.0||FS||GE|
Prerequisites: Completion of ELM requirement; both MATH 118 and MATH 119 (or high school equivalent); a score that meets department guidelines on a department administered calculus readiness exam must be achieved by those who claim high school equivalence.|
Limits and continuity. The derivative and applications to related rates, maxma and minima, and curve sketching. Transcendental functions. An introduction to the definite integral and area. 4 hours discussion. This is an approved General Education course. (005506)
|MATH 121||Analytic Geometry and Calculus||4.0||FS|
Prerequisites: MATH 120.|
The definite integral and applications to area, volume, work, differential equations, etc. Sequences and series, vectors and analytic geometry in 2 and 3-space, polar coordinates, and parametric equations. 4 hours discussion. (005507)
|MATH 260||Elementary Differential Equations||4.0||FS|
Prerequisites: MATH 121.|
First order separable, linear, and exact equations; second order linear equations, Laplace transforms, series solutions at an ordinary point, systems of first order linear equations, and applications. 4 hours discussion. (005509)
|PHYS 204A||Physics for Students of Science and Engineering: Mechanics||4.0||FS||GE|
Prerequisites: High school physics or faculty permission. Concurrent enrollment in or prior completion of MATH 121 (second semester of calculus) or equivalent.|
Vectors, kinematics, particle dynamics, friction, work, energy, power, momentum, dynamics and statics of rigid bodies, oscillations, gravitation, fluids. Calculus used. A grade of C- or higher is required before progressing to either PHYS 204B or PHYS 204C. 3 hours discussion, 3 hours laboratory. This is an approved General Education course. (007401)
|PHYS 204B||Physics for Students of Science and Engineering: Electricity and Magnetism||4.0||FS|
Prerequisites: MATH 121, PHYS 204A with a grade of C- or higher.|
Charge and matter, electric field, Gauss' law, electric potential, capacitors and dielectrics, current and resistance, magnetic field, Ampere's law, Faraday's law of induction, magnetic properties of matter, electromagnetic oscillations and waves. Calculus used. 3 hours discussion, 3 hours laboratory. (007402)
1 course selected from:
|SUBJ NUM||Title||Sustainable||Units||Semester Offered||Course Flags|
|CSCI 217||Foundations of Computing||3.0||INQ|
Prerequisites: CSCI 111 with a grade of C or higher, MATH 119 (or equivalent).|
Offers an intensive introduction to discrete mathematics as used in computer science. Topics include sets, relations, propositional and predicate logic, basic proof methods including mathematical induction, digital logic circuits, complexity of algorithms, elementary combinatorics, and solving linear recurrence relations. 3 hours discussion. (002331)
|MATH 217||Discrete Mathematical Structures||3.0||FS|
Prerequisites: Completion of ELM, MATH 119 (or equivalent), CSCI 111.|
A rigorous introduction to discrete mathematical structures for computer science majors (fulfills a requirement for the minor in math). Topics include propositional and predicate calculus; basic proof methods; sets, functions, and operations with them; algorithms and their complexity; applications of number theory to computer science and computer security; matrices and matrix arithmetic; mathematical induction, recursive definitions and algorithms; combinatorics and counting techniques; relations and their representation by matrices and digraphs, applications to databases; equivalence relations and partitions of sets; partially ordered sets, lattices, and Boolean algebras; Boolean functions and circuits; graphs, trees, and their applications; formal languages and grammars; finite-state automata and language recognition, regular languages. 3 hours discussion. (005550)
Upper-Division Requirements: 56 units
13 courses required:
|SUBJ NUM||Title||Sustainable||Units||Semester Offered||Course Flags|
|CSCI 311||Algorithms and Data Structures||4.0||FS|
Prerequisites: CSCI 211, CSCI 217 or MATH 217, all with a grade of C or higher.|
This course focuses on object-oriented methodologies in designing and implementing a variety of data structures and algorithms. Coverage includes recursion, trees, search structures, hashing, heaps, sorting algorithms, and graph algorithms. Data structure and algorithm combinations will be studied and analyzed along with their relative merits using both mathematical and empirical measurements. The course includes a number of large programming assignments focusing on object-oriented software engineering and algorithm development. Students will be required to design, implement, test, and analyze their programs in at least one object-oriented language. 3 hours lecture, 2 hours activity. (002325)
|CSCI 430||Software Engineering||3.0||FS|
Prerequisite: CSCI 311 with a grade of C or higher.|
An overview of software engineering principles, practice, and tools. Topics include: agile software engineering methodologies, requirements engineering, test-driven development, software design patterns, MVC architecture, version control, software metrics, and static analysis. Students work in groups to design and implement a semester-long open source software project. 2 hours discussion, 2 hours activity. (002310)
|CSCI 446||Introduction to Computer Networks and Network Management||3.0||FS|
Prerequisites: CSCI 111 and either CINS 220 or CSCI 221 or EECE 237 (all with a C or higher for CSCI/CINS majors).|
This course is an introduction to basic networking technologies and network management concepts, including major network operating systems, communication architecture focusing on ISO and Internet models with discussion of current standards and protocols. Significant laboratory work using current networking equipment reinforces lectures and provides fundamental experience with router and switch management. 2 hours lecture, 3 hours laboratory. (002340)
|EECE 311||Linear Circuits II||4.0||FS|
Prerequisites: EECE 211; MATH 260 (may be taken concurrently).|
Circuit analysis techniques for networks with both independent and dependent sources. Network topology. Natural and forced responses for RLC circuits. Complex frequency, poles, and zeros. Magnetically coupled circuits and two-port networks. Introduction to linear algebra, circuit simulation using PSPICE, and mathematical analysis using MATLAB. 4 hours discussion. (002527)
|EECE 315||Electronics I||4.0||FS|
Prerequisites: EECE 211, EECE 211L; EECE 311 and MATH 260 (may be taken concurrently).|
Ideal diodes. Zener diodes and regulation. Photodiodes and solar cells. Biasing and DC behavior of bipolar transistors. JFETs and MOSFETS. Small-signal AC equivalent circuits. Single-state transistor amplifiers. Low-frequency response. Discrete feedback amplifiers. 3 hours lecture, 3 hours laboratory. (002530)
|EECE 320||System Architecture and Performance||3.0||FS|
Prerequisites: CSCI 217 or MATH 217 or EECE 144, CSCI 221 or EECE 237.|
Study of computing architecture and how the structure of various hardware and software modules affects the ultimate performance of the total system. Topics include qualitative and quantitative analysis of bandwidths, response times, error detection and recovery, interrupts, and system throughput; distributed systems and coprocessors; vector and parallel architectures. 3 hours discussion. (002104)
|EECE 343||Advanced Logic Design||4.0||FS|
Prerequisite: EECE 144.|
Logic design using programmable logic and HDL programming. Programmable logic architectures, including CPLDs and FPGAs, advanced state machine design and analysis, clock management, and external interfaces. Implementation, simulation, and verification methodologies. 4 hours lecture. (002105)
|EECE 344||Digital Systems Design||4.0||FS|
Prerequisites: EECE 144, EECE 237; either EECE 110 or both EECE 211 and EECE 211L.|
Extends the study of digital circuits to LSI and VLSI devices. Microcontrollers, architecture, bus organization and address decoding. Design concepts for microcontroller systems, including A/D and D/A conversion, serial communications, bus interfacing, interrupt processing, power regulations, timers, pulse width modulation, programmable I/O ports, and error control coding. 3 hours lecture, 3 hours laboratory. (002102)
|EECE 365||Signals, Systems, and Transforms||4.0||SP|
Prerequisites: EECE 311, MATH 260.|
Modeling and analysis of Signals and Systems both continuous and discrete, in the time and frequency domains. Topics include theorey and application of Fourier series, Fourier transforms, Parseval's Theorem and the Convolution, Laplace Transform Sampling Theorem, Z transform, discrete Fourier Transform and FFT. 4 hours discussion. (002528)
|EECE 437||Real-Time Embedded Systems||4.0||SP|
Prerequisites: EECE 237.|
This course presents the concepts and techniques associated with designing, developing, and testing real-time and embedded systems. Topics include the nature and uses of real-time systems, architecture and design of real-time systems, embedded development and debugging environments, embedded programming techniques, real-time operating systems and real-time scheduling and algorithms. Special attention is given to the study of real-time process scheduling and performance, including mathematical analysis of scheduling algorithms. 4 hours discussion. (002118)
|EECE 444||Microprocessor Systems Design||4.0||SP|
Prerequisites: EECE 343, EECE 344.|
Advanced microprocessor design concepts and techniques. Timing considerations and calculations for reliable high-speed processor operating frequencies. Memory architectures and interfacing. Interrupt circuits. Direct Memory Access (DMA) and multi-master systems. High-speed buses and bus arbitration. Introduction to specialized applications, including digital signal processors, Systems-on-Chip (SoC), and hardware-software co-design. 3 hours lecture, 3 hours laboratory. (002120)
|EECE 490A||Engineering Profession and Design||4.0||FA||WP|
Prerequisites: Completion of GE Written Communication (A2) requirement; EECE 343, EECE 344; either EECE 316 or EECE 444 (may be taken concurrently).|
Exploration of engineering as a profession over an entire career, including technical, sociological, physiological, and psychological aspects. Readings and discussions explore the importance of life-long learning to engineering professionals. Students prepare, plan, design, present, and document a senior project. Design requirements address human factors, safety, reliability, maintainability, and customer cost. 3 hours lecture, 2 hours activity. This is an approved Writing Proficiency course; a grade of C- or better certifies writing proficiency for majors. (002569)
|EECE 490B||Engineering Economics and Project Implementation||4.0||SP|
Prerequisites: EECE 343, EECE 344, EECE 490A; either EECE 316 or EECE 444 (may be taken concurrently).|
Continuation of EECE 490A, where students implement, construct, test, and demonstrate their senior design projects. A survey of economic analysis and technology markets, including market organization and regulation, incumbent and startup actors, engineering costs and return on investment, entrepreneurship, patents, and investment and funding avenues. Contemporary issues provide a framework for discussion and analysis based on professional, ethical, and economic concerns. 2 hours discussion, 4 hours activity. (002570)
7 units selected from:
Any approved upper-division engineering, science, or math courses not otherwise required for graduation.
All courses taken to fulfill major course requirements must be taken for a letter grade except those courses specified by the department as Credit/No Credit grading only.
All students must attain a 2.0 Grade Point Average (GPA) in all college courses attempted and for all courses attempted at Chico. Computer Engineering majors must also attain a 2.0 GPA in:
(a) All courses required for the major, and
(b) All Electrical and Computer Engineering (ECE) and Computer Science (CSCI) courses taken to meet major requirements at CSU, Chico.
Advising is mandatory for all majors in this degree program. Consult your undergraduate advisor for specific information.
A sample program for students who wish to complete their major in four years is available on the department's website.
Honors in the Major:
Honors in the Major is a program of independent work in your major. It requires 6 units of honors course work completed over two semesters.
The Honors in the Major program allows you to work closely with a faculty mentor in your area of interest on an original performance or research project. This year-long collaboration allows you to work in your field at a professional level and culminates in a public presentation of your work. Students sometimes take their projects beyond the University for submission in professional journals, presentation at conferences, or academic competition. Such experience is valuable for graduate school and professional life. Your honors work will be recognized at your graduation, on your permanent transcripts, and on your diploma. It is often accompanied by letters of commendation from your mentor in the department or the department chair.
Some common features of Honors in the Major program are:
- You must take 6 units of Honors in the Major course work. All 6 units are honors classes (marked by a suffix of H), and at least 3 of these units are independent study (399H, 499H, 599H) as specified by your department. You must complete each class with a minimum grade of B.
- You must have completed 9 units of upper-division course work or 21 overall units in your major before you can be admitted to Honors in the Major. Check the requirements for your major carefully, as there may be specific courses that must be included in these units.
- Your cumulative GPA should be at least 3.5 or within the top 5% of majors in your department.
- Your GPA in your major should be at least 3.5 or within the top 5% of majors in your department.
- Most students apply for or are invited to participate in Honors in the Major during the second semester of their junior year. Then they complete the 6 units of course work over the two semesters of their senior year.
- Your honors work culminates with a public presentation of your honors project.
While Honors in the Major is part of the Honors Program, each department administers its own program. Please contact your major department or major advisor to apply.