Department of Engineering and Computer Science

Department Overview

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 department also provides a pre-engineering program as well as courses that support other science and math majors.

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 nonscience majors; 
  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 Educational Outcomes

The educational objectives of the Department of Engineering and Computer Science at Azusa Pacific are as follows:

  1. Core Technical Competencies and Lifelong Learning: Our graduates demonstrate effective use of their core technical competencies in engineering and computer science by progressive advancements in their professional careers, including in many cases mastery of emerging technologies, the pursuit of different specialization areas, attainment of advanced degrees, or professional licensure or certifications.
  2. Effective Teamwork: Our graduates work effectively as team members and leaders in diverse professional environments and career paths.
  3. Social Impact of Technology: Our graduates demonstrate, in their professional careers, a clear understanding of the impact of technology in a global and societal context, and of its implications from a Christian ethics perspective.

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.

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 computer have a definite advantage in using and applying computer science instruction.

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 220

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 220 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 220, Introduction to Computer Science I, 4 Units

Lecture, 3 hours; Lab, 3 hours: 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 (i.e., data types, variables, methods, conditional flow and loops, class design, arrays), problem analysis, and documentation are also covered. An object-oriented language is used, and a lab is required. Students complete a number of programming projects.

Prerequisite: MATH 110 or proven competence in college algebra

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 220

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 250, Operating Systems, 3 Units

This course provides an introduction to the basic functions of modern operating systems. These include 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 225

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

In this course, students learn about database concepts, relational and nonrelational database systems, database environment, theory, and applications. The design, development, and implementation of database systems are included. A practical database project is developed by students utilizing a popular database development system.

Prerequisite: 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

Approximation methods and their applications to computers are covered, including error analysis, zeros of functions, systems of equations, numerical integration, and differentiation. Applications are programmed using an appropriate language.

Prerequisite: CS 220 and MATH 162

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 35 computer science units

CS 480, Software Engineering II, 3 Units

Students further study of the concepts, principles, techniques, methods, procedures, and documents of software engineering is provided by this course. The emphasis is on systematic approaches to software engineering and software lifecycle. Each student participates in a major team project.

Prerequisites: CS 470

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.

Prerequisites: upper-division writing intensive course completed or instructor's permission; and junior or senior standing.

ENGR 101, Introduction to Engineering, 2 Units

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

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

Prerequisite: CS 220

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.

Prerequisites: PHYC 162, PHYC 281 or Instructor's consent

ENGR 283, Electric Circuits, 4 Units

Lecture, 3 hours; Lab, 3 hours: Circuit analysis by reduction methods, source transformations, loop and nodal analysis, frequency and time response of networks, alternating current circuits, two-port parameters, impedance, power, and computer-aided network analysis and applications are covered.

Special Fee Applies

Prerequisite: MATH 162 and PHYC 162, or Instructor's 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.

Prerequisites: 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 360; CS 220

ENGR 330, Engineering Ethics, 3 Units

This course examines the relationship between ethics and engineering, both theoretically and practically. It addresses the concerns of professional engineers such as engineering ethics, career progression, and licensing procedures. Topics include personal and professional ethics, moral problems and emerging issues in engineering. The course also includes presentations by guest lecturers from industrial and academic communities.

Prerequisites: ENGR 101

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.

Prerequisites: ENGR 101, ENGR 210, ENGR 220, ENGR 230

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

Prerequisites: MATH 360 and CS 220

ENGR 490, Senior Systems Engineering Design Project, 4 Units

This course provides the Senior Capstone experience for the SE degree program. This course gives students the opportunity to apply the knowledge they have gained in the systems engineering curriculum to a group engineering design project. During the first half of the course, students will create a problem definition and perform concept definition and requirements analysis for their project. A plan for carrying out the project will be developed, culminating in a midterm proposal presented to faculty. The proposal (and resulting project) must address each of the evaluation criteria identified in the project description (i.e., technical feasibility, reliability, maintainability, affordability, environmental compatibility, sustainability, safety, ethics and marketability). In the second half of the course, the engineering design project proposal and plans formulated in the first six weeks will be reviewed, upgraded and implemented. Additional instruction on documentation and project management will be given. The engineering design project will be completed, and a formal report documenting all aspects of the project (including management of requirements) will be prepared, presented and evaluated before a panel of industrial and academic experts who will act as judges.

Prerequisites: ENGR 310, ENGR 330, ENGR 380, ENGR 410, and Senior standing in the Systems Engineering major

ENGR 491, Engineering Internship, 1-3 Units

For this course the student must gain practical work experience in his or her field of study in an industrial or governmental organization as an engineering intern (or in an equivalent position). The internship must be located at an off-campus facility. Students are individually supervised by faculty members. The course supplements and supports the student's plan of study. During the semester, the student will remain in contact with the professor who has agreed to supervise him/her and will report on a weekly basis as agreed upon between the student and the professor. By the end of the semester, the student will produce a report of his/her work activity, problems investigated, significant results and any follow-up projects he or she may engage in. In the course of the internship, the student must not violate the company's policies on Intellectual Property and/or confidentiality.

Prerequisites: Sophomore standing in the Systems Engineering major and cumulative 3.0 GPA or 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

Faculty

Department Chair

George Thomas, Ph.D., Engineering

Professors

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

George Thomas, Ph.D., Engineering

Assistant Professors

Daniel Grissom, Ph.D., Computer Science

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., Assistant Professor of Mathematics

J. Andre Harmse, Ph.D., Assistant Professor of Mathematics

Theodore Szeto, Ph.D., Associate Professor of Mathematics and Associate Dean