Department of Engineering and Computer Science
The Department of Engineering and Computer Science offers a Bachelor of Science in Engineering, a Bachelor of Science in Computer Science, a Bachelor of Arts in Computer Information Systems, and minors in computer science and computer information systems.
The primary missions of the Department of Engineering and Computer Science at Azusa Pacific University are:
- To offer exemplary undergraduate degree programs in engineering, computer science, and computer information systems;
- To provide computer programming and technology courses for nonmajors;
- To prepare students for graduate study and success in their chosen careers; and
- To assist students in applying their knowledge and skills in service to society based on an understanding of Christian truth and values.
Program Learning Outcomes
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
The department operates two computer science laboratories on the Azusa campus: the advanced technologies/multimedia laboratory and the computer science main laboratory. Lab technicians are available during lab hours for tutoring, free of charge to all students enrolled in computer science courses. A new engineering lab is under development.
Although the university provides extensive computer lab facilities for student use, each student is encouraged to purchase a personal computer, as students with their own computers have a definite advantage in using and applying engineering and computer science instruction.
CS 120, Introduction to Computer Science I, 4 Units
Students are introduced to object-oriented programming, with a strong emphasis on problem solving, design and analysis of algorithms, and programming principles. Principles of object-oriented and structured programming, problem analysis, and documentation are also covered. The object-oriented language, Java, is used, and attendance at a weekly computer lab is required. Students complete a number of programming projects. Students are also instructed on how to effectively communicate technical matters orally. Meets the General Education Requirement: Oral Communication (CS 120+ENGR 240+ENGR 480).
Prerequisite: MATH 110 (may be taken concurrently) or proven competence in college algebra.
CS 125, Introduction to Computer Science II, 4 Units
Lecture, 3 hours; Lab, 3 hours: This course is a continuation of object-oriented programming and other topics from CS 120. It also provides an introduction to arrays, inheritance, file I/O, and GUIs. Problem analysis, program design, development and implementation, and related topics are covered. Lab is required. Students complete a number of programming projects.
Prerequisite: CS 120
CS 150, Operating Systems, 3 Units
This course provides an introduction to the basic functions of modern operating systems, including multitasking, process synchronization, deadlocks, memory management, virtual memory, file systems, protection, and security. The course also includes a comparative analysis of several popular operating systems.
Prerequisite: CS 120
CS 160, Discrete Structures, 3 Units
This course explores the mathematical elements of computer science, including propositional logic, predicate logic, sets, functions and relations, combinatorics, mathematical induction, recursion, algorithms, matrices, graphs, trees, and Boolean logic. Attention will be given to the direct applications to computer science.
CS 205, Microcomputer Software Tools, 3 Units
This PC-based course covers the basics of MS Windows and the use of applications software as problem-solving tools. In-depth coverage of popular word processing, database, and spreadsheet packages is included.
CS 230, Systems Programming, 3 Units
This course provides an in-depth study of systems programming using the C language and Linux operating system. Applications include programming projects in threads, signals, memory and critical sections.
Prerequisite: CS 120
CS 240, Assembly Language Programming, 3 Units
This programming class includes the architecture and organization of microcomputer systems, fundamentals of assemblers, assembly language programming, and advanced topics on the Intel 80X86 family of microprocessors. Students write several programs which are assembled and run on Intel 80X86-based microcomputers. Students become proficient at keyboard, screen, and disk I/O as well as character manipulation and screen graphics.
Prerequisite: CS 125
CS 260, Data Structures, 3 Units
This course provides a study of algorithms and their related data structures, including linear lists, linked lists, trees, graphs, sorting techniques, and dynamic storage allocation. Applications are implemented using an appropriate computer language.
CS 290, Database Management Systems, 3 Units
This course covers database concepts; relational and nonrelational database systems; database environment, theory, and applications; and design, development, and implementation of database systems. Students develop a practical database project utilizing a popular database development system, and generate user interfaces and reports. Students also learn how to make persuasive technical arguments concerning common database tradeoffs that must be considered when choosing a database in a real-world project, and are instructed on how to effectively communicate technical matters orally.
CS 315, Fundamentals of Network Administration, 3 Units
This course provides an introduction to the three key network management issues: cost analysis, security, and administration. Case studies and laboratory exercises supplement the lecture material.
Prerequisite: CS 125
CS 325, Telecommunications and Interfacing, 3 Units
The principles, protocols, methods, and standards of telecommunications, voice and data communication concepts, networking fundamentals, system configuration, and state-of-the-art practical technology are covered in this course, which includes some hands-on training.
Prerequisite: CS 125
CS 360, Computer Architecture and Organization, 4 Units
This course studies the hardware components of computer systems, including design considerations, implementation, interrelationships, and performance. Combinational and sequential logic and their use in the components of CPUs, buses, and interfaces are covered. Instruction sets and an introduction to assembly-language programming are included. Details include input/output, memory hierarchies, pipelining, ALU operations, and CPU control. Processors include CISC and RISC, as well as multiprocessor systems. Students take part in several programming projects that model key computer architecture components.
CS 363, Web Programming, 3 Units
Prerequisite: CS 290 (may be taken concurrently)
CS 370, Compiler Construction, 3 Units
This course covers some fundamental knowledge of languages and automata as well as algorithms and implementation of compiler construction. Regular languages, context-free languages, and context-sensitive languages are covered. Finite-state automata, push-down automata, and multistack push-down automata are covered. Lexical analyzer and parser techniques are covered in depth, as well as symbol table generation and optimization.
Prerequisite: CS 260
CS 430, Artificial Intelligence, 3 Units
Principles of artificial intelligence, study, design, and application of computer systems that model human intelligence are the focus of this course. Some of the specific topics included in this course are search (informed, uninformed, adversarial, etc.), constraint satisfaction problems (CSPs), knowledge representation, probabilistic modeling and machine learning. Significant programming projects are assigned to enforce student's abilities to apply course algorithms and knowledge.
Prerequisite: CS 260
CS 435, Advanced Database Application Programming, 3 Units
PL/SQL, Oracle's programming language for stored procedures, delivers a world of possibilities for your database programs. PL/SQL supplements the standard relational database language, SQL, with a wide range of procedural features, including loops, IF-THEN statements, Procedures, Functions, packages, and Database Triggers--all closely integrated with the Oracle database server. The Oracle PL/SQL language is a flexible procedural extension to SQL and increases productivity, performance, scalability, portability and security. In this course, you will gain the practical knowledge to write PL/SQL programs. You will learn to build stored procedures, design and execute modular applications, and increase the efficiency of data movement.
Prerequisite: CS 390 and CS 330
CS 455, Numerical Analysis, 3 Units
Numerical and approximation methods are covered, including solutions of functions in single and multi-variables, interpolation, numerical differentiation and integration, and numerical methods for differential equations. Applications are programmed using an appropriate language.
CS 460, Software Project, 3 Units
The student completes an independent project in the development of a nontrivial software system for an application of the student's choice.
Prerequisite: CS 380 and CS 390
CS 470, Software Engineering, 3 Units
This course includes a study of the concepts, principles, techniques, methods, procedures, and documents of software engineering. Emphasis is placed on systematic approaches to software engineering and the software life cycle. Each student participates in a major team project. Meets the General Education Requirement: Integrative and Applied Learning.
CS 480, Senior Capstone Project, 3 Units
As a primary goal, students implement a major team-based software product based on their own software documentation and planning from the previous semester. As a secondary goal, students study and practice software engineering concepts, principles, and methodologies as relevant to the implementation phase of software engineering. Students are also instructed on how to prepare and present a technical demo aimed to "sell" their product.
Prerequisite: CS 470
CS 491, Computer Science Internship, 1-3 Units
This course provides practical experience to students in computer science and computer information systems. Student completes a computer-science internship in a non-academic facility, preferably outside the campus, but under the joint supervision of a computer science faculty member and an outside mentor. A total of 3 units are required to satisfy the General Education Integrative & Applied Learning requirement. Meets the General Education Requirement: Integrative and Applied Learning.
Prerequisite: Sophomore standing in Computer Science major, department pre-approval required and Center for Career & Calling pre-Internship Workshop.
CS 495, Topics in Computer Science, 1-3 Units
This course presents timely and new topics in computer science. Different material is covered each time the course is offered. It may be repeated for credit. Most topics require prerequisites which vary according to the topic.
CS 496, Ethics in Computer Science, 3 Units
In this course, students explore ethics, the social and moral implications of computing, and the various relevant aspects of computer science.
Prerequisite: Senior standing, Writing 2
CS 497, Readings, 1-4 Units
Consists of a program of study concentrating on assigned readings, discussions, and writing arranged between and designed by, a student of upper-division standing and a full-time professor. An independent study fee is assessed for each enrollment in this class.
CS 498, Directed Research, 1-4 Units
This course provides instruction in research design and technique, and gives students experience in the research process. The 1-unit expectation encompasses no fewer than 30 hours of work with accompanying reading, log, writing, and seminar presentation within the department or in a university research symposium. No more than 1 unit may be used to fulfill preparatory readings requirement. An independent study fee is assessed for each enrollment in this class.
Prerequisite: Junior or Senior Standing
CS 499, Thesis/Project, 1-4 Units
This is a senior-level "capstone" type of independent study/research experience, involving the student in a unique project with a sophisticated level of research, synthesis, analysis, and communication. The 1-unit expectation encompasses no fewer than 30 hours of work with accompanying readings, log, instructor discussions, and writing of summary analysis and conclusions. The thesis or project may result in formal thesis, published article, electronic media, annotated recital, or artistic creation of a material form. No more than one unit may be used to fulfill preparatory readings requirement. An independent study fee is assessed for each enrollment in this class.
Prerequisite: Upper-division writing intensive course or instructor consent; and junior or senior standing
ENGR 101, Introduction to Engineering, 3 Units
Students in this course gain an overview of engineering as a creative and responsive profession, and learn about the qualifications of an engineer and the ways in which engineers study, think, work, create, design, and communicate. This course also covers the impact of engineering solutions in global, economic, and societal contexts; case studies of effective civic, governmental, and social engagement by engineers; and engineering ethics.
ENGR 110, STEM as Vocation, 3 Units
This course explores two topics. The first topic is methods to apply STEM skills to solve real world challenges that have positive social impact. During your college education you will learn technical skills that can be applied for positive impact on the lives of those around you (near and globally) and to further God�s Kingdom here on Earth. The second topic in this course is the exploration of intercultural skills. This is important since you will be required to work with individuals of diverse ethnic backgrounds and you may have to work across cultures. In addition, we live in a multi-ethic society so developing these types of capabilities is a valuable life skill.
ENGR 150, Introduction to Mechanics, 3 Units
This course develops in science and engineering students an understanding of forces, moments, and the states and conditions of equilibrium of rigid bodies. It also provides useful and practical insights into internal forces and friction. Further, this course deals with the motion of bodies under the action of forces with two parts: 1) kinematics, the study of motion without reference to the forces that cause motion; and 2) kinetics, which relates the action of forces on bodies to their resulting motions.
ENGR 210, Engineering Thermodynamics, 3 Units
In this course students will learn classical thermodynamics and its engineering applications. Topics include energy and its transfer, properties of pure substances, 1st and 2nd laws of thermodynamics, control volume, irreversibility and availability, gas power cycles, vapor and combined power cycles, and refrigeration.
ENGR 215, Electrical Circuits and Systems, 4 Units
This course covers resistive circuits with dependent and independent sources; node and loop analyses; reactive elements and circuits; steady state solution for RLC circuits with sinusoidal inputs; resistive and reactive power; three-phase systems; motors and generators; time domain analysis of circuits; transient responses; Laplace transforms; and Fourier series; Laboratory exercises including steady-state and transient circuits design and measurements.
ENGR 240, Digital Logic Systems, 4 Units
This course covers Boolean algebra, Karnaugh maps, logic gates, combinational circuit design, sequential circuits analysis and design, Register, and counter and memory system analysis and design, as well as laboratory experiments with TTL logic gates, flip-flops, and counters. Students are also instructed on how to effectively communicate technical matters orally. Meets the General Education Requirement: Oral Communication (CS 120+ENGR 240+ENGR 480).
Prerequisite: CS 120
ENGR 245, Electronics, 4 Units
This course covers amplifier basics; multistage, feedback, and operational amplifiers; wave-shaping and waveform generation; digital electronics; bipolar and CMOS logic; and switching circuits. Laboratory exercises include significant design experience.
ENGR 271, Advanced Math for Engineers, 4 Units
This course is an introduction to topics in advanced mathematics necessary in most engineering fields. Beginning with key concepts in vector calculus and matrix algebra, the course also covers orthogonal functions, Fourier series, boundary-value problems in several coordinate systems, and the integral transform method. Additional topics may include partial differential equations and complex analysis.
Prerequisite: MATH 270
ENGR 281, Statics, 3 Units
Statics is the branch of physical science that deals with the rest state of bodies under the action of forces. It also includes resultants of force systems and equilibrium on rigid bodies using vector algebra, friction, centroids and centers of gravity, and moments of inertia of areas and masses.
Prerequisite: PHYC 161
ENGR 282, Dynamics, 3 Units
Dynamics is the branch of mechanics that deals with the motion of bodies under the action of forces. Dynamics has two distinct parts: kinematics, the study of motion without reference to the forces that cause motion, and kinetics, which relates the action of forces on bodies to their resulting motions.
Prerequisite: PHYC 162, PHYC 281 or instructor consent
ENGR 284, Materials, 3 Units
This course includes a survey of engineering materials with emphasis on mechanical and physical properties and design considerations, ferrous and nonferrous metals, alloys, plastics, elastomers, cermets, ceramics, and adhesives. The methods of manufacturing are covered with special consideration given to design factors, productability, and economics relative to machining, forming, casting, working, welding, and powder metallurgy.
Prerequisite: PHYC 162
ENGR 310, Discrete Systems Modeling and Simulation, 3 Units
Discrete systems consist of processes in which discrete events occur at asynchronous times. In discrete systems, events in any component of the system may affect future events in other system components. Models of discrete systems account for the occurrences of events and the conditions necessary for events to occur. This course deals with construction of models for discrete systems, theory for the behavior of the discrete system and its components, and use of simulation software to examine the behavior of discrete systems. Topics will include modeling techniques, introduction to queueing theory, random number generation, discrete event simulation, Monte Carlo simulation, simulated data analysis, and simulation variance reduction techniques.
ENGR 325, Control Systems, 3 Units
This course introduces systems and their modeling and control, exploring open- and closed-loop control, feedback, transfer functions, signal flow graphs, stability, and root locus methods. Frequency response methods and Nyquist and Bode diagrams are used for system representation. PID compensators, state-space representation, and digital implementation of control systems are also studied.
Prerequisite: ENGR 215
ENGR 335, Embedded Systems, 4 Units
Embedded systems are found in most computing systems outside of traditional desktop/laptop/server computers, such as in cars, household appliances, handheld electronics, video game consoles, wearable technologies, etc. This course provides an introduction to programming embedded systems, covering fundamental topics such as timing diagrams, basic coding operations and datatypes (e.g., binary, hexadecimal, bitwise/shift operators, etc.), state machines (synchronous and concurrent), I/O, and peripheral connections. Laboratory experience includes microprocessor-based design projects with real hardware and electronic components.
Prerequisite: ENGR 240
ENGR 340, Digital Signal Processing, 3 Units
Students in this course learn about discrete-time and sampled-data signals and systems, and their representations using z-transforms, as well as digital filters, FIR and IIR filters, stability, and round-off errors. They design different types of digital filters such as Butterworth, Chebychev, and others. The basics of discrete Fourier transforms and the fast Fourier transform (FFT) algorithm are introduced.
Prerequisite: ENGR 215
ENGR 345, Systems Engineering Principles, 3 Units
This course explores the foundations of systems engineering processes and practices, including basic systems engineering processes and the roles of systems engineering professionals in a global business environment, as well as a discussion of current systems issues. It also covers the principles of mechanical drawing and computer-aided design (CAD) for systems engineering applications.
ENGR 350, Computer Networks, 3 Units
This course introduces the basics of computer networks, including the seven-layer ISO model for networks, with layers 2, 3, and 4 studied in detail. Medium access control protocols and TCP/IP are presented, as well as wireless LAN standards. An introduction to emerging wireless networks is also included.
ENGR 360, Computer Architecture and Organization, 4 Units
This course studies the hardware components of computer systems, including design considerations, implementation, interrelationships, and performance. Combinational and sequential logic and their use in the components of CPUs, buses, and interfaces are covered. Instruction sets and an introduction to assembly-language programming are included. Details include input/output, memory hierarchies, pipelining, ALU operations, and CPU control. Processors include CISC and RISC, as well as multiprocessor systems.
ENGR 370, Cyber Physical Systems Security [Proposed], 3 Units
In this course, students systematically study the fundamental principles of computer system security, including authentication, access control, capability, security policies, sandbox, software vulnerabilities, and web security, with most of these principles studied within the scope of concrete systems such as Linux and Windows. The course emphasizes "learning by doing," requiring students to conduct a series of lab exercises through which students enhance their understanding of the principles and learn to apply them to solve real-world problems.
Prerequisite: CS 260
ENGR 380, Systems Design, 3 Units
This course examines the techniques for developing, analyzing and portraying design and life cycle systems requirements. Students will apply the principles of system design to real-world systems. Students will learn the use of tools and techniques including Quality Function Deployment and Enhanced Block Flow Diagrams.
ENGR 390, Green Power Systems, 3 Units
Electric power is regarded as a necessity for modern culture, yet it is also widely recognized that the generation of electric power must be performed in a way that is ecologically responsible. This course provides students with the knowledge to design electric power systems that use energy from natural sources such as sunlight, wind, rain, tides, plants, algae, and geothermal heat. The design approach is from the system level down to the components.
ENGR 410, Engineering Management and Economics, 3 Units
This course examines strategies for management during all phases during the lifecycle of an engineering project, including initial planning, implementation, assessment, and termination. Management strategies include resource allocation, budgeting, performance monitoring, and optimizing cost and time. Economic principles including time value of money and cash flows will be applied to management topics. Meets the General Education Requirement: Writing 3: Writing in the Disciplines.
Prerequisite: ENGR 380
ENGR 420, Decision and Risk Analysis, 3 Units
This Decision and Risk Analysis course addresses the various types of real-life assessment that must be conducted in order for a large-scale engineering project to be successful. Types of assessment that will be studied include reliability, probability of risk, decision analysis, and cost-benefit analysis. The decision-making process that accompanies these assessments must be conducted in the presence of significant uncertainty. Hence, this course will review basic principles of probability theory and statistics. Finally, because large-scale engineering projects involve a significant budget, the engineer must be conversant in the language of money, public policy, and economics. Hence this course includes a vitally important section on 'cost-benefit' analysis.
ENGR 470, Senior Design Project I, 2 Units
First part of a two-semester engineering design project experience. Group-based projects and industrial sponsorship are strongly encouraged. A complete and fully documented design solution is expected at the end of this course. Use of oral and written professional communications skills is emphasized.
Prerequisite: Senior standing in the Engineering program, and instructor consent
ENGR 480, Senior Design Project II, 2 Units
This course involves the implementation of the design developed in ENGR 470, including prototyping and testing. Students are also instructed on how to prepare and present a technical demo aimed to "sell" their product. Meets the General Education Requirement: Oral Communication (CS 120+ENGR 240+ENGR 480).
ENGR 491, Engineering Internship, 1-3 Units
This course provides practical experience in engineering, with students completing a semester-long engineering project under the joint supervision of an engineering faculty member and an outside mentor. A total of 3 units are required to satisfy the General Education Integrative & Applied Learning requirement. Meets the General Education Requirement: Integrative and Applied Learning.
Prerequisite: Sophomore standing in the Engineering program, and department consent
ENGR 495, Topics in Engineering, 1-3 Units
This course presents timely and new topics in engineering. Different material is covered each time the course is offered. The course may be repeated for credit. Most topics require prerequisites, which vary according to the topic.
Prerequisite: Department Consent
ENGR 496, Writing 3: Engineering Management, Economics, and Ethics, 3 Units
This course teaches engineering program management, economics, and ethics fundamentals such as program planning, control strategies, risk assessment, work breakdown structures, and costing options, including their economic and ethical implications. The assignments for this class also teach professional writing in the field of engineering. This is accomplished using reading about technical writing, multiple writing exercises on the topic of engineering management, economics, and ethics. Interaction with other students in the process of writing, revising, editing, and proofreading is an integral part of the course. Each student will accumulate a portfolio through the semester from the various engineering management, economics, and ethics writing assignments.
Prerequisite: Senior standing in ENGR program and C- or better in Writing 2.
George Thomas, Ph.D., Engineering
Samuel E. Sambasivam, Ph.D., Computer Science
George Thomas, Ph.D., Engineering
Daniel Grissom, Ph.D., Computer Science
Alex Sumarsono, Ph.D., Engineering
Rick Sturdivant, Ph.D., Engineering
James Yeh, Ph.D., Computer Science
Rod Ulrich, M.S., Lab Manager
Enson Chang, Ph.D., Assistant Professor of Physics
Edwin Ding, Ph.D., Associate Professor of Mathematics
Andre Harmse, Ph.D., Assistant Professor of Mathematics
Theodore Szeto, Ph.D., Associate Professor of Mathematics and Associate Dean, CLAS