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

Mission

The primary missions of the Department of Engineering and Computer Science at Azusa Pacific University are:

  1. To offer exemplary undergraduate degree programs in engineering, computer science, and computer information systems; 
  2. To provide computer programming and technology courses for nonmajors; 
  3. To prepare students for graduate study and success in their chosen careers; and 
  4. 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

  1. Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Department Resources

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.

Prerequisite: CS 120 and MATH 150

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.

Prerequisite: CS 125; CS 160 or MATH 280 (may be taken concurrently)

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.

Prerequisite: CS 125; CS 160 or MATH 280 (may be taken concurrently).

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.

Prerequisite: CS 230 and CS 260 (may be taken concurrently)

CS 363, Web Programming, 3 Units

This course is the study of website development, emphasizing Web-based programming using open source software including Apache Server, PHP, Linux, XHTML, CSS, JavaScript and DHTML, MySQL, and others. Included are the concepts, principles, procedures, methods, tools, and techniques used in the development and management of Internet websites. This includes the design, construction, implementation, testing, and maintenance of complex websites using cutting-edge tools. Sites are developed on the Linux platform. Each student makes assigned presentations, develops small Web projects, serves on a development team, and implements part of one major term project.

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.

Prerequisite: MATH 167, MATH 295, and CS 220

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. 

Prerequisite: CS 260, CS 290 and at least 32 computer science units

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.

Prerequisite: MATH 161, PHYC 161

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.

Prerequisite: PHYC 162, MATH 162

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.

Prerequisite: CS 120, MATH 162, and PHYC 162

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.

Prerequisite: MATH 361; CS 120

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.

Prerequisite: ENGR 215, MATH 361

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.

Prerequisite: CS 125, CS 240, and CS 260

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.

Prerequisite: ENGR 101, ENGR 150, ENGR 210, ENGR 245

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.

Prerequisite: MATH 361 and CS 120

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). 

Prerequisite: ENGR 240 and ENGR 470

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.

Faculty

Department Chair

George Thomas, Ph.D., Engineering

Professors

Samuel E. Sambasivam, Ph.D., Computer Science

George Thomas, Ph.D., Engineering

Associate Professor

Daniel Grissom, Ph.D., Computer Science

Assistant Professors

Alex Sumarsono, Ph.D., Engineering

Rick Sturdivant, Ph.D., Engineering

James Yeh, Ph.D., Computer Science

Instructor

Rod Ulrich, M.S., Lab Manager

Affiliated Faculty

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