May 05, 2024  
2020-2021 Undergraduate Catalog 
    
2020-2021 Undergraduate Catalog [ARCHIVED CATALOG]

Dale E. and Sarah Ann Fowler School of Engineering


Andrew Lyon, Ph.D., Dean
Michael Fahy, Ph.D., Associate Dean and Chief Technology Officer
Erik Linstead, Ph.D., Associate Dean of Academic Programs and Faculty Development
Elizabeth Stevens, Ph.D., Program Director
 
Professors: Fahy, Kurz, Lyon;
Associate Professors: Allali, Linstead, Zhao;
Assistant Professors: Boyd, Cibrian, Estakhri, Harrison, Nair, Springer;
Instructional Assistant Professors: Etezadbrojerdi, Stevens;
Instructors: German, Humphreys, Parlett, Prate, Wen.

The Fowler School of Engineering prepares students to become leaders in constantly-evolving engineering fields that are becoming increasingly interdisciplinary and complex. Through a combination of personalized and experiential coursework, independent research opportunities, and alignment with industry partners, our degree programs produce students who are excited and fearless when it comes to solving technical problems that, at first glance, might seem impossible.

Grand Challenges Initiative
Students pursuing any B.S. degree in the college must 1) satisfy their First-Year Foundations Course (FFC) requirement by enrolling in a Grand Challenges Initiative FFC section; and 2) enroll in and pass 3 (ideally consecutive) 1-credit Grand Challenges Initiative seminars. Students who enter the Fowler School of Engineering after their first year either by transfer or change of major must seek advising from the Grand Challenges Initiative Program Director to design an individual plan for program participation.

GPA and Grade Option Requirements
Students pursuing any degree in the college must maintain a 2.000 grade point average in the major and a 2.500 grade point average for all lower-division courses in the major. All courses in the major must be taken for a letter grade except for those that may only be taken or that have a default grading option of P/NP.

Degree Program Honors
Students must have a major GPA of 3.500 or higher by the conclusion of the term prior to graduation and must have completed a minimum of 120 hours of independent research. Completion of independent research includes the completion of a scientific paper in the relevant scientific field, or an oral presentation to the faculty, or a poster presentation at the Chapman University Student Research Day. Additionally, a vote by the appropriate faculty group that the research and corresponding artifacts were of sufficient quality to merit honors is required. Additional degree program honor requirements, if they exist, are listed under the degree program description.

Accelerated Bachelor’s degree/Master of Science in Computational and Data Sciences
Students completing undergraduate engineering degrees are eligible to complete an additional year of study to obtain a M.S. in Computational and Data Sciences degree in the Schmid College of Science and Technology. Computational science is an interdisciplinary field in which computers and mathematics are used to model and simulate biological and physical processes found in the natural world. This graduate degree consists of four areas of study: bioinformatics and computational biology, analytics and applied mathematics, computational economics and earth system science. Graduate courses used to satisfy undergraduate degree requirements may also satisfy up to 12 credits of graduate coursework and may be double-counted towards both bachelor’s and master’s degrees. For specific criteria, refer to the Schmid College of Science and Technology’s section of the Graduate catalog.

Degrees

Bachelor of Science

Minor

Courses

