Computer Science

Chairperson: Kathie Yerion

Professors: P. De Palma, K. Yerion
Associate Professors: D. Hughes (Emeritus)
Assistant Professor: S. Bowers, Y. Zhang

The Department of Computer Science offers a B.S. in Computer Science and jointly administers the B.S. in Computer Engineering with the Department of Electrical Engineering.  The computer science program is built upon a foundation of mathematics, natural science, intensive programming, computer architecture, and the liberal arts. All seniors participate in either a large software engineering or group research project, completed under the guidance of a faculty member and a project sponsor.

Faculty research interests include remote sensor networks, wireless mobile networks, robotics, genetic algorithms, speech recognition, mathematical modeling, scientific data management, database systems, cloud computing, and computer security. Select students can participate in these and other projects through the Gonzaga University Center for Evolutionary Algorithms, the Intel Corporation Computational Sciences Laboratory, the Sensor Networks and Robotics Laboratory, or directly with a faculty mentor. Students are encouraged to pursue summer research or internships. Many of our students secure summer research funding through the National Science Foundation-sponsored Research Experience for Undergraduates program. Others intern in the computer industry, some with companies that regularly work with our department.

The department has several laboratories and a multiuser Linux server. The laboratories include a microcomputer lab with machines running Linux and Windows, a lab used in the senior software engineering and group research courses, a sensor networks and robotics lab, and a computer cluster composed of Intel quad and dual core blade servers. All computer labs on campus, as well as the dormitory rooms, are connected to the campus-wide network and from there to the Internet. The department sponsors two student organizations: a chapter of the Association for Computing Machinery, the world's largest and oldest organization of computer scientists, and a chapter of Upsilon Pi Epsilon, the international honor society for computer science and related disciplines.

Computer Science majors can graduate with departmental honors if they have fulfilled all computer science degree requirements, achieved a grade point average of at least 3.50 in their CPSC courses needed for a major in Computer Science, written a senior thesis under the supervision of a Computer Science faculty member, and successfully completed CPSC 495 and 496.

Computer Engineering

The Departments of Computer Science and Electrical Engineering jointly administer the B.S. in Computer Engineering program.  Computer Engineering combines computer science and electrical engineering.  Computer engineers develop computer hardware, software, and especially the kinds of embedded systems found in cell phones, industrial control devices, and medical instruments.  See the Undergraduate Catalog 2011-2012 entry "Computer Engineering" for a full description of the program.

B.S. in Computer Science: 129 credits
I. Computer Science Requirements: 27 credits
Lower Division
CPSC 121 Computer Science I 3 credits
CPSC 122 Computer Science II 3 credits
CPSC 223 Algorithms and Abstract Data Structures
3 credits
CPSC 224 Object-Oriented and Event Programming 3 credits
II. Engineering Requirements: 9 credits

CPEN 230/CPEN 230L Introduction to Digital Logic 4 credits
CPEN 231/CPEN 231L Microcomputer Architecture and Assembly Language Programming 4 credits
ENSC 100 Engineering Seminar 1 credit
Upper Division
CPSC 326 Organization of Programming Languages 3 credits
CPSC 346 Operating Systems 3 credits
One of the following two courses:
    CPSC 351 Theory of Computation
    CPSC 450 Design and Analysis in Computer Algorithms
3 credits
One of the following two courses:
    CPSC 491 Software Engineering Senior Group Design I
    CPSC 493 Group Research I
3 credits
One of the following two courses:
    CPSC 492 Software Engineering Senior Group Design II
    CPSC 494 Group Research II
3 credits
CPSC 499 Comprehensive 0 credit
III. Computer Science Electives: 15 credits
CPSC 200 level and above 6 credits
CPSC 300 or 400 level Tech elective

    excluding CPSC 310-319, CPSC 423,428,435, 436

9 credits
IV. Science: 7-8 credits
Science Requirements.  Either a, b, or c is required: 7-8 credits
   a. BIOL 105/L, BIOL 106
   b. CHEM 101/L, CHEM 206/L
   c. PHYS 103/L/R, PHYS 204/L/R
