OREGON STATE UNIVERSITY

You are here

Professional Computer Science B.S. Degree – Courses

Course descriptions and 3-minute video samples are provided below.  Catalog information including CRN codes (required for registration) are available at the Ecampus catalog web page.

CS 161 - Introduction to Computer Science I

Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering and object-oriented algorithm development and programming. Lec/lab. PREREQS: (MTH 112 or MTH 251 or MTH 251H) or Placement Test and for CS Double Degree students: BA/BS and (MTH 111 or MPT>=24 or MPAL>=061). Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 162 - Introduction to Computer Science II

Basic data structures. Computer programming techniques and application of software engineering principles. Introduction to analysis of programs. Lec/lab. PREREQS: (CS 161 and (MTH 231* or CS 225*) ) Detailed information for the current class is available on the College of Engineering classes webpage.

CS 165 - Accelerated Introduction to Computer Science (8 credits)

See descriptions above for Introduction to Computer Science I and II. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 225 - Discrete Structures

Formal approach to the logic of computer science, including set theory, methods of proof, discrete probability, sequences, recurrence relations, graph theory, and algorithm analysis. PREREQS: MTH 112 and for CS Double Degree students: BA/BS and (MTH 111 or MPT>=24 or MPAL>=61) Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 261 - Data Structures

Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures. Lec/rec. CROSSLISTED as EECS 261. PREREQS: (CS 162 or CS 165 or EECS 162) and (CS 225 or MTH 231) Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 271 - Computer Architecture and Assembly Language

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 or CS 161 or CS 165 or ECE 151) Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 290 - Web Development

Techniques and tools for designing developing, publishing, and maintaining dynamic websites on the World Wide Web. Hypertext/HTML, scripting, media integration, emerging web technologies. Web security and issues raised by Internet publishing. PREREQS: CS 101 or equivalent. Computer literacy required. Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 340 - Introduction to Databases

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 162 or CS 165 or ECE 152) Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 344 - Operating Systems I

Introduction to operating systems using UNIX as the case study. System calls and utilities, fundamentals of processes and interprocess communication. PREREQS: (CS 261 and (CS 271 or ECE 271) ) and experience programming in the C language. Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 325 - Analysis of Algorithms

Recurrence relations, combinatorics, recursive algorithms, proofs of correctness. PREREQS: (CS 261 and (MTH 232 or CS 225) ) Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 352 - Introduction to Usability Engineering

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 or CS 161 or CS 165 or CS 295 or ECE 151) Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS361 - Software Engineering I

Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management. (Writing Intensive Course) Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 362 - Software Engineering II

Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance. PREREQS: CS 261 and Experience with object-oriented programming and data structures (e.g. CS 161, CS 162, CS 261). CS 361 is recommended but not required. Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 372 - Introduction to Computer Networks

Introduction to wired/wireless network principles, organization, topologies, hardware, applications, and protocols in the OSI hierarchy context. Configuration and implementation of local area networks and intranets. Internet protocols, packet forwarding, and routing. Lec/lab. CROSSLISTED as ECE 372. PREREQS: (CS 261 and (ECE 271 or CS 271) ) and C programming and Unix familiarity. Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.

CS 419 - Software Projects

A group software project class in which a single term-long project is completed.

CS 496 - Mobile and Cloud Software Development

Introduction to the concepts and techniques for developing mobile and cloud applications. PREREQS: CS 311 and students need a working knowledge of at least one operating system in order to be successful in developing mobile and cloud software. Video of sample lecture. Detailed information for the current class is available on the College of Engineering classes webpage.