Computer Engineering

  • CENG 231 - Systems Programming


    Prerequisites, CPSC 230 , EENG 200 . Corequisite, CENG 231L . This course introduces students to concepts and techniques in systems programming with the programming languages C and C++ in a *nix environment. Students will gain insight into hardware-software interfaces through hands-on projects involving system calls, concurrency, network programming, memory mapping, and low-level mechanisms for inter-process communication. A laboratory component will allow students to implement conceptual ideas in code for enterprise, real-time, and embedded hardware targets. (Offered fall semester.) 3 credits
  • CENG 231L - Lab - Systems Programming


    Prerequisites, CPSC 230 , EENG 200 . Corequisite, CENG 231 . Laboratory component of CENG 231 . (Offered fall semester.) 1 credit
  • CENG 298 - Computer Engineering Colloquium


    Students will be exposed to topics in computer engineering through directed reading, guest speakers, and practicums. P/NP. May be repeated for credit. (Offered every year.) 1 credit
  • CENG 350 - Embedded Systems


    Prerequisite, CENG 231 . An in-depth study of the high-level abstract modeling concepts and the lower-level fundamental programming aspects of real-time embedded systems development. The primary focus is in the design, development and validation of microprocessor-based real-time embedded systems. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CENG 353 - Wireless Communication


    Prerequisite, CPSC 353 . Wireless networks play an increasingly important role in the world of communications. This course provides an introduction to various current and next generation wireless networking technologies, and undertakes a detailed exploration of fundamental architectural and design principles used at all layers. Related protocols and their performance are studied using formal analytical tools and realistic simulations. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CENG 370 - Topics in Computer Engineering


    Advanced topics in computer engineering. Letter grade with Pass/No Pass option. May be repeated for credit. (Offered as needed.) 3 credits
  • CENG 380 - Real-Time Operating Systems


    Prerequisites, CENG 350 , CPSC 380 . The theory and practice of developing real-time and embedded systems. The course provides an integrated approach to developing low-power systems with hardware, software, sensors, actuators, controllers and networking. Students will learn to develop a programmable embedded platform from scratch, interface a variety of sensors and actuators for interactive systems, build a gaming system, program an emulator to play retro games, control an autonomous robot and write an RTOS kernel from scratch. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CENG 381 - Modeling and Simulation


    Prerequisite, CENG 231 . Fundamentals and techniques for designing and using simulation, modeling, and optimization algorithms with applications in system performance modeling, business infrastructure modeling, and distributed and parallel computing. An introduction to advanced complex systems models. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CENG 382 - Digital Signal Processing


    Prerequisites, CENG 381 , MATH 210 . This course covers the techniques and tools of modern digital signal processing. Techniques for processing signals are examined including discrete-time linear systems, finite impulse response digital filters, infinite impulse response digital filters, fast Fourier transforms, response of LTI systems to statistical signals, digital filter design, and applications. Students will gain insight into evaluating DSP systems and justifying choices among alternative designs. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CENG 390 - Robotics


    Prerequisites, CENG 231  or CPSC 231  and EENG 200 . Students discover the fundamentals of kinematics, dynamics, and control of robot manipulators, robotic vision, and sensing. In addition, elementary principles on proximity, tactile, and force sensing, vision sensors, camera calibration, stereo construction, and motion detection are presented. Students gain hands on experience through a series of assignments in which they build and test their own robot. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits

Computer Science

  • CPSC 229 - Experimental Course


    Computer Science experimental courses are designed to offer additional opportunities to explore areas and subjects of special interest. Course titles, prerequisites, and credits may vary. Some courses require student lab fees. Specific course details will be listed in the course schedule. May be repeated for credit if the topic is different. Fee: TBD. (Offered as needed.) ½-4 credits
  • CPSC 230 - Computer Science I


    Students are introduced to problem-solving methods and algorithm development through an interactive and easy-to-learn programming language, Python. (Offered every semester.) 3 credits
  • CPSC 231 - Computer Science II


    Prerequisite, CPSC 230 , or equivalent. This course is a comprehensive study of object-oriented computing with a mainstream programming language, Java. The course introduces the principal features of the language with a focus on object-oriented development, code reuse, and large program structure. The course also covers advance topics such as concurrency and graphical user interfaces. (Offered every semester.) 3 credits
  • CPSC 236 - Visual Programming


    Prerequisite, CPSC 230 . Students learn the essentials of visual programming language such as C# or Visual Basic. Emphasis is placed on using controls to build graphical user interfaces. (Offered every semester.) 3 credits
  • CPSC 242 - Introduction to the Game Industry


    Students learn the history of electronic games and gaming platforms, the development cycle of electronic games, the roles and responsibilities of the members of a game production team, and the roles of interface design, mathematics, artificial intelligence and storytelling in game development. (Offered every semester.) 3 credits
  • CPSC 244 - Level Design I


    Prerequisites, CPSC 230 , CPSC 242 . Students learn to create interactive simulation software through the use and programming of a professional level editor with an emphasis on scripting techniques. (Offered spring semester.) 3 credits
  • CPSC 245 - Unity Programming


    Prerequisite, CPSC 236 . Students will gain experience developing software for Unity, a popular cross-platform game engine. (Offered fall semester.) 3 credits
  • CPSC 246 - The Unreal Game Engine


    Prerequisite, CPSC 230 . Students will gain experience developing games for the Unreal game engine. (Offered spring semester.) 3 credits
  • CPSC 250 - Computer Systems and Assembly Language Programming


    Prerequisite, CPSC 231 , or equivalent. Students learn basic programming and program structure in an assembly language and gain experience with machine language and instructions, execution, addressing and representation of data, macros, subroutines, linkages, and recursive routines. (Offered fall semester.) 3 credits
  • CPSC 260 - Introduction to Robotics


    Prerequisite, CPSC 230 . Students learn how to program a robot to interact with the environment via light, sonar, rotation, and touch sensors. Students will also learn the physics of translational motion, rotational motion, and forces as applied to the study of robotics, as well as basic engineering concepts. (Offered as needed.) 3 credits
  • CPSC 285 - Social and Ethical Issues in Computing


    This course considers a range of ethical and social issues related to the effects of computers on how we live, focusing on broad social issues as well as individual responsibilities. Privacy and intellectual property (e.g. P2P downloading), software licenses, software reliability, and risks. Letter grade with Pass/No Pass option. (Offered every semester.) 3 credits
  • CPSC 290 - Independent Internship


    Prerequisite, consent of instructor. P/NP. May be repeated for credit. (Offered as needed.) ½-6 credits
  • CPSC 291 - Student-Faculty Research/Creative Activity


    Prerequisite, consent of instructor. Students engage in independent, faculty-mentored scholarly research/creative activity in their discipline which develops fundamentally novel knowledge, content, and/or data. Topics or projects are chosen after discussions between student and instructor who agree upon objective and scope. P/NP or letter grade option with consent of instructor. May be repeated for credit. (Offered every semester.) 1-3 credits
  • CPSC 292 - Introduction to Exploratory Data Analysis


    Students will learn the fundamentals of data processing and exploratory data analysis using a statistical computing language such as R. Emphasis will be placed on data cleaning, data visualization, and simple statistical analyses. Letter grade with Pass/No Pass option. (Offered every year.) 3 credits
  • CPSC 298 - Computer Science Colloquium


    Students will be exposed to topics in computer science through directed reading, guest speakers, and practicums. P/NP. May be repeated for credit. (Offered every year.) 1 credit
  • CPSC 299 - Individual Study


    Prerequisite, freshman, or sophomore standing only and consent of instructor. For students who wish to pursue a special area of study not included in the curriculum. To enroll in individual study and research, students must complete the individual study and research form (available from the Office of the University Registrar) and obtain the signatures of the department chair of the course and course instructor. Students should spend 40 to 50 hours in instruction and research for each credit of individual study. May be repeated for credit. (Offered as needed.) 1-6 credits
  • CPSC 308 - Enterprise Data Management


    Prerequisite, CPSC 230 , or CPSC 236 . CPSC 308 is an introductory course on data management, with emphasis on database systems for organizations. Students will learn the fundamentals of data storage and retrieval, gaining hands-on experience with the Structured Query Language (SQL) and a contemporary relational database management system. Students will also be exposed to advances in NoSQL technologies, which provide alternative storage mechanisms for noisy and unstructured data. Students majoring in Computer Science, Software Engineering, or Computer Information Systems may not use CPSC 308 to fulfill major requirements. (Offered spring semester.) 3 credits
  • CPSC 320 - Quantum Information Science


    (Same as PHYS 340 .) 3 credits
  • CPSC 329 - Experimental Course


    Prerequisite, CPSC 231 . Computer Science experimental courses are designed to offer additional opportunities to explore areas and subjects of special interest. Course titles, prerequisites, and credits may vary. Some courses require student lab fees. Specific course details will be listed in the course schedule. May be repeated for credit if the topic is different. Fee: TBD. (Offered as needed.) 1-3 credits
  • CPSC 330 - Digital Logic Design I


    (Same as PHYS 330 .) Prerequisite, MATH 250 . Corequisite, CPSC 330L . Students learn the fundamental principles and practice of digital logic. The course covers binary numbers and arithmetic. Students study Boolean algebra as a method of reasoning about sequential circuits including truth tables and Karnaugh maps, logic minimization, gates and flipflops, sequential logic, and combinatorial logic. The course requires one hour of supervised work in a laboratory in addition to three hours per week of lecture. (Offered spring semester.) 3 credits
  • CPSC 330L - Lab - Digital Logic Design I


    (Same as PHYS 330L .) Prerequisite, MATH 250  . Corequisite, CPSC 330 . Laboratory component of CPSC 330 . (Offered spring semester.) 1 credit
  • CPSC 340 - Game Development


    Prerequisites, CPSC 244 , and CPSC 231 , or CPSC 236 . Game Development covers programming techniques for writing a broad range of computer video games including 2D arcade style, isometric, 3D and networked games. Students will learn to program with a professional game development engine. (Offered fall semester.) 3 credits
  • CPSC 344 - Level Design II


    Prerequisite, CPSC 244 . Students learn to create interactive simulation software through the use and programming of professional game design software with a focus on 3-D rendering and advanced AI Scripting. (Offered as needed.) 3 credits
  • CPSC 348 - Software Engineering


    Prerequisite, CPSC 231 , or CPSC 236 . Students study the system development life cycle. The emphasis is on software design, from requirements elicitation to detailed design with UML and implementation/testing with standard tools. (Offered spring semester, alternate years.) 3 credits
  • CPSC 350 - Data Structures and Algorithms


    Prerequisite, CPSC 231  or CENG 231 . Students study core data structures and algorithms, such as arrays, stacks, lists, queues, trees, hash tables, graphs; search and sort. Students engage on projects that involve individually chosen advanced data structures and algorithms. The focus is on applications of data structures and algorithms, utilization of existing practical data sets, and performance trade-offs. Letter grade. (Offered every semester.) 3 credits
  • CPSC 351 - Computer Architecture I


    Prerequisite, CPSC 330 . Students learn the organization and structure of the major hardware components of computers to understand the mechanics of information transfer and control within a digital computer system and the fundamentals of logic design. (Offered fall semester.) 3 credits
  • CPSC 352 - Computer Architecture II


    Prerequisite, CPSC 351 . Topics include the design and analysis of instruction set processors, memory management, multi-processors, and networks. (Offered as a reading and conference only.) 3 credits
  • CPSC 353 - Data Communications and Computer Networks


    Prerequisite, CPSC 231 . Students explore the principles and techniques of data communications and give special emphasis to networks and distributed systems. The I.S.O. Reference Model for open systems interconnection will be investigated and the function and operation of each protocol layer analyzed in detail. Letter grade with Pass/No Pass option. (Offered every semester.) 3 credits
  • CPSC 354 - Programming Languages


    Prerequisite, CPSC 350 . Students develop an understanding of the organization and design of programming languages through a comparative study of fundamental language structures. Students engage in semester-long projects that involve individually chosen programming languages and applications. (Offered fall semester.) 3 credits
  • CPSC 355 - Human Computer Interaction


    Prerequisite, CPSC 231 . Students study the foundations of human-interaction, with emphasis on user-centered design methodologies. Topics such as usability, human factors, user studies, and multi-model interfaces will be explored, and the theory put into practice through programming projects that develop graphical user interfaces and applications for the Android or iPhone/iPad. (Offered every year.) 3 credits
  • CPSC 356 - Android Application Development


    Prerequisite, CPSC 231 . An introduction to app development using the Android operating system and development kit. Students will learn the fundamentals of mobile embedded programming and apply their skills to implement non-trivial projects on target hardware such as smart phones and tablets. (Offered every year.) 3 credits
  • CPSC 357 - iOS Application Development


    Prerequisite, CPSC 231 . An introduction to app development using the iOS operating system and Swift. Students will learn the fundamentals of mobile embedded programming and apply their skills to implement non-trivial projects on target hardware such as ipads, iphones, and watches. (Offered every year.) 3 credits
  • CPSC 358 - Assistive Technology


    Recommended preparation, CPSC 230 . An introduction to assistive technologies (AT). In particular, students will study social, cultural, and economic factors of disability as they pertain to AT. This will be accomplished by studying existing practices and challenges, designing new user experiences, and integrating new technologies into the AT space. (Offered fall semester.) 3 credits
  • CPSC 359 - Computer-Supported Cooperative Work


    Prerequisite, CPSC 355 . Computer-supported cooperative work explores the technical, organizational, and social issues involved in designing, developing, deploying, and evaluating computational and communication tools to support groups, organizations, communities, and networks. This course will provide an initial survey of CSCW research and practices in the past 25 years and give students hands-on experience through a group design project aimed at orienting students to design for cooperative activities. (Offered every year.) 3 credits
  • CPSC 360 - Computer Graphics


    Prerequisite, CPSC 350 . The fundamental concepts of graphics software, hardware, and standards are examined. The course gives special emphasis to three-dimensional graphics and provides an introduction to graphical user interfaces. (Offered interterm, alternate years.) 3 credits
  • CPSC 366 - Digital Logic Design II


    Prerequisite, CPSC 330 . Corequisite, CPSC 366L . This course introduces combinational and sequential logic circuits, including decoders, multiplexers, flip-flops, arithmetic circuits, and implementations of finite state machines using hardware design languages and FPGA boards. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CPSC 366L - Lab - Digital Logic Design II


    Prerequisite, CPSC 330 . Corequisite, CPSC 366 . Laboratory Component of CPSC 366 . Letter grade with Pass/No Pass option. (Offered as needed.) 1 credit
  • CPSC 370 - Topics in Computer Science


    May be repeated for credit. (Offered as needed.) 3 credits
  • CPSC 380 - Operating Systems


    Prerequisite, CPSC 350 . The course emphasizes the major principles of operating system design and the interrelationship between the operating system and the hardware. (Offered every year.) 3 credits
  • CPSC 390 - Artificial Intelligence


    Prerequisite, CPSC 350 . Students study the tools, techniques, and applications of artificial intelligence. Students will be introduced to the programming techniques utilized in artificial intelligence applications. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CPSC 392 - Introduction to Data Science


    Prerequisites, CPSC 230 , and MATH 203  or MGSC 209 . This course provides a survey of algorithms, tools, and techniques for computing with Big Data. Students will be exposed to fundamental concepts in data mining, machine learning, and information retrieval systems, with special emphasis on statistical techniques for data visualization and analysis. Recent advances in high performance computing, such as map-reduce, will be presented in the context of Big Data. Students will apply data mining algorithms to data sets from biology, chemistry, social media, and industry. (Offered as needed.) 3 credits
  • CPSC 393 - Machine Learning


    Prerequisite, CPSC 392 . This course provides a survey of algorithmic techniques for machine learning, including statistical techniques for pattern recognition. Topics include neural networks, deep learning, support vector machines, and kernel methods. (Offered as needed.) 3 credits
  • CPSC 399 - Individual Study


    May be repeated for credit. (Offered as needed.) 1-3 credits
  • CPSC 402 - Compiler Construction


    Prerequisites, CPSC 350 , CPSC 354 . Students examine techniques involved in the analysis and interpretation of source-language statements and the generation of object code. Students analyze and modify a functional object-oriented compiler. Students engage on semester-long projects that involve the design and implementation of individually chosen languages features. Working knowledge of the Java programming language is required. Letter grade. (Offered as needed.) 3 credits
  • CPSC 406 - Algorithm Analysis


    Prerequisite, CPSC 350 . Students study ideas and techniques useful for designing and analyzing data structures and algorithms. In particular, the analytic tools needed for analyzing upper bounds for algorithms and lower bounds for problems will be covered. Problem areas include sorting, graph-based problems, dynamic programming, combinatorial algorithms, computational geometry, encryption, parallel and distributed models, and NP-completeness. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits
  • CPSC 408 - Database Management


    Prerequisite, CPSC 350 . Students learn data management concepts and the representation and structure of data in the context of applications and system software. The emphasis is on design of databases and developing applications in a client-server environment using SQL as the query language. Letter grade with Pass/No Pass option. (Offered every semester.) 3 credits
  • CPSC 430 - Computational Economics


    Prerequisites, MATH 110  and CPSC 230  or CPSC 236  or consent of instructor. This course will introduce students to the computational tools required to understand electronic exchange systems and implement economic experiments. Students will be required to become familiar with numerical analysis, computer simulation and programming of experiments. Letter grade. (Offered as needed.) 4 credits
  • CPSC 435 - BioMedical Informatics


    (Same as BIOL 437 , CS 635.) 3 credits
  • CPSC 440 - Collaborative Game Development


    Prerequisite, CPSC 340 . This is a capstone project course in which students design and develop games in collaborative projects. Working with faculty and visiting industry experts, students propose a concept for a computer game or applied interactive simulation, developing that concept over the course of the semester through several stages of specification and prototyping. Final prototypes are entered in a competition at the end of the course whose jury may include representatives from game and simulation development companies. (Offered spring semester.) 3 credits
  • CPSC 445 - High Performance Computing


    Prerequisite, CPSC 350 , or consent of instructor. The course introduces students to parallel computing architectures and programming models. Students learn and practice parallel programming techniques using shared memory and message passing. Course topics include parallel computing fundamentals, Unix and C, shared memory parallel computing (with OpenMP), message passing parallel computing (with MPI), parallel performance evaluation, and multilevel parallel computing (with OpenMP and MPI combined). (Offered alternate years.) 3 credits
  • CPSC 453 - Network Implementation and Security


    Prerequisite, CPSC 353 . Students explore the principles and techniques for implementing TCP/IP based networks using Microsoft Windows and Linux servers and clients, including the skills to configure, customize, optimize, troubleshoot, and integrate networks. (Offered as needed.) 3 credits
  • CPSC 454 - Fundamentals of Cybersecurity


    Prerequisite, CPSC 350 . Students are exposed to the world of cybersecurity. Emphasis is placed on understanding, recognizing, and patching security exploits. Students will use standard industry tools and techniques to gain hands-on experience in this rapidly-growing field. Note that students majoring in computer science, computer engineering, software engineering, or data analytics may not use CPSC 454 as an elective in the major if they are also minoring in cybersecurity. Letter grade with Pass/No Pass option. (Offered every year.) 3 credits
  • CPSC 458 - Web Engineering


    Prerequisites, CPSC 350 , CPSC 408 . Students explore the principles and techniques for developing and managing web applications using HTML5, CSS and JavaScript, as well as other web development frameworks such as Ruby on Rails. Students will acquire skills to develop, install, configure, customize, optimize, and troubleshoot web applications. (Offered as needed.) 3 credits
  • CPSC 465 - Integrated Circuit Design I


    Prerequisite, CPSC 366 . Recommended, PHYS 102 . This course introduces the student to circuit analysis, including transient and sinusoidal steadystate analysis, complex frequency and Bode plots. (Offered as a reading and conference only.) 3 credits
  • CPSC 466 - Integrated Circuit Design II


    Prerequisites, CPSC 330 , CPSC 465 . Recommended, PHYS 102 . The course integrates theoretical and functional ideas from Digital Logic II with the physical electronics covered in Integrated Circuit Design I toward the design of realworld integrated circuits. The course also introduces the student to VLSI CAD tools for physical design. (Offered as a reading and conference only.) 3 credits
  • CPSC 490 - Independent Internship


    Prerequisite, consent of instructor. P/NP. May be repeated for credit. (Offered as needed.) ½-6 credits
  • CPSC 491 - Student-Faculty Research/Creative Activity


    Prerequisite, consent of instructor. Students engage in independent, faculty-mentored scholarly research/creative activity in their discipline which develops fundamentally novel knowledge, content, and/or data. Topics or projects are chosen after discussions between student and instructor who agree upon objective and scope. P/NP or letter grade option with consent of instructor. May be repeated for credit. (Offered every semester.) 1-3 credits
  • CPSC 499 - Individual Study


    Prerequisite, consent of instructor. May be repeated for credit. (Offered as needed.) 1-6 credits

