Find SomeoneCampus MapsOSU Site Map

General Catalog & Schedule of Classes

Oregon State University
OSU HomeProspective StudentsCurrent StudentsFaculty & StaffAlumni & FriendsVisitors
  Quick-Jump:    
What is Quick-Jump?
Catalog HomeCatlog IndexCatalog SearchCatalog ArchiveCatalog Help


CS Undergraduate Courses, Corvallis Campus

Choose a different subject and/or campus

Legend Legend
Calendar icon, course will be offered.
- Signifies that the course is offered in current or future terms.
Graduation cap, course is a Baccalaureate Core Course.
- Signifies the course as a Baccalaureate Core Course.
Graduation cap with a pen, course is a WIC Core Course.
- Signifies the course as a WIC Core Course.
Dollar sign icon, course has fees that apply.
- Signifies that fees may apply to the course.
+
- Include restriction.
-
- Exclude restriction.
*
- Prereq may be taken prior to or simultaneously with this course.

Top CS 101 COMPUTERS: APPLICATIONS AND IMPLICATIONS (4)  Offered in current or future terms
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. Lec/lab.

Top CS 151 INTRODUCTION TO PROGRAMMING I WITH EMBEDDED CONTROL LAB (4) 
Thorough treatment of the basic elements of C, bitwise operations, flow of control, input/output, functions, arrays, strings, and structures. Lec/lab. CROSSLISTED as ECE 151. PREREQS: (MTH 111 [C] or MTH 112 [C] or (MTH 251 [C] or MTH 251H [C] ) ) or Placement Test MPT(23)

Top CS 160 COMPUTER SCIENCE ORIENTATION (3)  Offered in current or future terms
Introduction to the computer science field and profession. Team problem solving. Introduction to writing computer programs. Lec/lab. PREREQS: Wireless laptop required.

Top CS 160H COMPUTER SCIENCE ORIENTATION (3)  Offered in current or future terms
Introduction to the computer science field and profession. Team problem solving. Introduction to writing computer programs. Lec/lab. PREREQS: Wireless laptop required. Honors College approval required.

Top CS 161 INTRODUCTION TO COMPUTER SCIENCE I (4)  Offered in current or future terms
Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering, and object-oriented programming. Includes algorithm design and program development. Lec/lab/rec. PREREQS: MTH 112* [C] or Placement Test MPT(33) or Placement Test MPAL(061) and for CS Double Degree students: BA/BS and (MTH 111 or MPT>=24 or MPAL>=061)

Top CS 162 INTRODUCTION TO COMPUTER SCIENCE II (4)  Offered in current or future terms
Basic data structures. Computer programming techniques and application of software engineering principles. Introduction to analysis of programs. Lec/lab/rec. PREREQS: CS 161 [C] or EECS 161 [C]

Top CS 165 ACCELERATED INTRODUCTION TO COMPUTER SCIENCE (8) 
Overview of the fundamental concepts of computer science. Introduction to problem solving, algorithm development, data types, and basic data structures. Introduction to analysis of algorithms and principles of software engineering. System development and computer programming using procedural/object-oriented paradigms. Offered via Ecampus only. PREREQS: MTH 111 [C] or Placement Test MPAL(060) and CS Double Degree students must have a BA/BS degree.

Top CS 175 COMMUNICATIONS SECURITY AND SOCIAL MOVEMENTS (3)  Offered in current or future terms Baccalaureate Core Course
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. Lec/rec. (Bacc Core Course) PREREQS: Wireless laptop required.

Top CS 195 WEBSITE DESIGN (4)  Offered in current or future terms
How to design and publish a static website using an existing publishing platform: Techniques and tools for designing and publishing on the World Wide Web; hypertext and HTMTL; site and page design; media integration; issues raised by Internet publishing.

Top CS 199 SPECIAL TOPICS/COMPUTER SCIENCE (1-16) 
This course is repeatable for a maximum of 16 credits.

Top CS 201 COMPUTER PROGRAMMING FOR NON-CS MAJORS (3)  Offered in current or future terms
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. PREREQS: This course may not be used to count towards the CS major or minor.

Top CS 261 DATA STRUCTURES (4)  Offered in current or future terms
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures. Lec/rec. PREREQS: (CS 162 [C] or CS 165 [C] ) and (CS 225 [C] or MTH 231 [C] )

Top CS 262 PROGRAMMING PROJECTS IN C++ (4) 
Learning a second computer programming language. Elements of C++. Object-oriented programming. Experience team work on a large programming project. PREREQS: CS 261 [C]

