Computer Science: Course Descriptions

CS-121 Our Digital World

An exploration of the impact and effects of the Internet on all aspects of our lives as global citizens. This course examines the ethical, cultural, economic and political aspects of the Internet as a social technology. Also listed as MEDA 121. 2 credits.
Credits: 2.00

CS-122 Introduction to Digital Media

An introduction to producing, editing and publishing computer-based media including computer graphics, Web sites, and streaming media. Includes a survey of modern communications formats such as blogs, podcasts, and social networks. Also listed as MEDA 122. 2 credits.
Credits: 2.00

CS-130 Introduction to Software Tools

Many disciplines are finding the need to gather, manipulate, analyze, and graph data. This course will introduce students to software tools that aid in this process. Software that is widely used at Pacific includes: Excel, SPSS, Word, and PowerPoint. Class includes lab projects. Prerequisite: MATH 125 with a minimum grade of C. 2 credits.
Credits: 2.00

CS-150 Introduction to Computer Science I

A first course in computer programming fundamentals: no previous programming experience is required. This course will be taught in C++ and include programming projects in a variety of areas. Course content includes data types, selection structures, repetition structures, functions, arrays, structures and I/O. In addition to three lectures per week, the class meets weekly for a laboratory session. Corequisite: MATH 125. 4 credits.
Credits: 4.00

CS-155 Special Topics

See department for course description.
Credits: 1.00

CS-205 Intro to Programming for Multimedia

This course introduces students with little or no programming experience to the design and development of software applications using a high-level, object-oriented programming language such as JavaScript Prerequisite: CS 122 or MEDA 122 with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-232 Mobile Data Collection & Analysis

This course will show students how to use modern mobile data collection systems in laboratory and field applications. Experiments will be designed and carried out using mobile devices for data collection and software tools for data analysis and reporting. Sample experiments might revolve around topics such as blood pressure, EKG, flow rate, GPS with Google Maps, pH, light, pressure, and temperature. Prerequisite: CS 130 and MATH 125, both with a minimum grade of C. 2 credits.
Credits: 2.00

CS-250 Introduction to Computer Science II

A second course in programming that is a continuation of CS 150. The focus of this course is object-oriented programming in C++. Concepts taught include pointers, classes, operator overloading, inheritance, and polymorphism. These concepts will be reinforced with advanced programming projects including introductory game programming. Prerequisite: CS 150 and MATH 125 each with a minimum grade of C. 4 credits.
Credits: 4.00

CS-255 Special Topics

See department for course description.
Credits: 1.00

CS-260 Intro to Java & Android Programming

The focus of this course is programming using Java and Android Devices including Smartphones. Students will design, develop, and test Java programs. Topics will include the Java API, Smartphone hardware features, and Event Driven Programming. Prerequisite: CS 250 with a minimum grade of C. 2 credits.
Credits: 2.00

CS-275 Internship

See department for details. Internship contract required.
Credits: 1.00

CS-295 Independent Study

See department for details. Independent study contract required.
Credits: 1.00

CS-300 Data Structures

Data structures are fundamental to advanced, efficient programming. Topics including asymptotic analysis, stacks, queues, linked lists, trees, and hash tables will be covered in discussions centering around more sophisticated programming concepts, problem solving techniques, and software reusability. Prerequisite: CS 250 with a minimum grade of C. 4 credits.
Credits: 4.00

CS-310 Theoretical Computer Science

This course introduces the foundations of formal language theory, computability, and complexity, shows the relationship between automata and various classes of languages, addresses the issue of which problems can be solved by computational means and studies the complexity of their solutions. It also studies Turing machines and equivalent models of computation, the Chomsky hierarchy, context free grammars, push-down automata, and computability. Prerequisite: CS 250 with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-315 Intro to Human Computer Interaction