Electrical Engineering

  • EENG 200 - Electronics and Circuits I


    Prerequisite, MATH 110  or MATH 115 . Corequisite, EENG 200L . Students begin their study of electronics and circuits by studying electricity (current, energy, voltage, power), electronic components (resistors, capacitors, diodes, etc), and fundamental laws for circuits. Students will gain hands on experience building circuits with solderless breadboards in a separate laboratory component. Letter grade with Pass/No Pass option. (Offered spring semester.) 3 credits
  • EENG 200L - Lab - Electronics and Circuits I


    Prerequisite, MATH 110 . Corequisite, EENG 200 . Lab component of EENG 200 . Letter grade with Pass/No Pass option. (Offered spring semester.) 1 credit
  • EENG 300 - Electronics and Circuits II


    Prerequisite, EENG 200 . Corequisite, EENG 300L . Students continue their study of circuits, moving into digital and mixed signal circuit design. Topics include transistors, diodes, AC and DC analysis, analyzing circuit response, and integrated circuits. Students will gain hands on experience in the lab by prototyping circuits, simulating complex designs, and designing and analyzing simple PCB circuits. Letter grade with Pass/No Pass option. (Offered fall semester.) 3 credits
  • EENG 300L - Lab - Electronics and Circuits II


    Prerequisite, EENG 200L . Corequisite, EENG 300 ​. Lab component of EENG 300 ​. Letter grade with Pass/No Pass option. (Offered fall semester.) 1 credit