Top CS 271 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE (4)  Offered in current or future terms
Introduction to functional organization and operation of digital computers. Coverage of assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, macros, modularization, linkers and debuggers. PREREQS: (CS 151 [C] or CS 161 [C] or CS 165 [C] or ECE 151 [C] )

Top CS 290 WEB DEVELOPMENT (4)  Offered in current or future terms
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. PREREQS: CS 162 [C] or CS 165 [C]

Top CS 295 WEBSITE MANAGEMENT (4)  Offered in current or future terms
How to create and promote a dynamic website using existing frameworks/libraries: Designing, developing, publishing, maintaining, and marketing dynamic websites; web security and privacy issues; emerging web technologies; running a website marketing campaign. PREREQS: CS 195 [C] and /or equivalent (i.e., basic HTML and CSS)

Top CS 312 LINUX SYSTEM ADMINISTRATION (4)  Offered in current or future terms
Introduction to LINUX system administration. Network administration and routing. Internet services. Security issues. PREREQS: CS 344 [C] or CS 311 [C] and /or instructor approval.

Top CS 321 INTRODUCTION TO THEORY OF COMPUTATION (3)  Offered in current or future terms
Survey of models of computation including finite automata, formal grammars, and Turing machines. PREREQS: CS 261 [C] and (CS 225 [C] or MTH 231 [C] )

Top CS 321H INTRODUCTION TO THEORY OF COMPUTATION (3)  Offered in current or future terms
Survey of models of computation including finite automata, formal grammars, and Turing machines. PREREQS: CS 261 [C] and (CS 225 [C] or MTH 231 [C] ) and Honors College approval required.

Top CS 325 ANALYSIS OF ALGORITHMS (4)  Offered in current or future terms
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness. PREREQS: CS 261 [C] and (CS 225 [C] or MTH 231 [C] )

Top CS 325H ANALYSIS OF ALGORITHMS (4)  Offered in current or future terms
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness. PREREQS: CS 261 [C] and (CS 225 [C] or MTH 231 [C] ) and Honors College approval required.

Top CS 331 INTRODUCTION TO ARTIFICIAL INTELLIGENCE (4)  Offered in current or future terms
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. PREREQS: (CS 325 [C] or CS 325H [C] )

Top CS 340 INTRODUCTION TO DATABASES (4)  Offered in current or future terms
Design and implementation of relational databases, including data modeling with ER or UML, diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration. PREREQS: CS 290 [C]

Top CS 344 OPERATING SYSTEMS I (4)  Offered in current or future terms
Introduction to operating systems using UNIX as the case study. System calls and utilities, fundamentals of processes and interprocess communication. PREREQS: CS 261 [C] and (CS 271 [C] or ECE 271 [C] ) and experience programming in the C language.

Top CS 352 INTRODUCTION TO USABILITY ENGINEERING (4)  Offered in current or future terms
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. PREREQS: (CS 151 [C] or CS 161 [C] or CS 165 [C] or CS 295 [C] or ECE 151 [C] )

Top CS 361 SOFTWARE ENGINEERING I (4)  Offered in current or future terms
Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management. PREREQS: CS 261 [C]

Top CS 362 SOFTWARE ENGINEERING II (4)  Offered in current or future terms
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance. PREREQS: CS 261 [C] and Experience with object-oriented programming and data structures (e.g., CS 161, CS 162, CS 261). CS 361 is recommended but not required.

Top CS 370 INTRODUCTION TO SECURITY (4)  Offered in current or future terms
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. PREREQS: CS 344* [C]

Top CS 372 INTRODUCTION TO COMPUTER NETWORKS (4)  Offered in current or future terms
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. Lec. CROSSLISTED as ECE 372. PREREQS: CS 261 [C] and (ECE 271 [C] or CS 271 [C] ) and C programming and Unix familiarity.

Top CS 373 DEFENSE AGAINST THE DARK ARTS (4)  Offered in current or future terms
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. PREREQS: CS 344 [C] and CS 340 [C] and CS 372 [C]

Top CS 381 PROGRAMMING LANGUAGE FUNDAMENTALS (4)  Offered in current or future terms
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. PREREQS: CS 261 [C] and (CS 225 [C] or MTH 231 [C] )

Top CS 391 SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE (3)  Offered in current or future terms Baccalaureate Core Course
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society. (Bacc Core Course) PREREQS: CS 101 or computer literacy.