Humans interact with computers through user interfaces; designing useful and effective interfaces involves many challenges for both designers and programmers. This course will cover the basics of the field of human computer interaction including the human factors of interactive software, methods to develop and assess interfaces, interaction styles and design considerations. The class will include research and design projects as well as a programming project. Prerequisite: CS 250 with a minimum grade of C or MEDA 260 with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-355 Special Topics

See department for course description.
Credits: 1.00

CS-360 Special Topics

The topic of this course changes from year to year depending on the latest developments in Computer Science and the research interests of the faculty. Recent topics include Client/Server Programming Using Java, Artificial Intelligence and Robotics, Windows Programming, and Computer Networking. Programming projects will build on existing APIs. Prerequisite: CS 250 with a minimum grade of C. May be repeated for credit. 4 credits.
Credits: 4.00

CS-380 Algorithm Design and Analysis

An introduction to the formal techniques that support the design and analysis of algorithms, focusing on both the underlying mathematical theory and the practical considerations of efficiency. Topics include asymptotic complexity bounds, techniques of analysis, algorithmic strategies, advanced data structures, graph theory and other selected topics. Coursework includes object-oriented programming in C++ and covers templates, STL, and exception handling. Prerequisite: CS 300 and MATH 240 each with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-395 Independent Study

See department for details. Independent study contract required.
Credits: 1.00

CS-430 Computer Architecture

An introduction to the hardware design aspects of all major components of a computer system. Topics include computer arithmetic, Boolean algebra and gate networks, logic design, an introduction to IA-32/64 & MIPS assembly language programming, memory systems, I/O devices, pipelined instruction execution, bus structures, multi-core architectures and RISC/CISC philosophies. Prerequisite: CS 300 with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-445 Introduction to Database Systems

An introduction to both the theory and application of Database Management Systems using a modern DBMS and web application front-end. Topics covered will include database design including normalization and optimization, the relational model, relational algebra, security, transaction management, and the query language SQL. Distributed and web architectures will be discussed. All topics in the course will be implemented concretely using a modern DBMS. Prerequisite: CS 300 with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-455 Special Topics

See department for course description.
Credits: 1.00

CS-460 Operating Systems

This course provides a hands-on introduction to operating systems including the development of a command line shell and kernel modules. Topics covered include processes and threads, CPU scheduling, memory management, I/O systems, distributed file systems, operating system history and design, and synchronization. Prerequisite: CS 300 with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-475 Internship

See department for details. Internship contract required.
Credits: 1.00

CS-480 Principles of Compiler Design

An introduction to compliers. Topics covered include: symbol tables, lexical analysis, parsing, attribute grammars, syntax-directed translations, semantic analysis, data flow analysis, code generation, and runtime environments. This course includes a laboratory experience which involves the coding, verification, and validation of a compiler. Prerequisite: CS-310 with a minimum grade of C. Offered alternate years. 4 credits.
Credits: 4.00

CS-493 Software Engineering I

This course will cover the theory behind software development. Topics covered include software architecture, requirements analysis, prototyping, and project management tools. These topics are critical to the success of the student senior capstone projects. Prerequisite: Senior standing (90 or more completed credits), declared CS major, and one 400 level CS course with a minimum grade of C taken at Pacific. 4 credits.
Credits: 2.00

CS-494 Software Engineering II

During this course, students will study the implementation and maintenance of a large software project. This includes the study of software development techniques, managing requirement and design changes during implementation, verification and validation, and defect management. In addition, students will participate in code reviews, study professionalism and job interview techniques, and meet with industry professionals and local technology companies. Prerequisite: CS 493 with a minimum grade of C. 2 credits.
Credits: 2.00

CS-495 Independent Research

See department for details. Independent study contract required.
Credits: 1.00

CS-498 Senior Capstone

Students will have the opportunity to use their Computer Science skills and knowledge to implement an original project of their choice under the supervision of faculty in Computer Science. The project will result in a software application and final presentation. Prerequisite: CS 493 with a minimum grade of C. 2 credits.
Credits: 2.00