ā¹ļø Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.3 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://catalog.oregonstate.edu/courses/cs/ |
| Last Crawled | 2026-04-01 16:49:53 (9 days ago) |
| First Indexed | 2018-07-25 04:48:33 (7 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Computer Science (CS) < Oregon State University |
| Meta Description | null |
| Meta Canonical | null |
| Boilerpipe Text | CSĀ 101, COMPUTERS: APPLICATIONS AND IMPLICATIONS, 4 Credits
The varieties of computer hardware and software. The effects, positive and negative, of computers on human lives. Ethical implications of information technology. Hands-on experience with a variety of computer applications.
Available via Ecampus
CSĀ 161, INTRODUCTION TO COMPUTER SCIENCE I, 4 Credits
Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering, and object-oriented programming. Includes algorithm design and program development.
Available via Ecampus
CSĀ 162, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits
Provides an overview of the fundamental concepts of computer science. Studies basic computer programming techniques and application of software engineering principles.
Available via Ecampus
CSĀ 162H, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits
Provides an overview of the fundamental concepts of computer science. Studies basic computer programming techniques and application of software engineering principles.
Available via Ecampus
CSĀ 175, *COMMUNICATIONS SECURITY AND SOCIAL MOVEMENTS, 3 Credits
Equipping students with the theory and practice of communications security, this course explores how social movements can remain effective in the context of mass surveillance and state repression.
Available via Ecampus
CSĀ 201, COMPUTER PROGRAMMING FOR NON-CS MAJORS, 3 Credits
Covers a variety of fundamental topics in computer programming relevant to anyone who wants to write or work with computer code in their work or studies. Teaches basic computational thinking and programming skills which will allow students to solve a variety of real-world problems. In addition, students will learn more advanced topics such as how some basic algorithms work and can be written in computer code.
Available via Ecampus
CSĀ 225, DISCRETE STRUCTURES IN COMPUTER SCIENCE, 4 Credits
An introduction to the discrete mathematics of computer science, including logic, set and set operations, methods of proof, recursive definitions, combinatorics, and graph theory.
Available via Ecampus
CSĀ 261, DATA STRUCTURES, 4 Credits
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures.
Available via Ecampus
CSĀ 261H, DATA STRUCTURES, 4 Credits
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures.
CSĀ 271, COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE, 4 Credits
Introduces functional organization and operation of digital computers. Coverage of assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, macros, modularization, linkers, and debuggers.
Available via Ecampus
CSĀ 274, INTRODUCTION TO SYSTEMS PROGRAMMING, 4 Credits
Explores systems-level programming using compiled languages such as C and C++. Explores terminals, shells, C and C++ syntax, pointers, memory models, and more. Learn to design and implement C and C++ programs, navigate language build pipelines, use terminals and shells, solve problems with different memory models, and manage dynamic memory. Gains practical skills for real-world coding challenges.
Available via Ecampus
CSĀ 290, WEB DEVELOPMENT, 4 Credits
How to design and implement a multi-tier application using web technologies: Creation of extensive custom client- and server-side code, consistent with achieving a high-quality software architecture.
Available via Ecampus
CSĀ 312, SYSTEM ADMINISTRATION, 4 Credits
Introduction to system administration. Network administration and routing. Security issues. Computer, server, and network hardware.
CSĀ 321, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits
Survey of models of computation including finite automata, formal grammars, and Turing machines.
Available via Ecampus
CSĀ 321H, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits
Survey of models of computation including finite automata, formal grammars, and Turing machines.
CSĀ 325, ANALYSIS OF ALGORITHMS, 4 Credits
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
Available via Ecampus
CSĀ 325H, ANALYSIS OF ALGORITHMS, 4 Credits
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
CSĀ 331, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
CSĀ 331H, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
CSĀ 332, INTRO TO APPLIED DATA SCIENCE WITH PROGRAMMING, 4 Credits
Explores the data science life cycle using appropriate Python libraries. Topics include current data science areas, data gathering, cleaning, formatting, and types, an introduction to supervised (decision trees) and unsupervised (clustering) learning, exploratory data analysis, data communication, decision science methodologies, storytelling, and narratives in data science.
Available via Ecampus
CSĀ 340, INTRODUCTION TO DATABASES, 4 Credits
Design and implementation of relational databases, including data modeling with ER or UML, diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration.
Available via Ecampus
CSĀ 352, INTRODUCTION TO USABILITY ENGINEERING, 4 Credits
Explores basic principles of usability engineering methods for the design and evaluation of software systems. Includes the study of human-machine interactions, user interface characteristics and design strategies, software evaluation methods, and related guidelines and standards.
Available via Ecampus
CSĀ 361, SOFTWARE ENGINEERING I, 4 Credits
Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management.
Available via Ecampus
CSĀ 362, SOFTWARE ENGINEERING II, 4 Credits
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
Available via Ecampus
CSĀ 362H, SOFTWARE ENGINEERING II, 4 Credits
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
Available via Ecampus
CSĀ 370, INTRODUCTION TO SECURITY, 4 Credits
Introductory course on computer security with the objective to introduce concepts and principles of computer systems security. Notions of security, basic crytographic primitives and their application, basics of authentication and access control, basics of key-management, basics of malware and software security.
Available via Ecampus
CSĀ 372, INTRODUCTION TO COMPUTER NETWORKS, 4 Credits
Computer network principles, fundamental networking concepts, packet-switching and circuit switching, TCP/IP protocol layers, reliable data transfer, congestion control, flow control, packet forwarding and routing, MAC addressing, multiple access techniques. CROSSLISTED as
CSĀ 372
/
ECEĀ 372
.
Available via Ecampus
CSĀ 373, DEFENSE AGAINST THE DARK ARTS, 4 Credits
Introduction to the current state of the art in anti-malware, computer forensics, and networking, messaging, and web security. Broad introduction to the field of computer security.
Available via Ecampus
CSĀ 374, OPERATING SYSTEMS I, 4 Credits
Introduction to operating systems using UNIX as the case study. Emphasizes system calls and utilities, fundamentals of processes, and interprocess communication.
Available via Ecampus
CSĀ 381, PROGRAMMING LANGUAGE FUNDAMENTALS, 4 Credits
An introduction to the concepts found in a variety of programming languages. Programming languages as tools for problem solving. A brief introduction to languages from a number of different paradigms.
Available via Ecampus
CSĀ 391, *SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society.
Available via Ecampus
CSĀ 391H, *SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society.
CSĀ 399, SPECIAL TOPICS, 0-4 Credits
Available via Ecampus
CSĀ 401, RESEARCH, 1-16 Credits
Available via Ecampus
CSĀ 403, THESIS, 1-16 Credits
Available via Ecampus
CSĀ 406, PROJECTS, 1-16 Credits
Available via Ecampus
CSĀ 420, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
CSĀ 424, CYBERSECURITY PRACTICUM I, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
CSĀ 425, CYBERSECURITY PRACTICUM II, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
CSĀ 426, +CYBERSECURITY PRACTICUM III, 4 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
CSĀ 427, CRYPTOGRAPHY, 4 Credits
Introduction to the theory and practice of modern cryptography. Fundamental primitives including pseudorandom generators, block ciphers, hash functions. Symmetric-key cryptography for privacy and authenticity. Public-key cryptography based on number-theoretic problems.
Available via Ecampus
CSĀ 428, ^CYBERSECURITY CAPSTONE PROJECT, 3 Credits
Utilize foundational knowledge of cybersecurity to complete a cybersecurity operations project. Develops skills for project development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
CSĀ 432, INTRODUCTION TO APPLIED MACHINE LEARNING, 4 Credits
Explores and applies machine learning models and methods including unsupervised learning and supervised learning. Focuses on gathering, cleaning, and preparing data for various analyses. Distinguishes between unsupervised methods including clustering, and dimensionality reduction and supervised modeling methods including Decision Trees, Random Forest, Naive Bayes, Support Vector Machines, and Regression). Covers Training and Testing, Confusion Matrices, x-fold cross validation, visualization options, decision science, ethical considerations, and data communication. Uses Python, Sklearn, and related Python packages/libraries.
Available via Ecampus
CSĀ 434, MACHINE LEARNING AND DATA MINING, 4 Credits
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
CSĀ 434H, MACHINE LEARNING AND DATA MINING, 4 Credits
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
CSĀ 435, APPLIED DEEP LEARNING, 4 Credits
Explores and applies several neural network architectures, including fully-connected, convolutional, and sequence model based network structures. Topics including gradient descent and optimization, feed forward and back propagation methods, loss functions, activation functions, training, testing, and validation of the networks, as well as other types of advanced networks. Applications including areas such as text sentiment analysis, image classification, and language translation.
Available via Ecampus
CSĀ 440, DATABASE MANAGEMENT SYSTEMS, 4 Credits
Relational database design, normalization, file structures, disk storage, query processing and optimization, team development of database applications.
CSĀ 446, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as
BDSĀ 446
/
CSĀ 446
.
CSĀ 450, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
Available via Ecampus
CSĀ 453, SCIENTIFIC VISUALIZATION, 4 Credits
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
CSĀ 457, COMPUTER GRAPHICS SHADERS, 4 Credits
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
Available via Ecampus
CSĀ 458, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
CSĀ 461, ^SENIOR SOFTWARE ENGINEERING PROJECT I, 3 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
Available via Ecampus
CSĀ 461H, ^SENIOR SOFTWARE ENGINEERING PROJECT I, 3 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
CSĀ 462, ^SENIOR SOFTWARE ENGINEERING PROJECT II, 3 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
Available via Ecampus
CSĀ 462H, ^SENIOR SOFTWARE ENGINEERING PROJECT II, 3 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
CSĀ 463, +SENIOR SOFTWARE ENGINEERING PROJECT III, 2 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Work as a team to complete all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
Available via Ecampus
CSĀ 463H, +SENIOR SOFTWARE ENGINEERING PROJECT III, 2 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Work as a team to complete all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
CSĀ 464, OPEN SOURCE SOFTWARE, 4 Credits
Provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects. Provides opportunity to explore and make contributions to FOSS projects with some mentoring and guidance.
Available via Ecampus
CSĀ 466, SOFTWARE START-UP I, 4 Credits
Emphasizes real-world, hands-on learning in a high-tech web/mobile-based company environment. Covers research in the development of product ideas, hypotheses, and business models to create customer experiments. Conducts prototyping and statistical analysis to develop, optimize, and evaluate solutions. Includes rapid iteration/refactoring based on customer input, web analytics, and user engagement metrics.
CSĀ 467, ONLINE CAPSTONE PROJECT, 4 Credits
Real-world team-based experience with the software engineering design and delivery cycle, including requirements analysis and specification, design techniques, and requirements and final project written documentation.
Available via Ecampus
CSĀ 468, INCLUSIVE DESIGN (HCI), 4 Credits
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
CSĀ 469, STRUCTURED PROJECT, 2 Credits
Facilitates the completion of a working software product chosen and designed by the student. Introduces students to planning, reporting progress, and presenting results of software development work carried out as a structured project.
Available via Ecampus
CSĀ 472, COMPUTER ARCHITECTURE, 4 Credits
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as
CSĀ 472
/
ECEĀ 472
.
Available via Ecampus
CSĀ 473, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
Available via Ecampus
CSĀ 474, OPERATING SYSTEMS II, 4 Credits
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
Available via Ecampus
CSĀ 475, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits
Theoretical and practical survey of parallel programming, including a discussion of parallel architectures, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
Available via Ecampus
CSĀ 476, ADVANCED COMPUTER NETWORKING, 4 Credits
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as
CSĀ 476
/
ECEĀ 476
.
CSĀ 478, NETWORK SECURITY, 4 Credits
Basic concepts and techniques in network security, risks and vulnerabilities, applied cryptography and various network security protocols. Coverage of high-level concepts such as authentication, confidentiality, integrity, and availability applied to networking systems. Fundamental techniques including authentication protocols, group key establishment and management, trusted intermediaries, public key infrastructures, SSL/TLS, IPSec, firewalls and intrusion detection CROSSLISTED as
CSĀ 478
/
ECEĀ 478
.
Available via Ecampus
CSĀ 480, TRANSLATORS, 4 Credits
Explores content on the subject of compilers; attribute grammars, syntax-directed translation, lex, yacc, LR(1) parsers, symbol tables, semantic analysis, and peep-hole optimization.
CSĀ 491, COMPUTER SCIENCE SKILLS FOR SIMULATION AND GAME PROGRAMMING, 4 Credits
Game and simulation development is very much a data and math-intensive activity. A certain number of actions must be produced, and producing them by hand is hard. This is a middleware CS course that fills in many of the missing pieces for those wanting to enter the simulation and game development worlds in a software tool-building capacity.
CSĀ 492, MOBILE SOFTWARE DEVELOPMENT, 4 Credits
Introduction to concepts and techniques for developing mobile applications. Become familiar with modern mobile structure, implementation, development tools, and workflow.
Available via Ecampus
CSĀ 493, CLOUD APPLICATION DEVELOPMENT, 4 Credits
Covers developing RESTful cloud services, an approach based on representational state transfer technology, an architectural style and approach to communications used in modern cloud services development.
Available via Ecampus
CSĀ 494, ADVANCED WEB DEVELOPMENT, 4 Credits
Explores advanced concepts and techniques for developing client-side web applications. Emphasizes modern application design using contemporary tools and technologies such as component-based UI frameworks.
CSĀ 499, SPECIAL TOPICS, 0-16 Credits
Available via Ecampus
CSĀ 501, RESEARCH, 1-16 Credits
Available via Ecampus
CSĀ 503, COMPUTER SCIENCE MS THESIS, 1-16 Credits
Available via Ecampus
CSĀ 510, OCCUPATIONAL INTERNSHIP, 1-16 Credits
Available via Ecampus
CSĀ 511, PROGRAMMING AND DATA STRUCTURES, 4 Credits
Focuses on computer programming, problem solving, data structures, object-oriented programming, sorting, asymptotic time complexity.
Available via Ecampus
CSĀ 512, DATA SCIENCE TOOLS AND PROGRAMMING, 4 Credits
Accessing and distributing data in the cloud; relational and non-relational databases; map reduction; cloud data processing; load balancing; types of data-stores used in the cloud.
Available via Ecampus
CSĀ 513, APPLIED MACHINE LEARNING, 4 Credits
Explores machine learning basics (variance and bias, underfitting and overfitting, etc). Reviews linear algebra and Numpy. Examines k-nearest neighbors, linear classification (perceptron and online learning), and linear and non-linear regression. Explores applications in housing price prediction (Kaggle contest) and text classification (sentiment analysis).
Available via Ecampus
CSĀ 514, ALGORITHMS: DESIGN, ANALYSIS, AND IMPLEMENTATION, 4 Credits
Explores sorting and selection algorithms including divide-and-conquer, quicksort/quick select, merge sort, binary search trees, memorization, heaps and heapsort, priority queues, hashing, hashed heaps; asymptotic complexity analysis including the Master equation, tree method, amortization; Dynamic Programming on sequences, graphs, trees, and intervals; Graph algorithms including breadth-first search, depth-first search, topological sort, shortest path, minimum spanning tree, network flow. NP-hard and NP-Complete problems.
Available via Ecampus
CSĀ 515, ALGORITHMS AND DATA STRUCTURES, 4 Credits
Greedy algorithms, divide and conquer, dynamic programming, network flow, data structures.
CSĀ 517, THEORY OF COMPUTATION, 4 Credits
Turing machines, decidability, NP-completeness, complexity classes, randomized computation, relativization, circuit complexity, interactive proof systems, lower bounds, cryptography.
CSĀ 520, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
Available via Ecampus
CSĀ 524, CYBERSECURITY PRACTICUM I, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
CSĀ 525, CYBERSECURITY PRACTICUM II, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
CSĀ 526, CYBERSECURITY PRACTICUM III, 4 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
CSĀ 527, ERROR-CORRECTING CODES, 4 Credits
Hamming codes, linear codes, cyclic codes, BCH and Reed-Solomon codes. Introduction to Galois fields. Encoding and decoding algorithms. Burst error correcting codes, asymmetric and unidirectional codes. Applications of codes for computer systems.
CSĀ 529, SELECTED TOPICS IN THEORETICAL COMPUTER SCIENCE, 1-5 Credits
Available via Ecampus
CSĀ 540, DATABASE MANAGEMENT SYSTEMS, 4 Credits
Purpose of database systems, levels of data representation. Entity-relationship model. Relational systems: data definition, data manipulation, query language (SQL), relational calculus and algebra, data dependencies and normal forms. DBTG network model. Query optimization, recovery, concurrency control.
Available via Ecampus
CSĀ 546, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as
BDSĀ 546
/
CSĀ 546
.
CSĀ 550, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
Available via Ecampus
CSĀ 551, COMPUTER GRAPHICS, 4 Credits
3-D graphics hardware: Line and polygon scan conversion, modeling transformations, viewing transformations, matrix stacks, hierarchical models, perspective and orthographic projections, visible surface determination, illumination models, shading models, texture mapping, ray tracing.
CSĀ 552, COMPUTER ANIMATION, 4 Credits
Traditional animation concepts: production pipeline, keyframing implementation, interpolation, point-mass dynamics, spring-mass systems, rigid body dynamics, forward and inverse kinematics, human motion control, motion capture.
CSĀ 553, SCIENTIFIC VISUALIZATION, 4 Credits
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
CSĀ 554, GEOMETRIC MODELING IN COMPUTER GRAPHICS, 4 Credits
Advanced topics in computer graphics focusing on representation and processing of polygonal models and their application. Surface fundamentals; discrete differential geometry and topology; data structures for representing 3-D surfaces; surface subdivision and smoothing; mesh simplification and multi-resolution representation of 3-D surfaces; geometry compression; surface parameterization; geometry remeshing; topological simplification; implicit surfaces.
CSĀ 557, COMPUTER GRAPHICS SHADERS, 4 Credits
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
Available via Ecampus
CSĀ 558, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
CSĀ 560, DATA-DRIVEN SOFTWARE ENGINEERING, 4 Credits
An overview of data-driven empirical research methods that can be used to understand the different aspects of software engineering.
CSĀ 561, SOFTWARE ENGINEERING METHODS, 4 Credits
Master software engineering methods and supporting tools in the context of agile processes. Teams will engage in all aspects of software development including design, testing, implementation, deployment and maintenance.
Available via Ecampus
CSĀ 562, SOFTWARE PROJECT MANAGEMENT, 4 Credits
Apply project management principles for software development projects. Provide practice for different software leadership roles during a simulated real-world hardware-software project. Apply software project management principles and industry best practices to manage the development of a term-long real-world project chosen and designed by the student. Topics include project planning, scope, work breakdowns, incremental development, scheduling and budgeting, risk management, change management, progress reporting, and final deliverables.
Available via Ecampus
CSĀ 563, SOFTWARE MAINTENANCE AND EVOLUTION, 4 Credits
Contribute to the cutting-edge of software engineering. Explore existing techniques and supporting tools, with a particular focus on maintenance and evolution. Identify opportunities to support software maintenance and evolution more effectively, by creating new knowledge and supporting systems through research and innovation.
CSĀ 564, FIELD STUDIES IN SE AND HCI, 4 Credits
Deals with the type of empirical study known as the "case" study. These are studies that collect data from natural software development situations as they really occur in the field, in which the researcher does not manipulate or "control" anything. The course is an end-to-end coverage of the process. Mainly focuses on case studies involving human software developers in the field. The student will conduct a field study as part of this course.
CSĀ 565, HUMAN-COMPUTER INTERACTION, 4 Credits
Basic principles of Human-Computer Interaction (HCI) for the design and evaluation of software systems. Includes research methods for studying human-machine interactions and user interfaces, design strategies, software evaluation methods, and related guidelines and standards.
Available via Ecampus
CSĀ 567, LABORATORY STUDIES IN SE AND HCI, 4 Credits
Empirical lab studies of software development. Covers how to go about designing, preparing for, running, analyzing, and writing-for-publication lab experiments of programming situations involving human subjects. This is an end-to-end coverage of the entire process, and will put students in a position to conduct lab studies of their own with human subjects.
CSĀ 568, INCLUSIVE DESIGN (HCI), 4 Credits
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
CSĀ 570, HIGH PERFORMANCE COMPUTER ARCHITECTURE, 4 Credits
Advanced concepts in computer architecture. Performance improvement employing advanced pipelining and multiple instruction scheduling techniques. Issues in memory hierarchy and management. CROSSLISTED as
CSĀ 570
/
ECEĀ 570
.
CSĀ 572, COMPUTER ARCHITECTURE, 4 Credits
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as
CSĀ 572
/
ECEĀ 572
.
Available via Ecampus
CSĀ 573, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
Available via Ecampus
CSĀ 574, OPERATING SYSTEMS II, 4 Credits
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
CSĀ 575, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits
Theoretical and practical survey of parallel programming, including a discussion of parallel architecture, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
Available via Ecampus
CSĀ 576, ADVANCED COMPUTER NETWORKING, 4 Credits
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as
CSĀ 576
/
ECEĀ 576
.
Available via Ecampus
CSĀ 577, PRIVACY AND SURVEILLANCE, 4 Credits
Explores the need for privacy and theories of surveillance. Examines the current state of privacy-enhancing technologies. Emphasizes the critical reading and discussion of technical literature on privacy-enhancing technologies.
CSĀ 578, CYBER-SECURITY, 4 Credits
A broad overview of the field of computer and network security. Essential cryptographic mechanisms such as symmetric and public-key cryptography (e.g., encryption, signatures), network security and authentication protocols (e.g., Kerberos, TLS, IPSec), system security (e.g., access control, firewalls), advanced topics (e.g., searchable encryption, cloud security, secure computation). CROSSLISTED as
CSĀ 578
/
ECEĀ 578
.
CSĀ 579, TOPICS IN COMPUTER ARCHITECTURE AND PARALLEL PROCESSING, 0-5 Credits
Available via Ecampus
CSĀ 581, PROGRAMMING LANGUAGES I, 4 Credits
Introduces functional programming and programming language theory. Focuses on strongly typed functional programming, abstract syntax and grammars, interpreters, denotational and/or operational semantics, and lambda calculus.
Available via Ecampus
CSĀ 582, PROGRAMMING LANGUAGES II, 4 Credits
Essentials of programming language theory for understanding and conducting programming language research. Dependently typed programming in Agda, Coq, or Idris; operational semantics; type systems; unification and type inference.
CSĀ 583, ADVANCED FUNCTIONAL PROGRAMMING, 4 Credits
Advanced functional programming concepts and strategies, with a focus on techniques useful for the design and implementation of programming languages. Includes higher-order abstract syntax, functors and monads, generalized algebraic data types, functional data structures, and graph reduction.
CSĀ 585, DOMAIN-SPECIFIC LANGUAGES, 4 Credits
Introduction to the design and implementation of domain-specific languages (DSLs). Domain analysis; review and revision of language designs; binding constructs to support abstraction; definition of syntax and semantics of DSLs; prototype implementation of embedded DSL. |
| Markdown | - [Skip to Content](https://catalog.oregonstate.edu/courses/cs/#content)
- [AZ Index](https://catalog.oregonstate.edu/azindex/)
- [Catalog Home](https://catalog.oregonstate.edu/)
[Oregon State University ](https://oregonstate.edu/)
Toggle search
Toggle menu
## [Academic Catalog](https://catalog.oregonstate.edu/)
Exit Search
- [Schedule of Classes](https://catalog.oregonstate.edu/course-search/)
- [Courses](https://catalog.oregonstate.edu/courses/)
- [Academic Calendar](http://registrar.oregonstate.edu/osu-academic-calendar/)
- [Colleges](https://catalog.oregonstate.edu/college-departments/)
- [Programs](https://catalog.oregonstate.edu/programs/)
- [Academic Regulations](https://catalog.oregonstate.edu/regulations/)
- [Catalog Rights](https://catalog.oregonstate.edu/grades-regulations-records/#catalog-rights)
- [Grades & Regulations](https://catalog.oregonstate.edu/grades-regulations-records/)
- [Core Education](https://catalog.oregonstate.edu/core-education/)
- [Print Options](https://catalog.oregonstate.edu/courses/cs/#print-dialog "Opens modal")
- [Home](https://catalog.oregonstate.edu/)/
- [Course Descriptions](https://catalog.oregonstate.edu/courses/)/
- Computer Science (CS)
# Computer Science (CS)
[CS Course Schedule](https://catalog.oregonstate.edu/course-search/?subject=CS)
## **CS LDEA, LOWER DIVISION ED ABROAD, 0-16 Credits**
*This course is repeatable for 99 credits.*
## **CS UDEA, UPPER DIVISION ED ABROAD, 0-16 Credits**
*This course is repeatable for 99 credits.*
## **CS 101, COMPUTERS: APPLICATIONS AND IMPLICATIONS, 4 Credits**
The varieties of computer hardware and software. The effects, positive and negative, of computers on human lives. Ethical implications of information technology. Hands-on experience with a variety of computer applications.
*Available via Ecampus*
## **CS 161, INTRODUCTION TO COMPUTER SCIENCE I, 4 Credits**
Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering, and object-oriented programming. Includes algorithm design and program development.
**Prerequisite:** MTH 112 (may be taken concurrently) with C or better or [MTH 112Z](https://catalog.oregonstate.edu/search/?P=MTH%20112Z "MTHĀ 112Z") (may be taken concurrently) with C or better or Math Placement Test with a score of 33 or Math Placement - ALEKS with a score of 061
*Available via Ecampus*
## **CS 162, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits**
Provides an overview of the fundamental concepts of computer science. Studies basic computer programming techniques and application of software engineering principles.
**Prerequisite:** [CS 161](https://catalog.oregonstate.edu/search/?P=CS%20161 "CSĀ 161") with C or better or [ENGR 103](https://catalog.oregonstate.edu/search/?P=ENGR%20103 "ENGRĀ 103") with C or better or [ENGR 103H](https://catalog.oregonstate.edu/search/?P=ENGR%20103H "ENGRĀ 103H") with C or better or [DS 231](https://catalog.oregonstate.edu/search/?P=DS%20231 "DSĀ 231") with C or better
**Equivalent to:** [CS 162H](https://catalog.oregonstate.edu/search/?P=CS%20162H "CSĀ 162H")
*Available via Ecampus*
## **CS 162H, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits**
Provides an overview of the fundamental concepts of computer science. Studies basic computer programming techniques and application of software engineering principles.
**Attributes:** HNRS ā Honors Course Designator
**Prerequisite:** [CS 161](https://catalog.oregonstate.edu/search/?P=CS%20161 "CSĀ 161") with C or better or [ENGR 103](https://catalog.oregonstate.edu/search/?P=ENGR%20103 "ENGRĀ 103") with C or better or [ENGR 103H](https://catalog.oregonstate.edu/search/?P=ENGR%20103H "ENGRĀ 103H") with C or better or [DS 231](https://catalog.oregonstate.edu/search/?P=DS%20231 "DSĀ 231") with C or better
**Equivalent to:** [CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162")
*Available via Ecampus*
## **CS 175, \*COMMUNICATIONS SECURITY AND SOCIAL MOVEMENTS, 3 Credits**
Equipping students with the theory and practice of communications security, this course explores how social movements can remain effective in the context of mass surveillance and state repression.
**Attributes:** CPDP ā Bacc Core, Perspectives, Difference/Power/Discrimination
*Available via Ecampus*
## **CS 199, SPECIAL TOPICS/COMPUTER SCIENCE, 1-16 Credits**
*This course is repeatable for 16 credits.*
## **CS 201, COMPUTER PROGRAMMING FOR NON-CS MAJORS, 3 Credits**
Covers a variety of fundamental topics in computer programming relevant to anyone who wants to write or work with computer code in their work or studies. Teaches basic computational thinking and programming skills which will allow students to solve a variety of real-world problems. In addition, students will learn more advanced topics such as how some basic algorithms work and can be written in computer code.
**Prerequisite:** [MTH 111Z](https://catalog.oregonstate.edu/search/?P=MTH%20111Z "MTHĀ 111Z") with C- or better or MTH 111 with C- or better or [MTH 112Z](https://catalog.oregonstate.edu/search/?P=MTH%20112Z "MTHĀ 112Z") with C- or better or MTH 112 with C- or better or [MTH 227](https://catalog.oregonstate.edu/search/?P=MTH%20227 "MTHĀ 227") with C- or better or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") with C- or better or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") with C- or better or [MTH 241](https://catalog.oregonstate.edu/search/?P=MTH%20241 "MTHĀ 241") with C- or better or [MTH 245](https://catalog.oregonstate.edu/search/?P=MTH%20245 "MTHĀ 245") with C- or better or [MTH 251Z](https://catalog.oregonstate.edu/search/?P=MTH%20251Z "MTHĀ 251Z") with C- or better or [MTH 251HZ](https://catalog.oregonstate.edu/search/?P=MTH%20251HZ "MTHĀ 251HZ") with C- or better or MTH 251 with C- or better or MTH 251H with C- or better
*Available via Ecampus*
## **CS 225, DISCRETE STRUCTURES IN COMPUTER SCIENCE, 4 Credits**
An introduction to the discrete mathematics of computer science, including logic, set and set operations, methods of proof, recursive definitions, combinatorics, and graph theory.
**Prerequisite:** MTH 111 with C or better or [MTH 111Z](https://catalog.oregonstate.edu/search/?P=MTH%20111Z "MTHĀ 111Z") with C or better or MTH 112 (may be taken concurrently) with C or better or [MTH 112Z](https://catalog.oregonstate.edu/search/?P=MTH%20112Z "MTHĀ 112Z") (may be taken concurrently) with C or better or Math Placement Test with a score of 24 or Math Placement - ALEKS with a score of 061
*Available via Ecampus*
## **CS 261, DATA STRUCTURES, 4 Credits**
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures.
**Prerequisite:** ([CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162") with C or better or [CS 162H](https://catalog.oregonstate.edu/search/?P=CS%20162H "CSĀ 162H") with C or better or CS 165 with C or better) and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\])
**Equivalent to:** [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H")
*Available via Ecampus*
## **CS 261H, DATA STRUCTURES, 4 Credits**
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures.
**Attributes:** HNRS ā Honors Course Designator
**Prerequisite:** ([CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162") with C or better or [CS 162H](https://catalog.oregonstate.edu/search/?P=CS%20162H "CSĀ 162H") with C or better or CS 165 with C or better) and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\])
**Equivalent to:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261")
## **CS 271, COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE, 4 Credits**
Introduces functional organization and operation of digital computers. Coverage of assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, macros, modularization, linkers, and debuggers.
**Prerequisite:** CS 151 with C or better or [CS 161](https://catalog.oregonstate.edu/search/?P=CS%20161 "CSĀ 161") with C or better or CS 165 with C or better or [ENGR 103](https://catalog.oregonstate.edu/search/?P=ENGR%20103 "ENGRĀ 103") with C or better or [ENGR 103H](https://catalog.oregonstate.edu/search/?P=ENGR%20103H "ENGRĀ 103H") with C or better
*Available via Ecampus*
## **CS 274, INTRODUCTION TO SYSTEMS PROGRAMMING, 4 Credits**
Explores systems-level programming using compiled languages such as C and C++. Explores terminals, shells, C and C++ syntax, pointers, memory models, and more. Learn to design and implement C and C++ programs, navigate language build pipelines, use terminals and shells, solve problems with different memory models, and manage dynamic memory. Gains practical skills for real-world coding challenges.
**Prerequisite:** [CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162") with C or better or [CS 162H](https://catalog.oregonstate.edu/search/?P=CS%20162H "CSĀ 162H") with C or better
*Available via Ecampus*
## **CS 290, WEB DEVELOPMENT, 4 Credits**
How to design and implement a multi-tier application using web technologies: Creation of extensive custom client- and server-side code, consistent with achieving a high-quality software architecture.
**Prerequisite:** [CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162") with C or better or [CS 162H](https://catalog.oregonstate.edu/search/?P=CS%20162H "CSĀ 162H") with C or better or CS 165 with C or better
*Available via Ecampus*
## **CS 299, SPECIAL TOPICS, 0-4 Credits**
*This course is repeatable for 99 credits.*
## **CS 312, SYSTEM ADMINISTRATION, 4 Credits**
Introduction to system administration. Network administration and routing. Security issues. Computer, server, and network hardware.
**Prerequisite:** (CS 311 with C or better or CS 344 with C or better or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") with C or better) and ([CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372") \[C\] or [ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372") \[C\])
## **CS 321, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits**
Survey of models of computation including finite automata, formal grammars, and Turing machines.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\])
**Equivalent to:** [CS 321H](https://catalog.oregonstate.edu/search/?P=CS%20321H "CSĀ 321H")
*Available via Ecampus*
## **CS 321H, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits**
Survey of models of computation including finite automata, formal grammars, and Turing machines.
**Attributes:** HNRS ā Honors Course Designator
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\])
**Equivalent to:** [CS 321](https://catalog.oregonstate.edu/search/?P=CS%20321 "CSĀ 321")
## **CS 325, ANALYSIS OF ALGORITHMS, 4 Credits**
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\])
**Equivalent to:** [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H")
*Available via Ecampus*
## **CS 325H, ANALYSIS OF ALGORITHMS, 4 Credits**
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
**Attributes:** HNRS ā Honors Course Designator
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\])
**Equivalent to:** [CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325")
## **CS 331, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits**
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
**Prerequisite:** [CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325") with C or better or [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H") with C or better
**Equivalent to:** [CS 331H](https://catalog.oregonstate.edu/search/?P=CS%20331H "CSĀ 331H")
## **CS 331H, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits**
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
**Attributes:** HNRS ā Honors Course Designator
**Prerequisite:** [CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325") with C or better or [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H") with C or better
**Equivalent to:** [CS 331](https://catalog.oregonstate.edu/search/?P=CS%20331 "CSĀ 331")
## **CS 332, INTRO TO APPLIED DATA SCIENCE WITH PROGRAMMING, 4 Credits**
Explores the data science life cycle using appropriate Python libraries. Topics include current data science areas, data gathering, cleaning, formatting, and types, an introduction to supervised (decision trees) and unsupervised (clustering) learning, exploratory data analysis, data communication, decision science methodologies, storytelling, and narratives in data science.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
**Recommended:** [MTH 252Z](https://catalog.oregonstate.edu/search/?P=MTH%20252Z "MTHĀ 252Z") or [MTH 264](https://catalog.oregonstate.edu/search/?P=MTH%20264 "MTHĀ 264") and Python
*Available via Ecampus*
## **CS 340, INTRODUCTION TO DATABASES, 4 Credits**
Design and implementation of relational databases, including data modeling with ER or UML, diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration.
**Prerequisite:** [CS 290](https://catalog.oregonstate.edu/search/?P=CS%20290 "CSĀ 290") with C or better
*Available via Ecampus*
## **CS 352, INTRODUCTION TO USABILITY ENGINEERING, 4 Credits**
Explores basic principles of usability engineering methods for the design and evaluation of software systems. Includes the study of human-machine interactions, user interface characteristics and design strategies, software evaluation methods, and related guidelines and standards.
**Prerequisite:** CS 151 with C or better or [CS 161](https://catalog.oregonstate.edu/search/?P=CS%20161 "CSĀ 161") with C or better or CS 165 with C or better or CS 295 with C or better or ECE 151 with C or better or [ENGR 103](https://catalog.oregonstate.edu/search/?P=ENGR%20103 "ENGRĀ 103") with C or better or [ENGR 103H](https://catalog.oregonstate.edu/search/?P=ENGR%20103H "ENGRĀ 103H") with C or better
*Available via Ecampus*
## **CS 361, SOFTWARE ENGINEERING I, 4 Credits**
Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
*Available via Ecampus*
## **CS 362, SOFTWARE ENGINEERING II, 4 Credits**
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
**Equivalent to:** [CS 362H](https://catalog.oregonstate.edu/search/?P=CS%20362H "CSĀ 362H")
**Recommended:** Experience with object-oriented programming and data structures (eg. [CS 161](https://catalog.oregonstate.edu/search/?P=CS%20161 "CSĀ 161"), [CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162"), [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361"))
*Available via Ecampus*
## **CS 362H, SOFTWARE ENGINEERING II, 4 Credits**
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
**Attributes:** HNRS ā Honors Course Designator
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
**Equivalent to:** [CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362")
**Recommended:** Experience with object-oriented programming and data structures (eg. [CS 161](https://catalog.oregonstate.edu/search/?P=CS%20161 "CSĀ 161"), [CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162"), [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361"))
*Available via Ecampus*
## **CS 370, INTRODUCTION TO SECURITY, 4 Credits**
Introductory course on computer security with the objective to introduce concepts and principles of computer systems security. Notions of security, basic crytographic primitives and their application, basics of authentication and access control, basics of key-management, basics of malware and software security.
**Prerequisite:** CS 344 (may be taken concurrently) with C or better or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") (may be taken concurrently) with C or better
*Available via Ecampus*
## **CS 372, INTRODUCTION TO COMPUTER NETWORKS, 4 Credits**
Computer network principles, fundamental networking concepts, packet-switching and circuit switching, TCP/IP protocol layers, reliable data transfer, congestion control, flow control, packet forwarding and routing, MAC addressing, multiple access techniques. CROSSLISTED as [CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372")/[ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372").
**Prerequisite:** ([CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better) and ([ECE 271](https://catalog.oregonstate.edu/search/?P=ECE%20271 "ECEĀ 271") \[C\] or [CS 271](https://catalog.oregonstate.edu/search/?P=CS%20271 "CSĀ 271") \[C\])
**Equivalent to:** [ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372")
**Recommended:** C programming and Unix familiarity.
*Available via Ecampus*
## **CS 373, DEFENSE AGAINST THE DARK ARTS, 4 Credits**
Introduction to the current state of the art in anti-malware, computer forensics, and networking, messaging, and web security. Broad introduction to the field of computer security.
**Prerequisite:** [CS 340](https://catalog.oregonstate.edu/search/?P=CS%20340 "CSĀ 340") with C or better and (CS 344 \[C\] or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") \[C\]) and ([CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372") \[C\] or [ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372") \[C\])
*Available via Ecampus*
## **CS 374, OPERATING SYSTEMS I, 4 Credits**
Introduction to operating systems using UNIX as the case study. Emphasizes system calls and utilities, fundamentals of processes, and interprocess communication.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better and ([CS 271](https://catalog.oregonstate.edu/search/?P=CS%20271 "CSĀ 271") \[C\] or [ECE 271](https://catalog.oregonstate.edu/search/?P=ECE%20271 "ECEĀ 271") \[C\])
**Equivalent to:** CS 344
*Available via Ecampus*
## **CS 381, PROGRAMMING LANGUAGE FUNDAMENTALS, 4 Credits**
An introduction to the concepts found in a variety of programming languages. Programming languages as tools for problem solving. A brief introduction to languages from a number of different paradigms.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\])
*Available via Ecampus*
## **CS 391, \*SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits**
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society.
**Attributes:** CSST ā Bacc Core, Synthesis, Science/Technology/Society
**Equivalent to:** [CS 391H](https://catalog.oregonstate.edu/search/?P=CS%20391H "CSĀ 391H")
**Recommended:** [CS 101](https://catalog.oregonstate.edu/search/?P=CS%20101 "CSĀ 101") or computer literacy
*Available via Ecampus*
## **CS 391H, \*SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits**
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society.
**Attributes:** CSST ā Bacc Core, Synthesis, Science/Technology/Society; HNRS ā Honors Course Designator
**Equivalent to:** [CS 391](https://catalog.oregonstate.edu/search/?P=CS%20391 "CSĀ 391")
**Recommended:** [CS 101](https://catalog.oregonstate.edu/search/?P=CS%20101 "CSĀ 101") or computer literacy
## **CS 399, SPECIAL TOPICS, 0-4 Credits**
*This course is repeatable for 99 credits.*
*Available via Ecampus*
## **CS 401, RESEARCH, 1-16 Credits**
*This course is repeatable for 16 credits.*
*Available via Ecampus*
## **CS 403, THESIS, 1-16 Credits**
*This course is repeatable for 16 credits.*
*Available via Ecampus*
## **CS 404, WRITING AND CONFERENCE, 1-16 Credits**
*This course is repeatable for 16 credits.*
## **CS 405, READING AND CONFERENCE, 1-16 Credits**
*This course is repeatable for 16 credits.*
## **CS 406, PROJECTS, 1-16 Credits**
*This course is repeatable for 16 credits.*
*Available via Ecampus*
## **CS 407, SEMINAR, 1-16 Credits**
**Equivalent to:** [CS 407H](https://catalog.oregonstate.edu/search/?P=CS%20407H "CSĀ 407H")
*This course is repeatable for 16 credits.*
## **CS 407H, SEMINAR, 1-16 Credits**
**Attributes:** HNRS ā Honors Course Designator
**Equivalent to:** [CS 407](https://catalog.oregonstate.edu/search/?P=CS%20407 "CSĀ 407")
*This course is repeatable for 16 credits.*
## **CS 410, OCCUPATIONAL INTERNSHIP, 1-16 Credits**
*This course is repeatable for 16 credits.*
## **CS 419, SELECTED TOPICS IN COMPUTER SCIENCE, 0-5 Credits**
**Equivalent to:** [CS 419H](https://catalog.oregonstate.edu/search/?P=CS%20419H "CSĀ 419H")
*This course is repeatable for 99 credits.*
## **CS 419H, SELECTED TOPICS IN COMPUTER SCIENCE, 0-5 Credits**
**Attributes:** HNRS ā Honors Course Designator
**Equivalent to:** [CS 419](https://catalog.oregonstate.edu/search/?P=CS%20419 "CSĀ 419")
*This course is repeatable for 99 credits.*
## **CS 420, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits**
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
**Prerequisite:** [CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325") with C or better or [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H") with C or better
## **CS 424, CYBERSECURITY PRACTICUM I, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
**Prerequisite:** [CS 370](https://catalog.oregonstate.edu/search/?P=CS%20370 "CSĀ 370") with C or better and ([CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372") \[C\] or [ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372") \[C\])
**Recommended:** [CS 478](https://catalog.oregonstate.edu/search/?P=CS%20478 "CSĀ 478")
## **CS 425, CYBERSECURITY PRACTICUM II, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
**Prerequisite:** [CS 424](https://catalog.oregonstate.edu/search/?P=CS%20424 "CSĀ 424") with C or better
**Recommended:** [CS 478](https://catalog.oregonstate.edu/search/?P=CS%20478 "CSĀ 478")
## **CS 426, +CYBERSECURITY PRACTICUM III, 4 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
**Attributes:** CSC2 ā Core Ed - Beyond OSU Career Engagement
**Prerequisite:** [CS 425](https://catalog.oregonstate.edu/search/?P=CS%20425 "CSĀ 425") with C or better and [ENGR 102](https://catalog.oregonstate.edu/search/?P=ENGR%20102 "ENGRĀ 102") \[C\]
**Recommended:** [CS 478](https://catalog.oregonstate.edu/search/?P=CS%20478 "CSĀ 478")
## **CS 427, CRYPTOGRAPHY, 4 Credits**
Introduction to the theory and practice of modern cryptography. Fundamental primitives including pseudorandom generators, block ciphers, hash functions. Symmetric-key cryptography for privacy and authenticity. Public-key cryptography based on number-theoretic problems.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better or [MTH 355](https://catalog.oregonstate.edu/search/?P=MTH%20355 "MTHĀ 355") with C or better or [MTH 310](https://catalog.oregonstate.edu/search/?P=MTH%20310 "MTHĀ 310") with C or better
*Available via Ecampus*
## **CS 428, ^CYBERSECURITY CAPSTONE PROJECT, 3 Credits**
Utilize foundational knowledge of cybersecurity to complete a cybersecurity operations project. Develops skills for project development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
**Attributes:** CSWC ā Core Ed - Writing Intensive Curriculum (WIC); CWIC ā Bacc Core, Skills, Writing Intensive Curriculum (WIC)
**Prerequisite:** [CS 424](https://catalog.oregonstate.edu/search/?P=CS%20424 "CSĀ 424") with C or better and (WR 327 \[C\] or WR 327H \[C\] or [WR 227Z](https://catalog.oregonstate.edu/search/?P=WR%20227Z "WRĀ 227Z") \[C\] or [WR 227HZ](https://catalog.oregonstate.edu/search/?P=WR%20227HZ "WRĀ 227HZ") \[C\])
**Recommended:** [CS 478](https://catalog.oregonstate.edu/search/?P=CS%20478 "CSĀ 478") and [CS 426](https://catalog.oregonstate.edu/search/?P=CS%20426 "CSĀ 426")
## **CS 432, INTRODUCTION TO APPLIED MACHINE LEARNING, 4 Credits**
Explores and applies machine learning models and methods including unsupervised learning and supervised learning. Focuses on gathering, cleaning, and preparing data for various analyses. Distinguishes between unsupervised methods including clustering, and dimensionality reduction and supervised modeling methods including Decision Trees, Random Forest, Naive Bayes, Support Vector Machines, and Regression). Covers Training and Testing, Confusion Matrices, x-fold cross validation, visualization options, decision science, ethical considerations, and data communication. Uses Python, Sklearn, and related Python packages/libraries.
**Prerequisite:** [CS 332](https://catalog.oregonstate.edu/search/?P=CS%20332 "CSĀ 332") with C or better
*Available via Ecampus*
## **CS 434, MACHINE LEARNING AND DATA MINING, 4 Credits**
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
**Prerequisite:** ([CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325") with C or better or [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H") with C or better) and ([ST 314](https://catalog.oregonstate.edu/search/?P=ST%20314 "STĀ 314") \[C\] or [ECE 353](https://catalog.oregonstate.edu/search/?P=ECE%20353 "ECEĀ 353") \[C\])
**Equivalent to:** [CS 434H](https://catalog.oregonstate.edu/search/?P=CS%20434H "CSĀ 434H")
## **CS 434H, MACHINE LEARNING AND DATA MINING, 4 Credits**
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
**Attributes:** HNRS ā Honors Course Designator
**Prerequisite:** ([CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325") with C or better or [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H") with C or better) and ([ST 314](https://catalog.oregonstate.edu/search/?P=ST%20314 "STĀ 314") \[C\] or [ECE 353](https://catalog.oregonstate.edu/search/?P=ECE%20353 "ECEĀ 353") \[C\])
**Equivalent to:** [CS 434](https://catalog.oregonstate.edu/search/?P=CS%20434 "CSĀ 434")
## **CS 435, APPLIED DEEP LEARNING, 4 Credits**
Explores and applies several neural network architectures, including fully-connected, convolutional, and sequence model based network structures. Topics including gradient descent and optimization, feed forward and back propagation methods, loss functions, activation functions, training, testing, and validation of the networks, as well as other types of advanced networks. Applications including areas such as text sentiment analysis, image classification, and language translation.
**Prerequisite:** [CS 432](https://catalog.oregonstate.edu/search/?P=CS%20432 "CSĀ 432") with C or better or [CS 434](https://catalog.oregonstate.edu/search/?P=CS%20434 "CSĀ 434") with C or better or [CS 434H](https://catalog.oregonstate.edu/search/?P=CS%20434H "CSĀ 434H") with C or better
*Available via Ecampus*
## **CS 440, DATABASE MANAGEMENT SYSTEMS, 4 Credits**
Relational database design, normalization, file structures, disk storage, query processing and optimization, team development of database applications.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better and [CS 340](https://catalog.oregonstate.edu/search/?P=CS%20340 "CSĀ 340") \[C\]
## **CS 446, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits**
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as [BDS 446](https://catalog.oregonstate.edu/search/?P=BDS%20446 "BDSĀ 446")/[CS 446](https://catalog.oregonstate.edu/search/?P=CS%20446 "CSĀ 446").
**Prerequisite:** [CS 161](https://catalog.oregonstate.edu/search/?P=CS%20161 "CSĀ 161") with C or better or [BDS 310](https://catalog.oregonstate.edu/search/?P=BDS%20310 "BDSĀ 310") with C or better or BDS 470 with C or better or BOT 470 with C or better or BOT 476 with C or better or [ENGR 103](https://catalog.oregonstate.edu/search/?P=ENGR%20103 "ENGRĀ 103") with C or better or [ENGR 103H](https://catalog.oregonstate.edu/search/?P=ENGR%20103H "ENGRĀ 103H") with C or better
**Equivalent to:** [BDS 446](https://catalog.oregonstate.edu/search/?P=BDS%20446 "BDSĀ 446")
**Recommended:** Completion or concurrent enrollment in [CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325")
## **CS 450, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits**
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
*Available via Ecampus*
## **CS 453, SCIENTIFIC VISUALIZATION, 4 Credits**
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
**Recommended:** Prior experience with Unix or Windows, programming experience
## **CS 457, COMPUTER GRAPHICS SHADERS, 4 Credits**
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
**Recommended:** Graphics pipeline programming experience
*Available via Ecampus*
## **CS 458, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits**
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
**Prerequisite:** [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361") with C or better
## **CS 461, ^SENIOR SOFTWARE ENGINEERING PROJECT I, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
**Attributes:** CSWC ā Core Ed - Writing Intensive Curriculum (WIC); CWIC ā Bacc Core, Skills, Writing Intensive Curriculum (WIC)
**Prerequisite:** ([CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325") with C or better or [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H") with C or better) and [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361") \[C\] and ([CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362") \[C\] or [CS 362H](https://catalog.oregonstate.edu/search/?P=CS%20362H "CSĀ 362H") \[C\])
**Equivalent to:** [CS 461H](https://catalog.oregonstate.edu/search/?P=CS%20461H "CSĀ 461H")
*Available via Ecampus*
## **CS 461H, ^SENIOR SOFTWARE ENGINEERING PROJECT I, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
**Attributes:** CSWC ā Core Ed - Writing Intensive Curriculum (WIC); CWIC ā Bacc Core, Skills, Writing Intensive Curriculum (WIC); HNRS ā Honors Course Designator
**Prerequisite:** ([CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325") with C or better or [CS 325H](https://catalog.oregonstate.edu/search/?P=CS%20325H "CSĀ 325H") with C or better) and [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361") \[C\] and ([CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362") \[C\] or [CS 362H](https://catalog.oregonstate.edu/search/?P=CS%20362H "CSĀ 362H") \[C\])
**Equivalent to:** [CS 461](https://catalog.oregonstate.edu/search/?P=CS%20461 "CSĀ 461")
## **CS 462, ^SENIOR SOFTWARE ENGINEERING PROJECT II, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
**Attributes:** CSWC ā Core Ed - Writing Intensive Curriculum (WIC); CWIC ā Bacc Core, Skills, Writing Intensive Curriculum (WIC)
**Prerequisite:** ([CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362") with C or better or [CS 362H](https://catalog.oregonstate.edu/search/?P=CS%20362H "CSĀ 362H") with C or better) and ([CS 461](https://catalog.oregonstate.edu/search/?P=CS%20461 "CSĀ 461") \[C\] or [CS 461H](https://catalog.oregonstate.edu/search/?P=CS%20461H "CSĀ 461H") \[C\])
**Equivalent to:** [CS 462H](https://catalog.oregonstate.edu/search/?P=CS%20462H "CSĀ 462H")
*Available via Ecampus*
## **CS 462H, ^SENIOR SOFTWARE ENGINEERING PROJECT II, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
**Attributes:** CSWC ā Core Ed - Writing Intensive Curriculum (WIC); CWIC ā Bacc Core, Skills, Writing Intensive Curriculum (WIC); HNRS ā Honors Course Designator
**Prerequisite:** ([CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362") with C or better or [CS 362H](https://catalog.oregonstate.edu/search/?P=CS%20362H "CSĀ 362H") with C or better) and ([CS 461](https://catalog.oregonstate.edu/search/?P=CS%20461 "CSĀ 461") \[C\] or [CS 461H](https://catalog.oregonstate.edu/search/?P=CS%20461H "CSĀ 461H") \[C\])
**Equivalent to:** [CS 462](https://catalog.oregonstate.edu/search/?P=CS%20462 "CSĀ 462")
## **CS 463, +SENIOR SOFTWARE ENGINEERING PROJECT III, 2 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Work as a team to complete all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
**Attributes:** CSC2 ā Core Ed - Beyond OSU Career Engagement
**Prerequisite:** ([CS 462](https://catalog.oregonstate.edu/search/?P=CS%20462 "CSĀ 462") with C or better or [CS 462H](https://catalog.oregonstate.edu/search/?P=CS%20462H "CSĀ 462H") with C or better) and [ENGR 102](https://catalog.oregonstate.edu/search/?P=ENGR%20102 "ENGRĀ 102") \[C\]
**Equivalent to:** [CS 463H](https://catalog.oregonstate.edu/search/?P=CS%20463H "CSĀ 463H")
*Available via Ecampus*
## **CS 463H, +SENIOR SOFTWARE ENGINEERING PROJECT III, 2 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Work as a team to complete all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
**Attributes:** CSC2 ā Core Ed - Beyond OSU Career Engagement; HNRS ā Honors Course Designator
**Prerequisite:** ([CS 462](https://catalog.oregonstate.edu/search/?P=CS%20462 "CSĀ 462") with C or better or [CS 462H](https://catalog.oregonstate.edu/search/?P=CS%20462H "CSĀ 462H") with C or better) and [ENGR 102](https://catalog.oregonstate.edu/search/?P=ENGR%20102 "ENGRĀ 102") \[C\]
**Equivalent to:** [CS 463](https://catalog.oregonstate.edu/search/?P=CS%20463 "CSĀ 463")
## **CS 464, OPEN SOURCE SOFTWARE, 4 Credits**
Provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects. Provides opportunity to explore and make contributions to FOSS projects with some mentoring and guidance.
**Prerequisite:** [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361") with C or better or [CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362") with C or better
*Available via Ecampus*
## **CS 466, SOFTWARE START-UP I, 4 Credits**
Emphasizes real-world, hands-on learning in a high-tech web/mobile-based company environment. Covers research in the development of product ideas, hypotheses, and business models to create customer experiments. Conducts prototyping and statistical analysis to develop, optimize, and evaluate solutions. Includes rapid iteration/refactoring based on customer input, web analytics, and user engagement metrics.
**Corequisites:** [CS 461](https://catalog.oregonstate.edu/search/?P=CS%20461 "CSĀ 461")
## **CS 467, ONLINE CAPSTONE PROJECT, 4 Credits**
Real-world team-based experience with the software engineering design and delivery cycle, including requirements analysis and specification, design techniques, and requirements and final project written documentation.
**Prerequisite:** [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361") with C or better and ([CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362") \[C\] or [CS 362H](https://catalog.oregonstate.edu/search/?P=CS%20362H "CSĀ 362H") \[C\]) and (CS 344 \[C\] or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") \[C\])
*Available via Ecampus*
## **CS 468, INCLUSIVE DESIGN (HCI), 4 Credits**
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
**Prerequisite:** [CS 352](https://catalog.oregonstate.edu/search/?P=CS%20352 "CSĀ 352") with C or better
## **CS 469, STRUCTURED PROJECT, 2 Credits**
Facilitates the completion of a working software product chosen and designed by the student. Introduces students to planning, reporting progress, and presenting results of software development work carried out as a structured project.
*This course is repeatable for 16 credits.*
*Available via Ecampus*
## **CS 472, COMPUTER ARCHITECTURE, 4 Credits**
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as [CS 472](https://catalog.oregonstate.edu/search/?P=CS%20472 "CSĀ 472")/[ECE 472](https://catalog.oregonstate.edu/search/?P=ECE%20472 "ECEĀ 472").
**Prerequisite:** [ECE 370](https://catalog.oregonstate.edu/search/?P=ECE%20370 "ECEĀ 370") with C or better or [ECE 370H](https://catalog.oregonstate.edu/search/?P=ECE%20370H "ECEĀ 370H") with C or better or ECE 375 with C or better
**Equivalent to:** [ECE 472](https://catalog.oregonstate.edu/search/?P=ECE%20472 "ECEĀ 472")
*Available via Ecampus*
## **CS 473, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits**
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
**Prerequisite:** BA 479 with C or better or [BIS 471](https://catalog.oregonstate.edu/search/?P=BIS%20471 "BISĀ 471") with C or better or ((CS 344 with C or better or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") with C or better) and [CS 370](https://catalog.oregonstate.edu/search/?P=CS%20370 "CSĀ 370") \[C\])
**Equivalent to:** CS 477
*Available via Ecampus*
## **CS 474, OPERATING SYSTEMS II, 4 Credits**
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
**Prerequisite:** (CS 344 with C or better or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") with C or better) and ([CS 271](https://catalog.oregonstate.edu/search/?P=CS%20271 "CSĀ 271") \[C\] or ECE 375 \[C\])
**Equivalent to:** CS 444
*Available via Ecampus*
## **CS 475, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits**
Theoretical and practical survey of parallel programming, including a discussion of parallel architectures, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
**Prerequisite:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better
*Available via Ecampus*
## **CS 476, ADVANCED COMPUTER NETWORKING, 4 Credits**
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as [CS 476](https://catalog.oregonstate.edu/search/?P=CS%20476 "CSĀ 476")/[ECE 476](https://catalog.oregonstate.edu/search/?P=ECE%20476 "ECEĀ 476").
**Prerequisite:** ([CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372") with C or better or [ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372") with C or better) and ([ECE 353](https://catalog.oregonstate.edu/search/?P=ECE%20353 "ECEĀ 353") \[C\] or [ST 314](https://catalog.oregonstate.edu/search/?P=ST%20314 "STĀ 314") \[C\] or ST 314H \[C\])
**Equivalent to:** [ECE 476](https://catalog.oregonstate.edu/search/?P=ECE%20476 "ECEĀ 476")
## **CS 478, NETWORK SECURITY, 4 Credits**
Basic concepts and techniques in network security, risks and vulnerabilities, applied cryptography and various network security protocols. Coverage of high-level concepts such as authentication, confidentiality, integrity, and availability applied to networking systems. Fundamental techniques including authentication protocols, group key establishment and management, trusted intermediaries, public key infrastructures, SSL/TLS, IPSec, firewalls and intrusion detection CROSSLISTED as [CS 478](https://catalog.oregonstate.edu/search/?P=CS%20478 "CSĀ 478")/[ECE 478](https://catalog.oregonstate.edu/search/?P=ECE%20478 "ECEĀ 478").
**Prerequisite:** [CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372") with C or better or [ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372") with C or better
**Equivalent to:** [ECE 478](https://catalog.oregonstate.edu/search/?P=ECE%20478 "ECEĀ 478")
**Recommended:** [CS 370](https://catalog.oregonstate.edu/search/?P=CS%20370 "CSĀ 370")
*Available via Ecampus*
## **CS 480, TRANSLATORS, 4 Credits**
Explores content on the subject of compilers; attribute grammars, syntax-directed translation, lex, yacc, LR(1) parsers, symbol tables, semantic analysis, and peep-hole optimization.
**Prerequisite:** [CS 381](https://catalog.oregonstate.edu/search/?P=CS%20381 "CSĀ 381") with C or better and ([CS 321](https://catalog.oregonstate.edu/search/?P=CS%20321 "CSĀ 321") \[C\] or [CS 321H](https://catalog.oregonstate.edu/search/?P=CS%20321H "CSĀ 321H") \[C\]) and (CS 344 \[C\] or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") \[C\])
## **CS 491, COMPUTER SCIENCE SKILLS FOR SIMULATION AND GAME PROGRAMMING, 4 Credits**
Game and simulation development is very much a data and math-intensive activity. A certain number of actions must be produced, and producing them by hand is hard. This is a middleware CS course that fills in many of the missing pieces for those wanting to enter the simulation and game development worlds in a software tool-building capacity.
**Prerequisite:** ([CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") with C or better or [CS 261H](https://catalog.oregonstate.edu/search/?P=CS%20261H "CSĀ 261H") with C or better) and ([CS 225](https://catalog.oregonstate.edu/search/?P=CS%20225 "CSĀ 225") \[C\] or [MTH 231](https://catalog.oregonstate.edu/search/?P=MTH%20231 "MTHĀ 231") \[C\] or [MTH 231H](https://catalog.oregonstate.edu/search/?P=MTH%20231H "MTHĀ 231H") \[C\]) and ([MTH 252Z](https://catalog.oregonstate.edu/search/?P=MTH%20252Z "MTHĀ 252Z") \[C\] or [MTH 252HZ](https://catalog.oregonstate.edu/search/?P=MTH%20252HZ "MTHĀ 252HZ") \[C\] or MTH 252 \[C\] or MTH 252H \[C\])
## **CS 492, MOBILE SOFTWARE DEVELOPMENT, 4 Credits**
Introduction to concepts and techniques for developing mobile applications. Become familiar with modern mobile structure, implementation, development tools, and workflow.
**Prerequisite:** CS 344 with C or better or [CS 374](https://catalog.oregonstate.edu/search/?P=CS%20374 "CSĀ 374") with C or better
*Available via Ecampus*
## **CS 493, CLOUD APPLICATION DEVELOPMENT, 4 Credits**
Covers developing RESTful cloud services, an approach based on representational state transfer technology, an architectural style and approach to communications used in modern cloud services development.
**Prerequisite:** [CS 290](https://catalog.oregonstate.edu/search/?P=CS%20290 "CSĀ 290") with C or better and [CS 340](https://catalog.oregonstate.edu/search/?P=CS%20340 "CSĀ 340") \[C\] and [CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372") \[C\]
*Available via Ecampus*
## **CS 494, ADVANCED WEB DEVELOPMENT, 4 Credits**
Explores advanced concepts and techniques for developing client-side web applications. Emphasizes modern application design using contemporary tools and technologies such as component-based UI frameworks.
**Prerequisite:** [CS 290](https://catalog.oregonstate.edu/search/?P=CS%20290 "CSĀ 290") with C or better and [CS 340](https://catalog.oregonstate.edu/search/?P=CS%20340 "CSĀ 340") \[C\]
## **CS 499, SPECIAL TOPICS, 0-16 Credits**
*This course is repeatable for 16 credits.*
*Available via Ecampus*
## **CS 501, RESEARCH, 1-16 Credits**
*This course is repeatable for 99 credits.*
*Available via Ecampus*
## **CS 503, COMPUTER SCIENCE MS THESIS, 1-16 Credits**
*This course is repeatable for 999 credits.*
*Available via Ecampus*
## **CS 504, WRITING AND CONFERENCE/EXPLORATION, 1-9 Credits**
*This course is repeatable for 15 credits.*
## **CS 505, READING AND CONFERENCE, 1-16 Credits**
*This course is repeatable for 20 credits.*
## **CS 506, PROJECTS, 1-16 Credits**
*This course is repeatable for 99 credits.*
## **CS 507, SEMINAR, 1-16 Credits**
*This course is repeatable for 16 credits.*
## **CS 510, OCCUPATIONAL INTERNSHIP, 1-16 Credits**
*This course is repeatable for 99 credits.*
*Available via Ecampus*
## **CS 511, PROGRAMMING AND DATA STRUCTURES, 4 Credits**
Focuses on computer programming, problem solving, data structures, object-oriented programming, sorting, asymptotic time complexity.
**Recommended:** College algebra, plus the ability to navigate an operating system, manipulate files, and use a command line.
*Available via Ecampus*
## **CS 512, DATA SCIENCE TOOLS AND PROGRAMMING, 4 Credits**
Accessing and distributing data in the cloud; relational and non-relational databases; map reduction; cloud data processing; load balancing; types of data-stores used in the cloud.
**Recommended:** [CS 511](https://catalog.oregonstate.edu/search/?P=CS%20511 "CSĀ 511") or an equivalent course or programming experience in in a high-level language like Python, Java or C++
*Available via Ecampus*
## **CS 513, APPLIED MACHINE LEARNING, 4 Credits**
Explores machine learning basics (variance and bias, underfitting and overfitting, etc). Reviews linear algebra and Numpy. Examines k-nearest neighbors, linear classification (perceptron and online learning), and linear and non-linear regression. Explores applications in housing price prediction (Kaggle contest) and text classification (sentiment analysis).
*Available via Ecampus*
## **CS 514, ALGORITHMS: DESIGN, ANALYSIS, AND IMPLEMENTATION, 4 Credits**
Explores sorting and selection algorithms including divide-and-conquer, quicksort/quick select, merge sort, binary search trees, memorization, heaps and heapsort, priority queues, hashing, hashed heaps; asymptotic complexity analysis including the Master equation, tree method, amortization; Dynamic Programming on sequences, graphs, trees, and intervals; Graph algorithms including breadth-first search, depth-first search, topological sort, shortest path, minimum spanning tree, network flow. NP-hard and NP-Complete problems.
**Recommended:** Experience with algorithms and [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261") or an equivalent undergraduate Data Structures course with a minimum grade of B
*Available via Ecampus*
## **CS 515, ALGORITHMS AND DATA STRUCTURES, 4 Credits**
Greedy algorithms, divide and conquer, dynamic programming, network flow, data structures.
**Recommended:** Undergraduate course in algorithms
## **CS 517, THEORY OF COMPUTATION, 4 Credits**
Turing machines, decidability, NP-completeness, complexity classes, randomized computation, relativization, circuit complexity, interactive proof systems, lower bounds, cryptography.
## **CS 519, SELECTED TOPICS IN COMPUTER SCIENCE, 0-5 Credits**
*This course is repeatable for 99 credits.*
## **CS 520, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits**
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
**Recommended:** [CS 325](https://catalog.oregonstate.edu/search/?P=CS%20325 "CSĀ 325")
*Available via Ecampus*
## **CS 524, CYBERSECURITY PRACTICUM I, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
## **CS 525, CYBERSECURITY PRACTICUM II, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
**Prerequisite:** [CS 524](https://catalog.oregonstate.edu/search/?P=CS%20524 "CSĀ 524") with C or better
## **CS 526, CYBERSECURITY PRACTICUM III, 4 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
**Prerequisite:** [CS 525](https://catalog.oregonstate.edu/search/?P=CS%20525 "CSĀ 525") with C or better
## **CS 527, ERROR-CORRECTING CODES, 4 Credits**
Hamming codes, linear codes, cyclic codes, BCH and Reed-Solomon codes. Introduction to Galois fields. Encoding and decoding algorithms. Burst error correcting codes, asymmetric and unidirectional codes. Applications of codes for computer systems.
**Recommended:** Discrete math and probability
## **CS 529, SELECTED TOPICS IN THEORETICAL COMPUTER SCIENCE, 1-5 Credits**
*This course is repeatable for 99 credits.*
**Recommended:** [CS 515](https://catalog.oregonstate.edu/search/?P=CS%20515 "CSĀ 515")
*Available via Ecampus*
## **CS 540, DATABASE MANAGEMENT SYSTEMS, 4 Credits**
Purpose of database systems, levels of data representation. Entity-relationship model. Relational systems: data definition, data manipulation, query language (SQL), relational calculus and algebra, data dependencies and normal forms. DBTG network model. Query optimization, recovery, concurrency control.
**Recommended:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261")
*Available via Ecampus*
## **CS 546, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits**
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as [BDS 546](https://catalog.oregonstate.edu/search/?P=BDS%20546 "BDSĀ 546")/[CS 546](https://catalog.oregonstate.edu/search/?P=CS%20546 "CSĀ 546").
**Equivalent to:** [BDS 546](https://catalog.oregonstate.edu/search/?P=BDS%20546 "BDSĀ 546")
## **CS 549, SELECTED TOPICS ON DATA SCIENCE & SYSTEMS, 1-5 Credits**
*This course is repeatable for 99 credits.*
**Recommended:** [CS 540](https://catalog.oregonstate.edu/search/?P=CS%20540 "CSĀ 540")
## **CS 550, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits**
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
**Recommended:** [CS 261](https://catalog.oregonstate.edu/search/?P=CS%20261 "CSĀ 261")
*Available via Ecampus*
## **CS 551, COMPUTER GRAPHICS, 4 Credits**
3-D graphics hardware: Line and polygon scan conversion, modeling transformations, viewing transformations, matrix stacks, hierarchical models, perspective and orthographic projections, visible surface determination, illumination models, shading models, texture mapping, ray tracing.
**Recommended:** [CS 450](https://catalog.oregonstate.edu/search/?P=CS%20450 "CSĀ 450") or [CS 550](https://catalog.oregonstate.edu/search/?P=CS%20550 "CSĀ 550")
## **CS 552, COMPUTER ANIMATION, 4 Credits**
Traditional animation concepts: production pipeline, keyframing implementation, interpolation, point-mass dynamics, spring-mass systems, rigid body dynamics, forward and inverse kinematics, human motion control, motion capture.
**Recommended:** [CS 551](https://catalog.oregonstate.edu/search/?P=CS%20551 "CSĀ 551")
## **CS 553, SCIENTIFIC VISUALIZATION, 4 Credits**
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
**Recommended:** Prior experience with Unix or Windows, programming experience
## **CS 554, GEOMETRIC MODELING IN COMPUTER GRAPHICS, 4 Credits**
Advanced topics in computer graphics focusing on representation and processing of polygonal models and their application. Surface fundamentals; discrete differential geometry and topology; data structures for representing 3-D surfaces; surface subdivision and smoothing; mesh simplification and multi-resolution representation of 3-D surfaces; geometry compression; surface parameterization; geometry remeshing; topological simplification; implicit surfaces.
**Recommended:** [CS 450](https://catalog.oregonstate.edu/search/?P=CS%20450 "CSĀ 450")
## **CS 557, COMPUTER GRAPHICS SHADERS, 4 Credits**
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
**Recommended:** Graphics pipeline programming experience
*Available via Ecampus*
## **CS 558, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits**
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
## **CS 559, SELECTED TOPICS IN COMPUTER GRAPHICS AND VISION, 0-5 Credits**
*This course is repeatable for 99 credits.*
## **CS 560, DATA-DRIVEN SOFTWARE ENGINEERING, 4 Credits**
An overview of data-driven empirical research methods that can be used to understand the different aspects of software engineering.
**Prerequisite:** [CS 561](https://catalog.oregonstate.edu/search/?P=CS%20561 "CSĀ 561") with C or better
## **CS 561, SOFTWARE ENGINEERING METHODS, 4 Credits**
Master software engineering methods and supporting tools in the context of agile processes. Teams will engage in all aspects of software development including design, testing, implementation, deployment and maintenance.
**Recommended:** [CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362")
*Available via Ecampus*
## **CS 562, SOFTWARE PROJECT MANAGEMENT, 4 Credits**
Apply project management principles for software development projects. Provide practice for different software leadership roles during a simulated real-world hardware-software project. Apply software project management principles and industry best practices to manage the development of a term-long real-world project chosen and designed by the student. Topics include project planning, scope, work breakdowns, incremental development, scheduling and budgeting, risk management, change management, progress reporting, and final deliverables.
**Recommended:** [CS 162](https://catalog.oregonstate.edu/search/?P=CS%20162 "CSĀ 162"), [CS 361](https://catalog.oregonstate.edu/search/?P=CS%20361 "CSĀ 361"), [CS 362](https://catalog.oregonstate.edu/search/?P=CS%20362 "CSĀ 362") or equivalent experience in software development and software engineering
*Available via Ecampus*
## **CS 563, SOFTWARE MAINTENANCE AND EVOLUTION, 4 Credits**
Contribute to the cutting-edge of software engineering. Explore existing techniques and supporting tools, with a particular focus on maintenance and evolution. Identify opportunities to support software maintenance and evolution more effectively, by creating new knowledge and supporting systems through research and innovation.
## **CS 564, FIELD STUDIES IN SE AND HCI, 4 Credits**
Deals with the type of empirical study known as the "case" study. These are studies that collect data from natural software development situations as they really occur in the field, in which the researcher does not manipulate or "control" anything. The course is an end-to-end coverage of the process. Mainly focuses on case studies involving human software developers in the field. The student will conduct a field study as part of this course.
## **CS 565, HUMAN-COMPUTER INTERACTION, 4 Credits**
Basic principles of Human-Computer Interaction (HCI) for the design and evaluation of software systems. Includes research methods for studying human-machine interactions and user interfaces, design strategies, software evaluation methods, and related guidelines and standards.
*Available via Ecampus*
## **CS 567, LABORATORY STUDIES IN SE AND HCI, 4 Credits**
Empirical lab studies of software development. Covers how to go about designing, preparing for, running, analyzing, and writing-for-publication lab experiments of programming situations involving human subjects. This is an end-to-end coverage of the entire process, and will put students in a position to conduct lab studies of their own with human subjects.
## **CS 568, INCLUSIVE DESIGN (HCI), 4 Credits**
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
**Recommended:** [CS 352](https://catalog.oregonstate.edu/search/?P=CS%20352 "CSĀ 352") or [CS 565](https://catalog.oregonstate.edu/search/?P=CS%20565 "CSĀ 565") with a minimum grade of C
## **CS 569, SELECTED TOPICS IN SOFTWARE ENGINEERING, 1-5 Credits**
*This course is repeatable for 99 credits.*
**Recommended:** [CS 561](https://catalog.oregonstate.edu/search/?P=CS%20561 "CSĀ 561")
## **CS 570, HIGH PERFORMANCE COMPUTER ARCHITECTURE, 4 Credits**
Advanced concepts in computer architecture. Performance improvement employing advanced pipelining and multiple instruction scheduling techniques. Issues in memory hierarchy and management. CROSSLISTED as [CS 570](https://catalog.oregonstate.edu/search/?P=CS%20570 "CSĀ 570")/[ECE 570](https://catalog.oregonstate.edu/search/?P=ECE%20570 "ECEĀ 570").
**Equivalent to:** [ECE 570](https://catalog.oregonstate.edu/search/?P=ECE%20570 "ECEĀ 570")
**Recommended:** [ECE 472](https://catalog.oregonstate.edu/search/?P=ECE%20472 "ECEĀ 472") or [ECE 572](https://catalog.oregonstate.edu/search/?P=ECE%20572 "ECEĀ 572")
## **CS 572, COMPUTER ARCHITECTURE, 4 Credits**
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as [CS 572](https://catalog.oregonstate.edu/search/?P=CS%20572 "CSĀ 572")/[ECE 572](https://catalog.oregonstate.edu/search/?P=ECE%20572 "ECEĀ 572").
**Equivalent to:** [ECE 572](https://catalog.oregonstate.edu/search/?P=ECE%20572 "ECEĀ 572")
**Recommended:** [ECE 370](https://catalog.oregonstate.edu/search/?P=ECE%20370 "ECEĀ 370") or ECE 375
*Available via Ecampus*
## **CS 573, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits**
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
*Available via Ecampus*
## **CS 574, OPERATING SYSTEMS II, 4 Credits**
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
**Equivalent to:** CS 544
## **CS 575, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits**
Theoretical and practical survey of parallel programming, including a discussion of parallel architecture, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
*Available via Ecampus*
## **CS 576, ADVANCED COMPUTER NETWORKING, 4 Credits**
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as [CS 576](https://catalog.oregonstate.edu/search/?P=CS%20576 "CSĀ 576")/[ECE 576](https://catalog.oregonstate.edu/search/?P=ECE%20576 "ECEĀ 576").
**Equivalent to:** [ECE 576](https://catalog.oregonstate.edu/search/?P=ECE%20576 "ECEĀ 576")
**Recommended:** ([CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372") or [ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372")) and ([ECE 353](https://catalog.oregonstate.edu/search/?P=ECE%20353 "ECEĀ 353") or [ST 314](https://catalog.oregonstate.edu/search/?P=ST%20314 "STĀ 314"))
*Available via Ecampus*
## **CS 577, PRIVACY AND SURVEILLANCE, 4 Credits**
Explores the need for privacy and theories of surveillance. Examines the current state of privacy-enhancing technologies. Emphasizes the critical reading and discussion of technical literature on privacy-enhancing technologies.
## **CS 578, CYBER-SECURITY, 4 Credits**
A broad overview of the field of computer and network security. Essential cryptographic mechanisms such as symmetric and public-key cryptography (e.g., encryption, signatures), network security and authentication protocols (e.g., Kerberos, TLS, IPSec), system security (e.g., access control, firewalls), advanced topics (e.g., searchable encryption, cloud security, secure computation). CROSSLISTED as [CS 578](https://catalog.oregonstate.edu/search/?P=CS%20578 "CSĀ 578")/[ECE 578](https://catalog.oregonstate.edu/search/?P=ECE%20578 "ECEĀ 578").
**Equivalent to:** [ECE 578](https://catalog.oregonstate.edu/search/?P=ECE%20578 "ECEĀ 578")
## **CS 579, TOPICS IN COMPUTER ARCHITECTURE AND PARALLEL PROCESSING, 0-5 Credits**
*This course is repeatable for 99 credits.*
**Recommended:** [CS 575](https://catalog.oregonstate.edu/search/?P=CS%20575 "CSĀ 575") or [CS 572](https://catalog.oregonstate.edu/search/?P=CS%20572 "CSĀ 572") or [ECE 572](https://catalog.oregonstate.edu/search/?P=ECE%20572 "ECEĀ 572")
*Available via Ecampus*
## **CS 581, PROGRAMMING LANGUAGES I, 4 Credits**
Introduces functional programming and programming language theory. Focuses on strongly typed functional programming, abstract syntax and grammars, interpreters, denotational and/or operational semantics, and lambda calculus.
*Available via Ecampus*
## **CS 582, PROGRAMMING LANGUAGES II, 4 Credits**
Essentials of programming language theory for understanding and conducting programming language research. Dependently typed programming in Agda, Coq, or Idris; operational semantics; type systems; unification and type inference.
**Prerequisite:** [CS 581](https://catalog.oregonstate.edu/search/?P=CS%20581 "CSĀ 581") with C or better
## **CS 583, ADVANCED FUNCTIONAL PROGRAMMING, 4 Credits**
Advanced functional programming concepts and strategies, with a focus on techniques useful for the design and implementation of programming languages. Includes higher-order abstract syntax, functors and monads, generalized algebraic data types, functional data structures, and graph reduction.
**Prerequisite:** [CS 581](https://catalog.oregonstate.edu/search/?P=CS%20581 "CSĀ 581") with C or better
## **CS 585, DOMAIN-SPECIFIC LANGUAGES, 4 Credits**
Introduction to the design and implementation of domain-specific languages (DSLs). Domain analysis; review and revision of language designs; binding constructs to support abstraction; definition of syntax and semantics of DSLs; prototype implementation of embedded DSL.
**Prerequisite:** [CS 581](https://catalog.oregonstate.edu/search/?P=CS%20581 "CSĀ 581") with C or better
## **CS 589, SELECTED TOPICS IN PROGRAMMING LANGUAGES, 1-5 Credits**
*This course is repeatable for 99 credits.*
## **CS 599, SPECIAL TOPICS, 0-16 Credits**
*This course is repeatable for 16 credits.*
## **CS 601, RESEARCH, 1-16 Credits**
*This course is repeatable for 99 credits.*
## **CS 603, COMPUTER SCIENCE PHD THESIS, 1-16 Credits**
*This course is repeatable for 999 credits.*
## **CS 605, READING AND CONFERENCE, 1-16 Credits**
*This course is repeatable for 16 credits.*
## **CS 607, SEMINAR, 1-16 Credits**
*This course is repeatable for 16 credits.*
## 2025-2026 Catalog
- [Academic Advising](https://catalog.oregonstate.edu/advising/)
- [Academic Regulations](https://catalog.oregonstate.edu/regulations/)
- [Administration &ā Accreditation](https://catalog.oregonstate.edu/administration-accreditation/)
- [Admission to Oregon State University](https://catalog.oregonstate.edu/admission/)
- [Archives](https://catalog.oregonstate.edu/archives/)
- [Colleges, Schools, Departments &ā Programs](https://catalog.oregonstate.edu/college-departments/)
- [Core Education](https://catalog.oregonstate.edu/core-education/)
- [Course Descriptions](https://catalog.oregonstate.edu/courses/)
- [Academic Learning Services (ALS)](https://catalog.oregonstate.edu/courses/als/)
- [Accounting (ACTG)](https://catalog.oregonstate.edu/courses/actg/)
- [Adult Education &ā Higher Education Leadership (AHE)](https://catalog.oregonstate.edu/courses/ahe/)
- [Aeronautical &ā Astronautical Engineering (AAE)](https://catalog.oregonstate.edu/courses/aae/)
- [Aerospace Studies (AS)](https://catalog.oregonstate.edu/courses/as/)
- [Agricultural Education (AED)](https://catalog.oregonstate.edu/courses/aed/)
- [Agricultural Sciences (AGRI)](https://catalog.oregonstate.edu/courses/agri/)
- [Agriculture-āGeneral (AG)](https://catalog.oregonstate.edu/courses/ag/)
- [American Sign Language (ASL)](https://catalog.oregonstate.edu/courses/asl/)
- [American Studies Program (AMS)](https://catalog.oregonstate.edu/courses/ams/)
- [Animal Sciences (ANS)](https://catalog.oregonstate.edu/courses/ans/)
- [Anthropology (ANTH)](https://catalog.oregonstate.edu/courses/anth/)
- [Applied Economics (AEC)](https://catalog.oregonstate.edu/courses/aec/)
- [Applied Journalism (AJ)](https://catalog.oregonstate.edu/courses/aj/)
- [Architectural Engineering (ARE)](https://catalog.oregonstate.edu/courses/are/)
- [Art (ART)](https://catalog.oregonstate.edu/courses/art/)
- [Artificial Intelligence (AI)](https://catalog.oregonstate.edu/courses/ai/)
- [Arts, Media, and Technology (AMT)](https://catalog.oregonstate.edu/courses/amt/)
- [Athletic Training (AT)](https://catalog.oregonstate.edu/courses/at/)
- [Atmospheric Sciences (ATS)](https://catalog.oregonstate.edu/courses/ats/)
- [Biochemistry and Biophysics (BB)](https://catalog.oregonstate.edu/courses/bb/)
- [BioHealth Sciences (BHS)](https://catalog.oregonstate.edu/courses/bhs/)
- [Biological &ā Ecological Engineering (BEE)](https://catalog.oregonstate.edu/courses/bee/)
- [Biological Data Sciences (BDS)](https://catalog.oregonstate.edu/courses/bds/)
- [Biological Engineering (BIOE)](https://catalog.oregonstate.edu/courses/bioe/)
- [Biology (BI)](https://catalog.oregonstate.edu/courses/bi/)
- [Bioresource Research (BRR)](https://catalog.oregonstate.edu/courses/brr/)
- [Botany and Plant Pathology (BOT)](https://catalog.oregonstate.edu/courses/bot/)
- [Business Administration (BA)](https://catalog.oregonstate.edu/courses/ba/)
- [Business Analytics (BANA)](https://catalog.oregonstate.edu/courses/bana/)
- [Business Information Systems (BIS)](https://catalog.oregonstate.edu/courses/bis/)
- [Chemical Engineering (CHE)](https://catalog.oregonstate.edu/courses/che/)
- [Chemical, Biological &ā Environmental Engineering (CBEE)](https://catalog.oregonstate.edu/courses/cbee/)
- [Chemistry (CH)](https://catalog.oregonstate.edu/courses/ch/)
- [Chinese (CHN)](https://catalog.oregonstate.edu/courses/chn/)
- [Civil and Construction Engineering (CCE)](https://catalog.oregonstate.edu/courses/cce/)
- [Civil Engineering (CE)](https://catalog.oregonstate.edu/courses/ce/)
- [College Student Services Administration (CSSA)](https://catalog.oregonstate.edu/courses/cssa/)
- [Communication (COMM)](https://catalog.oregonstate.edu/courses/comm/)
- [Computer Science (CS)](https://catalog.oregonstate.edu/courses/cs/)
- [Construction Engineering Management (CEM)](https://catalog.oregonstate.edu/courses/cem/)
- [Counseling (COUN)](https://catalog.oregonstate.edu/courses/coun/)
- [Crop &ā Soil Science (CSS)](https://catalog.oregonstate.edu/courses/css/)
- [Crop Science (CROP)](https://catalog.oregonstate.edu/courses/crop/)
- [Data Science (DS)](https://catalog.oregonstate.edu/courses/ds/)
- [Design (DSGN)](https://catalog.oregonstate.edu/courses/dsgn/)
- [Design for Social Impact (DSI)](https://catalog.oregonstate.edu/courses/dsi/)
- [Economics (ECON)](https://catalog.oregonstate.edu/courses/econ/)
- [Education (ED)](https://catalog.oregonstate.edu/courses/ed/)
- [Electrical &ā Computer Engineering (ECE)](https://catalog.oregonstate.edu/courses/ece/)
- [Energy Systems Engineering (ESE)](https://catalog.oregonstate.edu/courses/ese/)
- [Engineering Management (EMGT)](https://catalog.oregonstate.edu/courses/emgt/)
- [Engineering Science (ENGR)](https://catalog.oregonstate.edu/courses/engr/)
- [English (ENG)](https://catalog.oregonstate.edu/courses/eng/)
- [Entomology (ENT)](https://catalog.oregonstate.edu/courses/ent/)
- [Environmental Arts &ā Humanities (EAH)](https://catalog.oregonstate.edu/courses/eah/)
- [Environmental Engineering (ENVE)](https://catalog.oregonstate.edu/courses/enve/)
- [Environmental Sciences (ENSC)](https://catalog.oregonstate.edu/courses/ensc/)
- [Ethnic Studies (ES)](https://catalog.oregonstate.edu/courses/es/)
- [Film Studies (FILM)](https://catalog.oregonstate.edu/courses/film/)
- [Finance (FIN)](https://catalog.oregonstate.edu/courses/fin/)
- [Fisheries and Wildlife (FW)](https://catalog.oregonstate.edu/courses/fw/)
- [Food in Culture &ā Social Justice (FCSJ)](https://catalog.oregonstate.edu/courses/fcsj/)
- [Food Science and Technology (FST)](https://catalog.oregonstate.edu/courses/fst/)
- [Forest Ecosystems and Society (FES)](https://catalog.oregonstate.edu/courses/fes/)
- [Forest Engineering (FE)](https://catalog.oregonstate.edu/courses/fe/)
- [Forestry (FOR)](https://catalog.oregonstate.edu/courses/for/)
- [French (FR)](https://catalog.oregonstate.edu/courses/fr/)
- [Geography (GEOG)](https://catalog.oregonstate.edu/courses/geog/)
- [Geophysics (GPH)](https://catalog.oregonstate.edu/courses/gph/)
- [Geosciences (GEO)](https://catalog.oregonstate.edu/courses/geo/)
- [German (GER)](https://catalog.oregonstate.edu/courses/ger/)
- [Graduate Education (GRAD)](https://catalog.oregonstate.edu/courses/grad/)
- [Graphic Design (GD)](https://catalog.oregonstate.edu/courses/gd/)
- [Health and Human Sciences (HHS)](https://catalog.oregonstate.edu/courses/hhs/)
- [History (HST)](https://catalog.oregonstate.edu/courses/hst/)
- [History of Science (HSTS)](https://catalog.oregonstate.edu/courses/hsts/)
- [Honors College (HC)](https://catalog.oregonstate.edu/courses/hc/)
- [Horticulture (HORT)](https://catalog.oregonstate.edu/courses/hort/)
- [Hospitality Management (HM)](https://catalog.oregonstate.edu/courses/hm/)
- [Human Development and Family Sciences (HDFS)](https://catalog.oregonstate.edu/courses/hdfs/)
- [Humanitarian Engineering, Science &ā Technology (HEST)](https://catalog.oregonstate.edu/courses/hest/)
- [Industrial and Manufacturing Engineering (IE)](https://catalog.oregonstate.edu/courses/ie/)
- [Integrative Biology (IB)](https://catalog.oregonstate.edu/courses/ib/)
- [Intensive English Program Academic English (IEPA)](https://catalog.oregonstate.edu/courses/iepa/)
- [Intensive English Program General English (IEPG)](https://catalog.oregonstate.edu/courses/iepg/)
- [Intensive English Program General English (IEPH)](https://catalog.oregonstate.edu/courses/ieph/)
- [Interdisciplinary Programs (IST)](https://catalog.oregonstate.edu/courses/ist/)
- [International Degree (INTL)](https://catalog.oregonstate.edu/courses/intl/)
- [Italian (IT)](https://catalog.oregonstate.edu/courses/it/)
- [Japanese (JPN)](https://catalog.oregonstate.edu/courses/jpn/)
- [Kinesiology (KIN)](https://catalog.oregonstate.edu/courses/kin/)
- [Korean (KOR)](https://catalog.oregonstate.edu/courses/kor/)
- [Leadership (LEAD)](https://catalog.oregonstate.edu/courses/lead/)
- [Liberal Arts (LA)](https://catalog.oregonstate.edu/courses/la/)
- [Liberal Studies (LS)](https://catalog.oregonstate.edu/courses/ls/)
- [Linguistics (LING)](https://catalog.oregonstate.edu/courses/ling/)
- [Management (MGMT)](https://catalog.oregonstate.edu/courses/mgmt/)
- [Manufacturing Engineering (MFGE)](https://catalog.oregonstate.edu/courses/mfge/)
- [Marine Resource Management (MRM)](https://catalog.oregonstate.edu/courses/mrm/)
- [Marine Studies (MAST)](https://catalog.oregonstate.edu/courses/mast/)
- [Marketing (MRKT)](https://catalog.oregonstate.edu/courses/mrkt/)
- [Master of Natural Resources (MNR)](https://catalog.oregonstate.edu/courses/mnr/)
- [Materials Science (MATS)](https://catalog.oregonstate.edu/courses/mats/)
- [Mathematics (MTH)](https://catalog.oregonstate.edu/courses/mth/)
- [Mechanical Engineering (ME)](https://catalog.oregonstate.edu/courses/me/)
- [Mechanical, Industrial and Manufacturing Engineering (MIME)](https://catalog.oregonstate.edu/courses/mime/)
- [Microbiology (MB)](https://catalog.oregonstate.edu/courses/mb/)
- [Military Science (MS)](https://catalog.oregonstate.edu/courses/ms/)
- [Music (MUS)](https://catalog.oregonstate.edu/courses/mus/)
- [Music (Studio) (MUP)](https://catalog.oregonstate.edu/courses/mup/)
- [Music Education (MUED)](https://catalog.oregonstate.edu/courses/mued/)
- [Natural Resources (NR)](https://catalog.oregonstate.edu/courses/nr/)
- [Naval Science (NS)](https://catalog.oregonstate.edu/courses/ns/)
- [New Media Communications (NMC)](https://catalog.oregonstate.edu/courses/nmc/)
- [Nuclear Science &ā Engineering (NSE)](https://catalog.oregonstate.edu/courses/nse/)
- [Nursing (NUR)](https://catalog.oregonstate.edu/courses/nur/)
- [Nutrition (NUTR)](https://catalog.oregonstate.edu/courses/nutr/)
- [Ocean, Earth &ā Atmospheric Sciences (OEAS)](https://catalog.oregonstate.edu/courses/oeas/)
- [Oceanography (OC)](https://catalog.oregonstate.edu/courses/oc/)
- [Outdoor Products (OP)](https://catalog.oregonstate.edu/courses/op/)
- [Peace Studies (PAX)](https://catalog.oregonstate.edu/courses/pax/)
- [Pharmacy (PHAR)](https://catalog.oregonstate.edu/courses/phar/)
- [Philosophy (PHL)](https://catalog.oregonstate.edu/courses/phl/)
- [Physical Activity Courses (PAC)](https://catalog.oregonstate.edu/courses/pac/)
- [Physical Therapy/āTherapist (PT)](https://catalog.oregonstate.edu/courses/pt/)
- [Physics (PH)](https://catalog.oregonstate.edu/courses/ph/)
- [Plant Breeding &ā Genetics (PBG)](https://catalog.oregonstate.edu/courses/pbg/)
- [Political Science (PS)](https://catalog.oregonstate.edu/courses/ps/)
- [Psychology (PSY)](https://catalog.oregonstate.edu/courses/psy/)
- [Public Health (H)](https://catalog.oregonstate.edu/courses/h/)
- [Public Policy (PPOL)](https://catalog.oregonstate.edu/courses/ppol/)
- [Queer Studies (QS)](https://catalog.oregonstate.edu/courses/qs/)
- [Rangeland Ecology &ā Management (RNG)](https://catalog.oregonstate.edu/courses/rng/)
- [Religious Studies (REL)](https://catalog.oregonstate.edu/courses/rel/)
- [Robotics (ROB)](https://catalog.oregonstate.edu/courses/rob/)
- [Science &ā Mathematics Education (SED)](https://catalog.oregonstate.edu/courses/sed/)
- [Science (SCI)](https://catalog.oregonstate.edu/courses/sci/)
- [Science of Engineering (ESC)](https://catalog.oregonstate.edu/courses/esc/)
- [Social Science (SSCI)](https://catalog.oregonstate.edu/courses/ssci/)
- [Social Work (SW)](https://catalog.oregonstate.edu/courses/sw/)
- [Sociology (SOC)](https://catalog.oregonstate.edu/courses/soc/)
- [Software Engineering (SE)](https://catalog.oregonstate.edu/courses/se/)
- [Soil Science (SOIL)](https://catalog.oregonstate.edu/courses/soil/)
- [Spanish (SPAN)](https://catalog.oregonstate.edu/courses/span/)
- [Sports Business (SB)](https://catalog.oregonstate.edu/courses/sb/)
- [Statistics (ST)](https://catalog.oregonstate.edu/courses/st/)
- [Supply Chain and Logistics Management (SCLM)](https://catalog.oregonstate.edu/courses/sclm/)
- [Sustainability (SUS)](https://catalog.oregonstate.edu/courses/sus/)
- [Sustainable Natural Resources (SNR)](https://catalog.oregonstate.edu/courses/snr/)
- [Theatre Arts (TA)](https://catalog.oregonstate.edu/courses/ta/)
- [Tourism, Recreation &ā Adventure Leadership (TRAL)](https://catalog.oregonstate.edu/courses/tral/)
- [Toxicology (TOX)](https://catalog.oregonstate.edu/courses/tox/)
- [Transitions (CORE)](https://catalog.oregonstate.edu/courses/core/)
- [University Experience (UEXP)](https://catalog.oregonstate.edu/courses/uexp/)
- [Veterinary Medicine Biomedical (VMB)](https://catalog.oregonstate.edu/courses/vmb/)
- [Veterinary Medicine Clinical (VMC)](https://catalog.oregonstate.edu/courses/vmc/)
- [Water Resources Engineering (WRE)](https://catalog.oregonstate.edu/courses/wre/)
- [Water Resources Policy and Management (WRP)](https://catalog.oregonstate.edu/courses/wrp/)
- [Water Resources Science (WRS)](https://catalog.oregonstate.edu/courses/wrs/)
- [Women, Gender &ā Sexuality Studies (WGSS)](https://catalog.oregonstate.edu/courses/wgss/)
- [Wood Science and Engineering (WSE)](https://catalog.oregonstate.edu/courses/wse/)
- [World Languages and Cultures (WLC)](https://catalog.oregonstate.edu/courses/wlc/)
- [Written English (WR)](https://catalog.oregonstate.edu/courses/wr/)
- [Zoology (Z)](https://catalog.oregonstate.edu/courses/z/)
- [Course Subject Area Contacts](https://catalog.oregonstate.edu/subject-contacts/)
- [Ecampus](https://catalog.oregonstate.edu/ecampus/)
- [Faculty A-āZ](https://catalog.oregonstate.edu/faculty/)
- [Financial Aid &ā Scholarships](https://catalog.oregonstate.edu/financial-aid-scholarships/)
- [Glossary &ā Catalog Definitions](https://catalog.oregonstate.edu/glossary-catalog-definitions/)
- [Grades, Regulations &ā Records](https://catalog.oregonstate.edu/grades-regulations-records/)
- [INTO OSU](https://catalog.oregonstate.edu/into-osu/)
- [Museums, Galleries &ā Collections](https://catalog.oregonstate.edu/museums-galleries-collections/)
- [OSU Office of Global Opportunities (OSU GO)](https://catalog.oregonstate.edu/osu-go/)
- [Programs](https://catalog.oregonstate.edu/programs/)
- [Research](https://catalog.oregonstate.edu/research/)
- [Schedule of Classes](https://catalog.oregonstate.edu/course-search/)
- [Student Support Services](https://catalog.oregonstate.edu/student-support-services/)
- [Tuition, Fees &ā Payment](https://catalog.oregonstate.edu/tuition-fees-payment/)
## Published by the Office of the Registrar
Oregon State University
B102 Kerr Administration Building
Corvallis, OR 97331-2130
Phone: 541-737-4331
Email: [catalog@oregonstate.edu](mailto:catalog@oregonstate.edu)
[Copyright](http://oregonstate.edu/copyright) Ā© 2025-2026
Oregon State University
[Disclaimer](http://oregonstate.edu/official-web-disclaimer)
[Back to Top](https://catalog.oregonstate.edu/courses/cs/#header)
## Print Options
[Send Page to Printer](https://catalog.oregonstate.edu/courses/cs/)
*Print this page.*
[Download Page (PDF)](https://catalog.oregonstate.edu/courses/cs/cs.pdf)
*The PDF will include all information unique to this page.*
[Download PDF of the entire Bulletin](https://catalog.oregonstate.edu/pdf/2025-2026.pdf)
*All pages in Academic Catalog.*
[Cancel](https://catalog.oregonstate.edu/courses/cs/) |
| Readable Markdown | ## **CS 101, COMPUTERS: APPLICATIONS AND IMPLICATIONS, 4 Credits**
The varieties of computer hardware and software. The effects, positive and negative, of computers on human lives. Ethical implications of information technology. Hands-on experience with a variety of computer applications.
*Available via Ecampus*
## **CS 161, INTRODUCTION TO COMPUTER SCIENCE I, 4 Credits**
Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering, and object-oriented programming. Includes algorithm design and program development.
*Available via Ecampus*
## **CS 162, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits**
Provides an overview of the fundamental concepts of computer science. Studies basic computer programming techniques and application of software engineering principles.
*Available via Ecampus*
## **CS 162H, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits**
Provides an overview of the fundamental concepts of computer science. Studies basic computer programming techniques and application of software engineering principles.
*Available via Ecampus*
## **CS 175, \*COMMUNICATIONS SECURITY AND SOCIAL MOVEMENTS, 3 Credits**
Equipping students with the theory and practice of communications security, this course explores how social movements can remain effective in the context of mass surveillance and state repression.
*Available via Ecampus*
## **CS 201, COMPUTER PROGRAMMING FOR NON-CS MAJORS, 3 Credits**
Covers a variety of fundamental topics in computer programming relevant to anyone who wants to write or work with computer code in their work or studies. Teaches basic computational thinking and programming skills which will allow students to solve a variety of real-world problems. In addition, students will learn more advanced topics such as how some basic algorithms work and can be written in computer code.
*Available via Ecampus*
## **CS 225, DISCRETE STRUCTURES IN COMPUTER SCIENCE, 4 Credits**
An introduction to the discrete mathematics of computer science, including logic, set and set operations, methods of proof, recursive definitions, combinatorics, and graph theory.
*Available via Ecampus*
## **CS 261, DATA STRUCTURES, 4 Credits**
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures.
*Available via Ecampus*
## **CS 261H, DATA STRUCTURES, 4 Credits**
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures.
## **CS 271, COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE, 4 Credits**
Introduces functional organization and operation of digital computers. Coverage of assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, macros, modularization, linkers, and debuggers.
*Available via Ecampus*
## **CS 274, INTRODUCTION TO SYSTEMS PROGRAMMING, 4 Credits**
Explores systems-level programming using compiled languages such as C and C++. Explores terminals, shells, C and C++ syntax, pointers, memory models, and more. Learn to design and implement C and C++ programs, navigate language build pipelines, use terminals and shells, solve problems with different memory models, and manage dynamic memory. Gains practical skills for real-world coding challenges.
*Available via Ecampus*
## **CS 290, WEB DEVELOPMENT, 4 Credits**
How to design and implement a multi-tier application using web technologies: Creation of extensive custom client- and server-side code, consistent with achieving a high-quality software architecture.
*Available via Ecampus*
## **CS 312, SYSTEM ADMINISTRATION, 4 Credits**
Introduction to system administration. Network administration and routing. Security issues. Computer, server, and network hardware.
## **CS 321, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits**
Survey of models of computation including finite automata, formal grammars, and Turing machines.
*Available via Ecampus*
## **CS 321H, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits**
Survey of models of computation including finite automata, formal grammars, and Turing machines.
## **CS 325, ANALYSIS OF ALGORITHMS, 4 Credits**
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
*Available via Ecampus*
## **CS 325H, ANALYSIS OF ALGORITHMS, 4 Credits**
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
## **CS 331, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits**
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
## **CS 331H, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits**
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
## **CS 332, INTRO TO APPLIED DATA SCIENCE WITH PROGRAMMING, 4 Credits**
Explores the data science life cycle using appropriate Python libraries. Topics include current data science areas, data gathering, cleaning, formatting, and types, an introduction to supervised (decision trees) and unsupervised (clustering) learning, exploratory data analysis, data communication, decision science methodologies, storytelling, and narratives in data science.
*Available via Ecampus*
## **CS 340, INTRODUCTION TO DATABASES, 4 Credits**
Design and implementation of relational databases, including data modeling with ER or UML, diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration.
*Available via Ecampus*
## **CS 352, INTRODUCTION TO USABILITY ENGINEERING, 4 Credits**
Explores basic principles of usability engineering methods for the design and evaluation of software systems. Includes the study of human-machine interactions, user interface characteristics and design strategies, software evaluation methods, and related guidelines and standards.
*Available via Ecampus*
## **CS 361, SOFTWARE ENGINEERING I, 4 Credits**
Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management.
*Available via Ecampus*
## **CS 362, SOFTWARE ENGINEERING II, 4 Credits**
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
*Available via Ecampus*
## **CS 362H, SOFTWARE ENGINEERING II, 4 Credits**
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
*Available via Ecampus*
## **CS 370, INTRODUCTION TO SECURITY, 4 Credits**
Introductory course on computer security with the objective to introduce concepts and principles of computer systems security. Notions of security, basic crytographic primitives and their application, basics of authentication and access control, basics of key-management, basics of malware and software security.
*Available via Ecampus*
## **CS 372, INTRODUCTION TO COMPUTER NETWORKS, 4 Credits**
Computer network principles, fundamental networking concepts, packet-switching and circuit switching, TCP/IP protocol layers, reliable data transfer, congestion control, flow control, packet forwarding and routing, MAC addressing, multiple access techniques. CROSSLISTED as [CS 372](https://catalog.oregonstate.edu/search/?P=CS%20372 "CSĀ 372")/[ECE 372](https://catalog.oregonstate.edu/search/?P=ECE%20372 "ECEĀ 372").
*Available via Ecampus*
## **CS 373, DEFENSE AGAINST THE DARK ARTS, 4 Credits**
Introduction to the current state of the art in anti-malware, computer forensics, and networking, messaging, and web security. Broad introduction to the field of computer security.
*Available via Ecampus*
## **CS 374, OPERATING SYSTEMS I, 4 Credits**
Introduction to operating systems using UNIX as the case study. Emphasizes system calls and utilities, fundamentals of processes, and interprocess communication.
*Available via Ecampus*
## **CS 381, PROGRAMMING LANGUAGE FUNDAMENTALS, 4 Credits**
An introduction to the concepts found in a variety of programming languages. Programming languages as tools for problem solving. A brief introduction to languages from a number of different paradigms.
*Available via Ecampus*
## **CS 391, \*SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits**
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society.
*Available via Ecampus*
## **CS 391H, \*SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits**
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society.
## **CS 399, SPECIAL TOPICS, 0-4 Credits**
*Available via Ecampus*
## **CS 401, RESEARCH, 1-16 Credits**
*Available via Ecampus*
## **CS 403, THESIS, 1-16 Credits**
*Available via Ecampus*
## **CS 406, PROJECTS, 1-16 Credits**
*Available via Ecampus*
## **CS 420, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits**
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
## **CS 424, CYBERSECURITY PRACTICUM I, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
## **CS 425, CYBERSECURITY PRACTICUM II, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
## **CS 426, +CYBERSECURITY PRACTICUM III, 4 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
## **CS 427, CRYPTOGRAPHY, 4 Credits**
Introduction to the theory and practice of modern cryptography. Fundamental primitives including pseudorandom generators, block ciphers, hash functions. Symmetric-key cryptography for privacy and authenticity. Public-key cryptography based on number-theoretic problems.
*Available via Ecampus*
## **CS 428, ^CYBERSECURITY CAPSTONE PROJECT, 3 Credits**
Utilize foundational knowledge of cybersecurity to complete a cybersecurity operations project. Develops skills for project development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
## **CS 432, INTRODUCTION TO APPLIED MACHINE LEARNING, 4 Credits**
Explores and applies machine learning models and methods including unsupervised learning and supervised learning. Focuses on gathering, cleaning, and preparing data for various analyses. Distinguishes between unsupervised methods including clustering, and dimensionality reduction and supervised modeling methods including Decision Trees, Random Forest, Naive Bayes, Support Vector Machines, and Regression). Covers Training and Testing, Confusion Matrices, x-fold cross validation, visualization options, decision science, ethical considerations, and data communication. Uses Python, Sklearn, and related Python packages/libraries.
*Available via Ecampus*
## **CS 434, MACHINE LEARNING AND DATA MINING, 4 Credits**
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
## **CS 434H, MACHINE LEARNING AND DATA MINING, 4 Credits**
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
## **CS 435, APPLIED DEEP LEARNING, 4 Credits**
Explores and applies several neural network architectures, including fully-connected, convolutional, and sequence model based network structures. Topics including gradient descent and optimization, feed forward and back propagation methods, loss functions, activation functions, training, testing, and validation of the networks, as well as other types of advanced networks. Applications including areas such as text sentiment analysis, image classification, and language translation.
*Available via Ecampus*
## **CS 440, DATABASE MANAGEMENT SYSTEMS, 4 Credits**
Relational database design, normalization, file structures, disk storage, query processing and optimization, team development of database applications.
## **CS 446, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits**
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as [BDS 446](https://catalog.oregonstate.edu/search/?P=BDS%20446 "BDSĀ 446")/[CS 446](https://catalog.oregonstate.edu/search/?P=CS%20446 "CSĀ 446").
## **CS 450, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits**
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
*Available via Ecampus*
## **CS 453, SCIENTIFIC VISUALIZATION, 4 Credits**
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
## **CS 457, COMPUTER GRAPHICS SHADERS, 4 Credits**
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
*Available via Ecampus*
## **CS 458, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits**
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
## **CS 461, ^SENIOR SOFTWARE ENGINEERING PROJECT I, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
*Available via Ecampus*
## **CS 461H, ^SENIOR SOFTWARE ENGINEERING PROJECT I, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
## **CS 462, ^SENIOR SOFTWARE ENGINEERING PROJECT II, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
*Available via Ecampus*
## **CS 462H, ^SENIOR SOFTWARE ENGINEERING PROJECT II, 3 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
## **CS 463, +SENIOR SOFTWARE ENGINEERING PROJECT III, 2 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Work as a team to complete all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
*Available via Ecampus*
## **CS 463H, +SENIOR SOFTWARE ENGINEERING PROJECT III, 2 Credits**
Utilize software engineering methodology in a team environment to develop a real-world application. Work as a team to complete all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
## **CS 464, OPEN SOURCE SOFTWARE, 4 Credits**
Provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects. Provides opportunity to explore and make contributions to FOSS projects with some mentoring and guidance.
*Available via Ecampus*
## **CS 466, SOFTWARE START-UP I, 4 Credits**
Emphasizes real-world, hands-on learning in a high-tech web/mobile-based company environment. Covers research in the development of product ideas, hypotheses, and business models to create customer experiments. Conducts prototyping and statistical analysis to develop, optimize, and evaluate solutions. Includes rapid iteration/refactoring based on customer input, web analytics, and user engagement metrics.
## **CS 467, ONLINE CAPSTONE PROJECT, 4 Credits**
Real-world team-based experience with the software engineering design and delivery cycle, including requirements analysis and specification, design techniques, and requirements and final project written documentation.
*Available via Ecampus*
## **CS 468, INCLUSIVE DESIGN (HCI), 4 Credits**
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
## **CS 469, STRUCTURED PROJECT, 2 Credits**
Facilitates the completion of a working software product chosen and designed by the student. Introduces students to planning, reporting progress, and presenting results of software development work carried out as a structured project.
*Available via Ecampus*
## **CS 472, COMPUTER ARCHITECTURE, 4 Credits**
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as [CS 472](https://catalog.oregonstate.edu/search/?P=CS%20472 "CSĀ 472")/[ECE 472](https://catalog.oregonstate.edu/search/?P=ECE%20472 "ECEĀ 472").
*Available via Ecampus*
## **CS 473, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits**
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
*Available via Ecampus*
## **CS 474, OPERATING SYSTEMS II, 4 Credits**
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
*Available via Ecampus*
## **CS 475, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits**
Theoretical and practical survey of parallel programming, including a discussion of parallel architectures, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
*Available via Ecampus*
## **CS 476, ADVANCED COMPUTER NETWORKING, 4 Credits**
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as [CS 476](https://catalog.oregonstate.edu/search/?P=CS%20476 "CSĀ 476")/[ECE 476](https://catalog.oregonstate.edu/search/?P=ECE%20476 "ECEĀ 476").
## **CS 478, NETWORK SECURITY, 4 Credits**
Basic concepts and techniques in network security, risks and vulnerabilities, applied cryptography and various network security protocols. Coverage of high-level concepts such as authentication, confidentiality, integrity, and availability applied to networking systems. Fundamental techniques including authentication protocols, group key establishment and management, trusted intermediaries, public key infrastructures, SSL/TLS, IPSec, firewalls and intrusion detection CROSSLISTED as [CS 478](https://catalog.oregonstate.edu/search/?P=CS%20478 "CSĀ 478")/[ECE 478](https://catalog.oregonstate.edu/search/?P=ECE%20478 "ECEĀ 478").
*Available via Ecampus*
## **CS 480, TRANSLATORS, 4 Credits**
Explores content on the subject of compilers; attribute grammars, syntax-directed translation, lex, yacc, LR(1) parsers, symbol tables, semantic analysis, and peep-hole optimization.
## **CS 491, COMPUTER SCIENCE SKILLS FOR SIMULATION AND GAME PROGRAMMING, 4 Credits**
Game and simulation development is very much a data and math-intensive activity. A certain number of actions must be produced, and producing them by hand is hard. This is a middleware CS course that fills in many of the missing pieces for those wanting to enter the simulation and game development worlds in a software tool-building capacity.
## **CS 492, MOBILE SOFTWARE DEVELOPMENT, 4 Credits**
Introduction to concepts and techniques for developing mobile applications. Become familiar with modern mobile structure, implementation, development tools, and workflow.
*Available via Ecampus*
## **CS 493, CLOUD APPLICATION DEVELOPMENT, 4 Credits**
Covers developing RESTful cloud services, an approach based on representational state transfer technology, an architectural style and approach to communications used in modern cloud services development.
*Available via Ecampus*
## **CS 494, ADVANCED WEB DEVELOPMENT, 4 Credits**
Explores advanced concepts and techniques for developing client-side web applications. Emphasizes modern application design using contemporary tools and technologies such as component-based UI frameworks.
## **CS 499, SPECIAL TOPICS, 0-16 Credits**
*Available via Ecampus*
## **CS 501, RESEARCH, 1-16 Credits**
*Available via Ecampus*
## **CS 503, COMPUTER SCIENCE MS THESIS, 1-16 Credits**
*Available via Ecampus*
## **CS 510, OCCUPATIONAL INTERNSHIP, 1-16 Credits**
*Available via Ecampus*
## **CS 511, PROGRAMMING AND DATA STRUCTURES, 4 Credits**
Focuses on computer programming, problem solving, data structures, object-oriented programming, sorting, asymptotic time complexity.
*Available via Ecampus*
## **CS 512, DATA SCIENCE TOOLS AND PROGRAMMING, 4 Credits**
Accessing and distributing data in the cloud; relational and non-relational databases; map reduction; cloud data processing; load balancing; types of data-stores used in the cloud.
*Available via Ecampus*
## **CS 513, APPLIED MACHINE LEARNING, 4 Credits**
Explores machine learning basics (variance and bias, underfitting and overfitting, etc). Reviews linear algebra and Numpy. Examines k-nearest neighbors, linear classification (perceptron and online learning), and linear and non-linear regression. Explores applications in housing price prediction (Kaggle contest) and text classification (sentiment analysis).
*Available via Ecampus*
## **CS 514, ALGORITHMS: DESIGN, ANALYSIS, AND IMPLEMENTATION, 4 Credits**
Explores sorting and selection algorithms including divide-and-conquer, quicksort/quick select, merge sort, binary search trees, memorization, heaps and heapsort, priority queues, hashing, hashed heaps; asymptotic complexity analysis including the Master equation, tree method, amortization; Dynamic Programming on sequences, graphs, trees, and intervals; Graph algorithms including breadth-first search, depth-first search, topological sort, shortest path, minimum spanning tree, network flow. NP-hard and NP-Complete problems.
*Available via Ecampus*
## **CS 515, ALGORITHMS AND DATA STRUCTURES, 4 Credits**
Greedy algorithms, divide and conquer, dynamic programming, network flow, data structures.
## **CS 517, THEORY OF COMPUTATION, 4 Credits**
Turing machines, decidability, NP-completeness, complexity classes, randomized computation, relativization, circuit complexity, interactive proof systems, lower bounds, cryptography.
## **CS 520, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits**
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
*Available via Ecampus*
## **CS 524, CYBERSECURITY PRACTICUM I, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
## **CS 525, CYBERSECURITY PRACTICUM II, 5 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
## **CS 526, CYBERSECURITY PRACTICUM III, 4 Credits**
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
## **CS 527, ERROR-CORRECTING CODES, 4 Credits**
Hamming codes, linear codes, cyclic codes, BCH and Reed-Solomon codes. Introduction to Galois fields. Encoding and decoding algorithms. Burst error correcting codes, asymmetric and unidirectional codes. Applications of codes for computer systems.
## **CS 529, SELECTED TOPICS IN THEORETICAL COMPUTER SCIENCE, 1-5 Credits**
*Available via Ecampus*
## **CS 540, DATABASE MANAGEMENT SYSTEMS, 4 Credits**
Purpose of database systems, levels of data representation. Entity-relationship model. Relational systems: data definition, data manipulation, query language (SQL), relational calculus and algebra, data dependencies and normal forms. DBTG network model. Query optimization, recovery, concurrency control.
*Available via Ecampus*
## **CS 546, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits**
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as [BDS 546](https://catalog.oregonstate.edu/search/?P=BDS%20546 "BDSĀ 546")/[CS 546](https://catalog.oregonstate.edu/search/?P=CS%20546 "CSĀ 546").
## **CS 550, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits**
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
*Available via Ecampus*
## **CS 551, COMPUTER GRAPHICS, 4 Credits**
3-D graphics hardware: Line and polygon scan conversion, modeling transformations, viewing transformations, matrix stacks, hierarchical models, perspective and orthographic projections, visible surface determination, illumination models, shading models, texture mapping, ray tracing.
## **CS 552, COMPUTER ANIMATION, 4 Credits**
Traditional animation concepts: production pipeline, keyframing implementation, interpolation, point-mass dynamics, spring-mass systems, rigid body dynamics, forward and inverse kinematics, human motion control, motion capture.
## **CS 553, SCIENTIFIC VISUALIZATION, 4 Credits**
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
## **CS 554, GEOMETRIC MODELING IN COMPUTER GRAPHICS, 4 Credits**
Advanced topics in computer graphics focusing on representation and processing of polygonal models and their application. Surface fundamentals; discrete differential geometry and topology; data structures for representing 3-D surfaces; surface subdivision and smoothing; mesh simplification and multi-resolution representation of 3-D surfaces; geometry compression; surface parameterization; geometry remeshing; topological simplification; implicit surfaces.
## **CS 557, COMPUTER GRAPHICS SHADERS, 4 Credits**
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
*Available via Ecampus*
## **CS 558, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits**
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
## **CS 560, DATA-DRIVEN SOFTWARE ENGINEERING, 4 Credits**
An overview of data-driven empirical research methods that can be used to understand the different aspects of software engineering.
## **CS 561, SOFTWARE ENGINEERING METHODS, 4 Credits**
Master software engineering methods and supporting tools in the context of agile processes. Teams will engage in all aspects of software development including design, testing, implementation, deployment and maintenance.
*Available via Ecampus*
## **CS 562, SOFTWARE PROJECT MANAGEMENT, 4 Credits**
Apply project management principles for software development projects. Provide practice for different software leadership roles during a simulated real-world hardware-software project. Apply software project management principles and industry best practices to manage the development of a term-long real-world project chosen and designed by the student. Topics include project planning, scope, work breakdowns, incremental development, scheduling and budgeting, risk management, change management, progress reporting, and final deliverables.
*Available via Ecampus*
## **CS 563, SOFTWARE MAINTENANCE AND EVOLUTION, 4 Credits**
Contribute to the cutting-edge of software engineering. Explore existing techniques and supporting tools, with a particular focus on maintenance and evolution. Identify opportunities to support software maintenance and evolution more effectively, by creating new knowledge and supporting systems through research and innovation.
## **CS 564, FIELD STUDIES IN SE AND HCI, 4 Credits**
Deals with the type of empirical study known as the "case" study. These are studies that collect data from natural software development situations as they really occur in the field, in which the researcher does not manipulate or "control" anything. The course is an end-to-end coverage of the process. Mainly focuses on case studies involving human software developers in the field. The student will conduct a field study as part of this course.
## **CS 565, HUMAN-COMPUTER INTERACTION, 4 Credits**
Basic principles of Human-Computer Interaction (HCI) for the design and evaluation of software systems. Includes research methods for studying human-machine interactions and user interfaces, design strategies, software evaluation methods, and related guidelines and standards.
*Available via Ecampus*
## **CS 567, LABORATORY STUDIES IN SE AND HCI, 4 Credits**
Empirical lab studies of software development. Covers how to go about designing, preparing for, running, analyzing, and writing-for-publication lab experiments of programming situations involving human subjects. This is an end-to-end coverage of the entire process, and will put students in a position to conduct lab studies of their own with human subjects.
## **CS 568, INCLUSIVE DESIGN (HCI), 4 Credits**
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
## **CS 570, HIGH PERFORMANCE COMPUTER ARCHITECTURE, 4 Credits**
Advanced concepts in computer architecture. Performance improvement employing advanced pipelining and multiple instruction scheduling techniques. Issues in memory hierarchy and management. CROSSLISTED as [CS 570](https://catalog.oregonstate.edu/search/?P=CS%20570 "CSĀ 570")/[ECE 570](https://catalog.oregonstate.edu/search/?P=ECE%20570 "ECEĀ 570").
## **CS 572, COMPUTER ARCHITECTURE, 4 Credits**
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as [CS 572](https://catalog.oregonstate.edu/search/?P=CS%20572 "CSĀ 572")/[ECE 572](https://catalog.oregonstate.edu/search/?P=ECE%20572 "ECEĀ 572").
*Available via Ecampus*
## **CS 573, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits**
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
*Available via Ecampus*
## **CS 574, OPERATING SYSTEMS II, 4 Credits**
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
## **CS 575, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits**
Theoretical and practical survey of parallel programming, including a discussion of parallel architecture, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
*Available via Ecampus*
## **CS 576, ADVANCED COMPUTER NETWORKING, 4 Credits**
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as [CS 576](https://catalog.oregonstate.edu/search/?P=CS%20576 "CSĀ 576")/[ECE 576](https://catalog.oregonstate.edu/search/?P=ECE%20576 "ECEĀ 576").
*Available via Ecampus*
## **CS 577, PRIVACY AND SURVEILLANCE, 4 Credits**
Explores the need for privacy and theories of surveillance. Examines the current state of privacy-enhancing technologies. Emphasizes the critical reading and discussion of technical literature on privacy-enhancing technologies.
## **CS 578, CYBER-SECURITY, 4 Credits**
A broad overview of the field of computer and network security. Essential cryptographic mechanisms such as symmetric and public-key cryptography (e.g., encryption, signatures), network security and authentication protocols (e.g., Kerberos, TLS, IPSec), system security (e.g., access control, firewalls), advanced topics (e.g., searchable encryption, cloud security, secure computation). CROSSLISTED as [CS 578](https://catalog.oregonstate.edu/search/?P=CS%20578 "CSĀ 578")/[ECE 578](https://catalog.oregonstate.edu/search/?P=ECE%20578 "ECEĀ 578").
## **CS 579, TOPICS IN COMPUTER ARCHITECTURE AND PARALLEL PROCESSING, 0-5 Credits**
*Available via Ecampus*
## **CS 581, PROGRAMMING LANGUAGES I, 4 Credits**
Introduces functional programming and programming language theory. Focuses on strongly typed functional programming, abstract syntax and grammars, interpreters, denotational and/or operational semantics, and lambda calculus.
*Available via Ecampus*
## **CS 582, PROGRAMMING LANGUAGES II, 4 Credits**
Essentials of programming language theory for understanding and conducting programming language research. Dependently typed programming in Agda, Coq, or Idris; operational semantics; type systems; unification and type inference.
## **CS 583, ADVANCED FUNCTIONAL PROGRAMMING, 4 Credits**
Advanced functional programming concepts and strategies, with a focus on techniques useful for the design and implementation of programming languages. Includes higher-order abstract syntax, functors and monads, generalized algebraic data types, functional data structures, and graph reduction.
## **CS 585, DOMAIN-SPECIFIC LANGUAGES, 4 Credits**
Introduction to the design and implementation of domain-specific languages (DSLs). Domain analysis; review and revision of language designs; binding constructs to support abstraction; definition of syntax and semantics of DSLs; prototype implementation of embedded DSL. |
| Shard | 42 (laksa) |
| Root Hash | 11642755910841785442 |
| Unparsed URL | edu,oregonstate!catalog,/courses/cs/ s443 |