Top CS 395 WEBSITE MULTIMEDIA (4) 
How to create and deploy interactive digital multimedia through static websites: Technological, aesthetic, and pedagogical issues of communication using interactive multimedia and hypermedia; techniques for authoring interactive multimedia projects using a variety of digital media roots. PREREQS: CS 195 [C] or (ART 120 [C] and (CS 162 [C] or CS 165 [C] ) )

Top CS 401 RESEARCH (1-16)  Offered in current or future terms
Graded P/N. This course is repeatable for a maximum of 16 credits. PREREQS: Departmental approval required.

Top CS 403 THESIS (1-16)  Offered in current or future terms
This course is repeatable for a maximum of 16 credits. PREREQS: Departmental approval required.

Top CS 405 READING AND CONFERENCE (1-16)  Offered in current or future terms
This course is repeatable for a maximum of 16 credits. PREREQS: Departmental approval required.

Top CS 406 PROJECTS (1-16)  Offered in current or future terms
This course is repeatable for a maximum of 16 credits. PREREQS: Departmental approval required.

Top CS 407 SEMINAR (1-16) 
Graded P/N. This course is repeatable for a maximum of 16 credits.

Top CS 407H SEMINAR (1-16) 
Graded P/N. This course is repeatable for a maximum of 16 credits. PREREQS: Honors College approval required.

Top CS 410 OCCUPATIONAL INTERNSHIP (1-16)  Offered in current or future terms
Graded P/N. This course is repeatable for a maximum of 16 credits. PREREQS: Departmental approval required.

Top CS 419 SELECTED TOPICS IN COMPUTER SCIENCE (0-5)  Offered in current or future terms
Topics of special and current interest not covered in other courses. This course is repeatable for a maximum of 99 credits. PREREQS: Varies by class offering, senior standing in computer science.

Top CS 419H SELECTED TOPICS IN COMPUTER SCIENCE (1-5) 
Topics of special and current interest not covered in other courses. This course is repeatable for a maximum of 99 credits. PREREQS: Varies by class offering, senior standing in computer science. Honors College approval required.

Top CS 420 GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE (3)  Offered in current or future terms
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. PREREQS: (CS 325 [C] or CS 325H [C] )

Top CS 427 CRYPTOGRAPHY (4)  Offered in current or future terms
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. PREREQS: CS 261 [C] or MTH 355 [C]

Top CS 434 MACHINE LEARNING AND DATA MINING (4)  Offered in current or future terms
Introduction to machine learning and data mining algorithms (supervised learning, unsupervised learning, and reinforcement learning) tools that are widely employed in industrial and research settings. PREREQS: (CS 325 [C] or CS 325H [C] )

Top CS 440 DATABASE MANAGEMENT SYSTEMS (4)  Offered in current or future terms
Relational database design, normalization, file structures, disk storage, query processing and optimization, team development of database applications. PREREQS: CS 261 [C] and (CS 275 [C] or CS 340 [C] )

Top CS 444 OPERATING SYSTEMS II (4)  Offered in current or future terms
Principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking. Lec/rec. PREREQS: (CS 311 [C] or CS 344 [C] ) and (CS 271 [C] or ECE 375 [C] )

Top CS 446 NETWORKS IN COMPUTATIONAL BIOLOGY (3)  Offered in current or future terms
An introduction to biological networks and computational methods for their analysis, inference, and functional modeling. Various network centralities, topological measures, clustering algorithms, and probabilistic annotation models are introduced in the context of protein interaction, gene regulatory, and metabolic networks. The course also surveys bioinformatics methods for data-driven inference of network structure. PREREQS: CS 261 [C] and CS 325* (recommended) or by instructor permission

Top CS 450 INTRODUCTION TO COMPUTER GRAPHICS (4)  Offered in current or future terms
2-D and 3-D graphics APIs. Modeling transformations. Viewing specification and transformations. Projections. Shading. Texture mapping. Traditional animation concepts. 3-D production pipeline. Keyframing and kinematics. Procedural animation. PREREQS: (CS 261 [C] and (MTH 306 [C] or MTH 306H [C] or MTH 341 [C] ) )

Top CS 453 SCIENTIFIC VISUALIZATION (4) 
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. PREREQS: Prior experience with Unix or Windows, programming experience.

Top CS 457 COMPUTER GRAPHICS SHADERS (4)  Offered in current or future terms
Theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Programming in both RenderMan and OpenGL shading languages. PREREQS: Previous graphics pipeline programming experience.