Engineering

  • ENGR 101 - Foundations of Design and Fabrication


    Students gain first-hand experience with design and fabrication as a foundation of engineering. Using technologies such as additive manufacturing (eg. 3D printing), embedded systems and software, and electronics, students will work together to develop innovative solutions to interesting problems. Letter grade. (Offered every semester.) 3 credits
  • ENGR 300 - 3D Printing and Design


    Student are exposed to the complete lifecycle of the 3D printing process. Students will begin by assembling their own fused deposition modeling (FDM) printer, learning the design and function of each hardware component and how they combine to produce a finished print. Students will learn the characteristics of all major filament types, nozzle sizes and types, how to slice 3D models and adjust slicer settings to produce quality gcode, how to resolve common print errors, and how to post-process prints (including wood and metal finishing). Students will also learn to design their own 3D models for printing, culminating in a final, independent project of their own creation. Letter grade with Pass/No Pass option. (Offered as needed.) 3 credits

Software Engineering

  • SE 291 - Student-Faculty Research/Creative Activity


    Prerequisite, consent of instructor. Students engage in independent, faculty-mentored scholarly research/creative activity in their discipline which develops fundamentally novel knowledge, content, and/or data. Topics or projects are chosen after discussions between student and instructor who agree upon objective and scope. P/NP or letter grade option with consent of instructor. May be repeated for credit. (Offered every semester.) 1-3 credits
  • SE 300 - Software Requirements and Testing


    Prerequisite, CPSC 231 . Corequisite, SE 310 . Students are introduced to the tools and techniques used to elicit, capture, and test software requirements from the perspective of delivering a working software system. In addition to covering standard terminology for software requirements specifications, this course gives an in-depth treatment of formal testing techniques used to ensure software quality and requirement satisfaction. (Offered fall semester.) 3 credits
  • SE 310 - Software Design


    Prerequisite, CPSC 231 . Corequisite, SE 300 . Students gain hands-on experience designing software from a formal set of functional and non-functional software requirements. (Offered fall semester.) 3 credits
  • SE 320 - The Software Development Lifecycle


    Prerequisites, CPSC 350 , SE 300 , SE 310 . Students apply their theoretical knowledge of the software development lifecycle to a year-long project spanning all facets of the requirements, design, implementation, test, and maintenance processes. (Offered spring semester.) 3 credits
  • SE 329 - Experimental Course


    Software engineering experimental courses are designed to offer additional opportunities to explore areas and subjects of special interest. Course titles, Prerequisites, and credits may vary. Some courses require student lab fees. Specific course details will be listed in the course schedule. May be repeated for credit if the topic is different. Fee: TBD. (Offered as needed.) ½-4 credits
  • SE 330 - Software Qualification and Delivery


    Prerequisites, CPSC 350 , SE 320 . Students will be introduced to software project management concepts such as cost and schedule management, defect tracking, staff rotation, and supporting multiple software releases. This course focuses on the implementation and test of a large software system, culminating in formal acceptance testing and delivery to the customer. (Offered fall semester.) 3 credits
  • SE 370 - Topics in Software Engineering


    Prerequisite, determined by topic being offered. Advanced topics in the theory and practice of the software development lifecycle. Topics may include open-source software development, automated software engineering, empirical software engineering, and case studies of specific code ecosystems. May be repeated for credit. (Offered as needed.) 3 credits
  • SE 410 - Software Process and Management


    Prerequisite, SE 310. Students are exposed to key concepts in software project management such as technical performance metrics, cost estimation, schedule tracking, and tailoring formal software processes to fit individual project requirements. (Offered as needed.) 3 credits
  • SE 420 - Formal Methods in Software Engineering


    Prerequisite, SE 410 . A survey in formal methods in software engineering, including topics such as verification techniques, software mining, and specification languages. (Offered as needed.) 3 credits
  • SE 480 - Software Engineering Seminar


    Prerequisite, SE 300 . Students are exposed to the latest trends and techniques in software engineering through a weekly seminar series consisting of invited lectures from industry and academia. Some sections of this course may be offered as hybrid courses or online only. May be repeated for credit. (Offered as needed.) 1 credit
  • SE 498 - Software Engineering Capstone Project


    Prerequisite, SE 320 . Students complete an in-depth, individual, software engineering project in conjunction with a faculty advisor and an industry partner. Letter grade. (Offered as needed.) 3 credits