V. Mathematics Requirements: 11 credits

   MATH157 Calculus-Analytic Geometry I
4 credits
   MATH 231 Discrete Structures
3 credits
   MATH 258 Calculus-Analytic Geometry II
4 credits
Two courses from the following are required: 6 credits
   MATH 260 Ordinary Differential Equation

   ENSC 371 Advanced Engineering Math

   CPSC 455 Chaos and Dynamical Systems

   any 300 or 400 level Mathematics course
VI: Science and Mathematics Electives:                                      (not already chosen to meet requirements above)
7 credits
   BIOL 105/L Information Flow in Biological Systems and Lab

   BIOL 205/L Physiology & Biodiversity
   BIOL 206/L Ecology
   BIOL 207/L Genetics and Lab

   CHEM 101/L General Chemistry and Lab

   CHEM 230/L Organic Chemistry and Lab

   CPSC 455 Chaos and Dynamical Systems
   ENSC 371 Advanced Engineering Math
   PHYS 103/L/R Scientific Physics I, Lab and Recitation

   PHYS 205/217 Modern Physics and Lab
   MATH 259 Calculus-Analytic Geometry III
   MATH 260 Ordinary Differential Equation
    any 300 or 400 level Mathematics course
IV. University Core requirements: 28 credits
   ENGL 101 English Composition 3 credits
   ENGL 102 Introduction to Literature 3 credits
   PHIL 101 Critical Thinking 2 credits
   PHIL 201 Human Nature 3 credits
   PHIL 301 Ethics 3 credits
   PHIL 400 level 3 credits
   RELI 100 level 3 credits
   RELI 200 level 3 credits
   RELI 300 level 3 credits
   SPCO 101 Introduction to Speech Communication 2 credits


Minor in Computer Science (18 credits)
CPSC 121 Computer Science I 3 credits
CPSC 122 Computer Science II 3 credits
Any four 200, 300, or 400 CPSC courses 12 credits

The SEAS core curriculum represents a common body of knowledge. The engineering programs core consists of fifty-three credits which are common to and required of all engineering degree programs in the school: the first thirty-two credits (of which there is a more complete description in the General Degree Requirements and Procedures section of this catalogue) form the University core requirement while the remaining twenty-one credits are required by engineering degree programs.

All undergraduate students are subject to the provisions of this core; transfer students, however, should consult the General Degree Requirements and Procedures section of this catalogue for possible modifications to the philosophy and religious studies requirements listed below. Substitutions for discontinued courses are required and authorized by the proper University authorities. The University and School core requirements are grouped into the following categories.

University requirements
  1. Thought and Expression (7 credits): ENGL 101, SPCO 101, and PHIL 101 (preferably taken in the same semester).
  2. Philosophy (9 credits): PHIL 201, PHIL 301, and PHIL 400 level elective.
  3. Religious Studies (9 credits): RELI 100, RELI 200, and RELI 300 levels: one elective from each level.
  4. Mathematics (4 credits): one MATH (not CPSC) course at the 100 level or above: engineering students must use MATH 157.
  5. English Literature (3 credits): ENGL 102, ENGL 103H, ENGL 105 or ENGL 106.
Engineering program specific:
  1. Mathematics (11 credits): MATH 258, MATH 259, MATH 260.
  2. Physics (4 credits): PHYS 103, PHYS 103L.
  3. Chemistry (4 credits): CHEM 101, CHEM 101L.
Computer Science program specific:
  1. Mathematics (17 credits): MATH 157, MATH 231, MATH 258, 2 300/400 level electives.
  2. Lab Science (12 credits): Students are encouraged to take 16 credits.
  3. History (6 credits): see program description section.
  4. Fine Arts (3 credits): see program description section.
  5. Literature (3 credits): see program description section.
  6. Social Science (6 credits): see program description section.
  7. Foreign Language or Culture (3 credits): see program description section.
  8. Social Justice (3 credits): see program description section.