Computer Science Courses

Computer Science courses are supplemented by courses in Computer Engineering.
CPSC 105 Great Ideas in Comp Sci
3.00 credits
Computer science is the study of what is computable. Students will be introduced to computing technologies and learn how these technologies are applied in today's world. The course will focus on the relationship between computation, technology, and society. Topics could include robotics, artificial intelligence, bio-computing, media computing, technology from the movies, and technology and art. On sufficient demand.
CPSC 107 User Centered Web Site Design
3.00 credits
Introduction to quality design principles and user-centered development techniques used in creating a web site. Topics will include human-computer interaction, graphical design, prototyping, and introduction to web programming. On sufficient demand.
CPSC 110 Special Topics for Non Majors
1.00- 3.00 credits
Computer Science topics of special interest to students majoring in other disciplines. Sample topics include principles of programming, web programming, and media computing. May not be counted towards a major in Computer Science. On sufficient demand.
CPSC 121 Computer Science I
3.00 credits
Techniques of problem-solving and algorithmic development. An introduction to programming. Emphasis is on how to design, code, debug, and document programs using good programming style. Fall and Spring.
CPSC 122 Computer Science II
3.00 credits
A continuation of CPSC 121. An examination of dynamic memory management and recursion; an introduction to basic data structures and algorithmic analysis. Fall and Spring.
Prerequisite:
CPSC 121 Minimum Grade: D
CPSC 211 Algorithmic Art
3.00 credits
Algorithmic Art sits at the intersection of mathematics, programming, algorithms, and art. The primary goal of the course is to teach computational thinking to liberal arts students. Student motivation is achieved by presenting programming and math concepts in the context of the visual arts. The assignments use the programming environment called Processing which was developed specifically for visual artists. Fall.
CPSC 212 Computational Modeling
3.00 credits
This course introduces students to the modeling process and computer simulations. It considers two major approaches: system dynamics models and agent-based models. A variety of software tools will be explored. Applications will be chosen from ecology, medicine, chemistry, biology, and others. Spring.
CPSC 213 Special Topics
1.00- 3.00 credits
Topic to be determined by instructor.
CPSC 214 Special Topics
1.00- 3.00 credits
Topic to be determined by instructor.
CPSC 223 Algorith &Abstract Data Struct
3.00 credits
Algorithm analysis using O-notation, sorting, heaps, balanced binary search trees, and hash tables. MATH 231 is a co-requisite or pre-requisite for this course. Fall and Spring.
Prerequisite:
CPSC 122 Minimum Grade: D and MATH 231 Minimum Grade: D and MATH 231 Minimum Grade: D
CPSC 224 Object-Ornt & Event Dr Prog
3.00 credits
Object-oriented topics like overloading, inheritance, and dynamic binding, memory management and event-driven programming. Introduction to object-oriented design. Spring.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 290 Directed Reading
.00- 3.00 credits
Individual exploration of a topic not normally covered in the curriculum.
CPSC 310 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 311 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 312 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 313 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 314 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122
CPSC 315 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 316 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 317 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 318 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 319 Special Topics
1.00- 3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 321 Database Management Systems
3.00 credits
Introduction to database concepts. A study of data models, data normalization, relational algebra. Use of data definition and data manipulation languages including embedded SQL. File and index organization. Fall.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 326 Organization of Program. Lang.
3.00 credits
Examination of the structures and concepts of procedural, functional, and logic-based programming languages. Spring.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 346 Operating Systems
3.00 credits
Study of operating systems internals. Topics include concurrent programming, memory management, file system management, scheduling algorithms, security. Fall.
Prerequisite:
CPEN 231 Minimum Grade: D and CPSC 122 Minimum Grade: D
CPSC 351 Theory of Computation
3.00 credits
Study of the theory of computation. Regular grammars, finite state automata, context-free grammars, pushdown automata, Turing machines, parsing, normal forms, and the Chomsky hierarchy. Fall, odd years.
Prerequisite:
CPSC 122 Minimum Grade: D and MATH 231 Minimum Grade: D
CPSC 353 Applied Cryptography
3.00 credits
Introduction to applied cryptography. Topics could include classical cryptosystems (shift, affine, Vigenere, Playfair, Enigma), modern cryptosystems (DES, AES, RSA, El Gamal), key exchange protocols, digital signatures, security protocols, and zero-knowledge techniques, along with their applications in e-commerce and intelligence. Spring, even years.
Prerequisite:
CPSC 122 Minimum Grade: D
CPSC 360 Intro to Robotics
3.00 credits
Computational techniques used in the development of intelligent, sensor-based robotic systems. Topics include manipulators, and mobile robots, forward and inverse kinematics, sensors, intelligent architectures, control approaches, environment mapping, and motion planning. On sufficient demand.
Prerequisite:
CPSC 122 Minimum Grade: D and CPEN 231 Minimum Grade: D
CPSC 410 Advanced Topics
3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 411 Advanced Topics
3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 412 Advanced Topics
3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 413 Advanced Topics
3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 414 Advanced Topics
3.00 credits
Topics that reflect the current interests and expertise of the faculty. On sufficient demand.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 425 Computer Graphics
3.00 credits
Introduction to the use of graphics primitives within a higher level language to produce two and three-dimensional images; underlying mathematical operations used to implement standard graphics packages; practical experience with current graphics systems. Fall, even years.
Prerequisite:
CPSC 223 Minimum Grade: D and MATH 231 Minimum Grade: D
CPSC 427 Artificial Intelligence
3.00 credits
Introduction to AI. Topics include automated reasoning, state space and heuristic search, knowledge representation formalisms, and stochastic methods. Spring.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 431 Computer Architecture
3.00 credits
Introduction to fundamental concepts in the design and implementation of computing systems. Topics include fundamentals of computer design, performance and cost, instruction set architecture, computer arithmetic, data path control, processor technology, pipelining, memory system (caches, virtual memory). Spring.
Prerequisite:
CPEN 231 Minimum Grade: D
CPSC 435 Parallel Computing
3.00 credits
Parallel Programming platform; principles of parallel algorithm design; basic communication operations' analytical modeling of parallel programs; programming using the message-passing paradigm (MPI); programming on shared address space platforms (POSIX Thread and OpenMP); and other advanced topics. On sufficient demand.
Prerequisite:
CPEN 231 Minimum Grade: D
CPSC 436 Biomedical Informatics&Comput
3.00 credits
Investigation of the role of computers in the provision of medical services; study of the nature of clinical data, medical information exchange standards, data storage, retrieval, integration and analysis and privacy issues; medical decision-making support; design of healthcare information systems' genomic medicine and its techniques. On sufficient demand.
Prerequisite:
CPEN 231 Minimum Grade: D
CPSC 447 Computer Networks
3.00 credits
Study of main components of computer communications and networks; communication protocols; routing algorithms; machine addressing and network services. Spring, odd years.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 448 Computer Security
3.00 credits
Study of security and information assurance in stand-alone and distributed computing. Topics include ethics, privacy, access control methods and intrusion detection. Fall.
Prerequisite:
CPSC 223 Minimum Grade: D and CPEN 231 Minimum Grade: D
CPSC 450 Design & Analysis-Comp Algorim
3.00 credits
Advanced study of computer algorithms not covered in CPSC 223 along with principles and techniques of computational complexity. Topics could include dynamic programming, B-trees, minimum spanning trees, Floyd and Warshall algorithms, various string matching algorithms, computational geometry, exponential growth of round-off errors, Np-completeness and reducibility. Spring, odd years.
Prerequisite:
CPSC 223 Minimum Grade: D and MATH 231 Minimum Grade: D
CPSC 455 Chaos & Dynamical Systems
3.00 credits
Introduction to the study of discrete nonlinear dynamical systems and their chaotic behavior. The course will focus on investigation s through computer experiments- both numerical and graphical- and the corresponding mathematical analysis of the observed behavior. A significant portion of the course will be devoted to designing graphics programs. In the humanistic tradition of Gonzaga, students will also learn the historical development of the modern science of chaotic dynamical systems. On sufficient demand.
Prerequisite:
MATH 231 Minimum Grade: D and CPSC 122 Minimum Grade: D
CPSC 475 Speech&NaturalLangProcessing
3.00 credits
Computational approaches to language processing: morphology, phonetics, speech recognition, syntax, and semantics. Emphasis on statistical language processing. Fall, even years.
Prerequisite:
CPSC 223 Minimum Grade: D
CPSC 490 Directed Reading
1.00- 3.00 credits
Individual exploration of a topic not normally covered in the curriculum. Arrangement with an instructor.
CPSC 491 Software Engineering
2.00 credits
A survey of approaches used in software engineering focusing on software development processes, requirements engineering, estimation, scheduling, risk analysis, testing, version control, and project management. Students apply the techniques and practices learned in their senior design projects, including the development of a detailed project plan and a functional software prototype. Fall.
Concurrent:
CPSC 491L CPSC 499
CPSC 491L Senior Design Project Lab I
1.00 credit
First semester of a two semester senior design project in which students work in teams to develop a large software product. Teams meet weekly with their faculty project advisors. Fall.
Concurrent:
CPSC 491 CPSC 499
CPSC 492L Senior Design Project Lab II
3.00 credits
Second semester of a two semester senior design project in which students work in teams to develop a large software product. Teams meet weekly with their faculty project advisors. Spring.
Prerequisite:
CPSC 491 Minimum Grade: D and CPSC 491L Minimum Grade: D
CPSC 495 Thesis I
1.00 credit
First of a two semester senior thesis project. Requires arrangement with a faculty supervisor.
CPSC 496 Thesis II
1.00 credit
Second of a two semester senior thesis project. Requires arrangement with a faculty supervisor.
Prerequisite:
CPSC 495 Minimum Grade: S
CPSC 497 Computer Science Internship
.00- 3.00 credits
Computer Industry Internship.
CPSC 499 Computers and Society
1.00 credit
This course discusses ethical, societal, security and legal issues in computing, including their relationship to professional development. Topics are examined within the context of students' senior design projects. Fall.
Concurrent:
CPSC 491 CPSC 491L