Top CS 458 INTRODUCTION TO INFORMATION VISUALIZATION (4)  Offered in current or future terms
Tools and techniques for designing, developing, and deploying interactive visualizations of abstract data sources. Discusses techniques based on principles from design, cognitive science, and perceptual psychology. Topics include 1D, 2D, 3D, multivariate representations, time-series, graphs and trees, text and documents, and interaction techniques. PREREQS: CS 361 [C] and junior standing or above.

Top CS 461 SENIOR SOFTWARE ENGINEERING PROJECT I (3)  Offered in current or future terms WIC Core Course
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. Three-term sequence required. This course fulfills the WIC requirement for computer science majors. (Writing Intensive Courses). PREREQS: CS 361 [C] and senior standing

Top CS 462 SENIOR SOFTWARE ENGINEERING PROJECT II (3)  Offered in current or future terms WIC Core Course
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. Three-term sequence required. (Writing Intensive Courses) PREREQS: (CS 362 [C] and CS 461 [C] ) and senior standing

Top CS 463 SENIOR SOFTWARE ENGINEERING PROJECT (2)  Offered in current or future terms
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. Three-term sequence required. PREREQS: CS 462 [C]

Top CS 464 OPEN SOURCE SOFTWARE (4) 
Provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects, and gives students an opportunity to explore and make contributions to FOSS projects with some mentoring and guidance. PREREQS: CS 261 [C] or CS 361 [C]

Top CS 468 INCLUSIVE DESIGN (HCI) (4) 
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. PREREQS: CS 352 [C] and /or CS 565 [C]

Top CS 472 COMPUTER ARCHITECTURE (4)  Offered in current or future terms
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. Lec/lab. CROSSLISTED as ECE 472/ECE 572. PREREQS: ECE 375 [C]

Top CS 475 INTRODUCTION TO PARALLEL PROGRAMMING (4)  Offered in current or future terms
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. PREREQS: (CS 325 [C] or CS 325H [C] )

Top CS 476 ADVANCED COMPUTER NETWORKING (4)  Offered in current or future terms
Advanced networking concepts: source/channel coding, queuing theory, router design, network architectures (Intserv, DiffServ, MPLS), multimedia protocols (TFRC, RTP), overlay networks, and wireless standards (Bluetooth 802.11b, 3/4G). CROSSLISTED as ECE 476/ECE 576. PREREQS: (CS 372 [C] or ECE 372 [C] ) and (ECE 353 [C] or ST 314 [C] or ST 314H [C] )

Top CS 478 NETWORK SECURITY (4)  Offered in current or future terms
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 ECE 478. PREREQS: (CS 372 [C] or ECE 372 [C] ) and recommended prerequisite: CS 370, Introduction to Security

Top CS 480 TRANSLATORS (4)  Offered in current or future terms
An introduction to compilers; attribute grammars, syntax-directed translation, lex, yacc, LR(1) parsers, symbol tables, semantic analysis, and peep-hole optimization. PREREQS: (CS 344 [C] or CS 311 [C] ) and CS 321 [C]

Top CS 491 COMPUTER SCIENCE SKILLS FOR SIMULATION AND GAME PROGRAMMING (4) 
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. PREREQS: CS 261 [C] and (CS 225 [C] or MTH 231 [C] ) and MTH 252 [C]

Top CS 492 MOBILE SOFTWARE DEVELOPMENT (4)  Offered in current or future terms
Introduction to concepts and techniques for developing mobile applications. Students will become familiar with modern mobile structure, implementation, development tools, and workflow. PREREQS: CS 311 [C] or CS 344 [C]

Top CS 493 CLOUD APPLICATION DEVELOPMENT (4)  Offered in current or future terms
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. PREREQS: CS 290 [C] and CS 340 [C] and CS 372 [C]

Top CS 495 INTERACTIVE MULTIMEDIA PROJECTS (4) 
Students apply principles and procedures of digital art, design, communication, and software authoring while working on large integrated media projects. PREREQS: CS 395

Top CS 496 MOBILE AND CLOUD SOFTWARE DEVELOPMENT (4) 
Introduction to the concepts and techniques for developing mobile and cloud applications. PREREQS: CS 344 [C] or CS 311 [C] and students need a working knowledge of at least one operating system in order to be successful in developing mobile and cloud software.

Top CS 499 SPECIAL TOPICS (1-16) 
This course is repeatable for a maximum of 16 credits.



 
Top You may return to this page by using any of the following Quick-Jump keywords:
CSundergrad
Catalog HomeCatlog IndexCatalog SearchCatalog ArchiveCatalog Help
OSU HomeProspective StudentsCurrent StudentsFaculty & StaffAlumni & FriendsVisitors
Find SomeoneCampus MapsOSU Site Map